TryHackMe-Steel Mountain

💡 原文中文,约10900字,阅读约需26分钟。
📝

内容提要

机器Steel Mountain的状态未知,系统为Windows。开放的端口有80、135、139、445、3389、8080、49152、49153、49154、49155、49156。80端口运行Microsoft IIS httpd 8.5,可能存在潜在危险的HTTP方法。3389端口运行Microsoft SChannel TLS,用于远程桌面连接。8080端口运行HttpFileServer 2.3,允许用户通过Web浏览器访问和管理文件。对80端口和8080端口进行了远程代码执行和服务提权的测试。发现了一个可写的路径,可以进行滥用。通过生成木马和替换服务二进制文件,成功获取了shell。

🔎

延伸解读

从扫描到利用:攻击链的典型性

文章展示了一条完整的渗透测试链:通过Nmap扫描发现开放端口和服务,识别出IIS 8.5、HttpFileServer 2.3等组件,进而利用HFS的远程代码执行漏洞获取初始shell,再通过PowerUp枚举发现未加引号的服务路径,最终替换服务二进制文件提权至系统权限。这一过程体现了从信息收集到漏洞利用再到权限提升的标准化流程,对学习Windows渗透测试具有参考价值。

未加引号服务路径:原理与风险

文章重点分析了AdvancedSystemCareService9服务的未加引号路径问题。当服务路径包含空格且未用引号包裹时,Windows会按顺序尝试执行可能被劫持的路径,如C:\Program Files (x86)\IObit\Advanced.exe。攻击者若能在这些路径写入恶意文件,即可随服务启动获得系统权限。该漏洞常被忽视,但利用条件相对简单,值得在安全配置中重点检查。

两种利用方式对比:MSF与非MSF

文章介绍了两种利用HFS漏洞的方法:一是使用Metasploit框架直接攻击,二是手动利用脚本下载nc.exe并反弹shell。前者自动化程度高,适合快速验证;后者更贴近真实攻击场景,有助于理解漏洞利用细节。两种方式最终都导向服务提权,但手动方式需要自行搭建Web服务、生成载荷,对动手能力要求更高,也更能锻炼实战技能。

防御视角:如何避免类似入侵

针对文中涉及的漏洞,防御措施包括:及时更新HttpFileServer等第三方软件,避免使用存在已知漏洞的版本;为服务路径添加引号,防止路径混淆;限制普通用户对系统目录的写权限,减少攻击面;定期使用PowerUp等工具进行安全审计,及时发现配置缺陷。此外,关闭不必要的端口和服务也能降低被攻击的风险。

❓

Q&A

Steel Mountain机器的操作系统是什么?

Steel Mountain机器的操作系统是Windows。

Steel Mountain机器开放了哪些端口?

Steel Mountain机器开放的端口包括80、135、139、445、3389、8080等。

80端口上运行的是什么服务?

80端口上运行的是Microsoft IIS httpd 8.5。

如何通过8080端口进行远程代码执行?

可以通过HttpFileServer 2.3在8080端口进行远程代码执行,上传恶意文件后获取shell。

什么是未加引号的服务路径?

未加引号的服务路径是指服务的路径中包含空格但没有用引号括起来,可能导致路径混淆。

如何利用AdvancedSystemCareService9进行权限提升?

可以通过替换AdvancedSystemCareService9的可执行文件来实现权限提升,利用未加引号的服务路径进行攻击。

🏷️

标签

➡️

继续阅读