[HTB] 靶机学习(十四)Puppy
字数 1632 2025-08-29 22:41:32

HTB靶机Puppy渗透测试教学文档

1. 初始信息收集

1.1 端口扫描

使用Nmap进行初始扫描:

nmap -sC -sV 10.10.11.70

1.2 服务枚举

  • 尝试使用evil-winrm登录失败
  • 枚举SMB共享目录,发现主机名为DC
  • 发现DEV目录但无访问权限

2. 域信息收集与分析

2.1 AS-REP Roasting攻击

尝试AS-REP roasting爆破,未找到突破点

2.2 BloodHound域分析

使用bloodhound-python收集域信息:

bloodhound-python -d puppy.htb -u <username> -p <password> -c All -ns 10.10.11.70

分析发现:

  • LEVI.JAMES用户对DEVELOPERS组有GenericWrite权限
  • DEVELOPERS组可能拥有DEV目录的访问权限

3. 权限提升

3.1 滥用GenericWrite权限

将当前用户添加到DEVELOPERS组:

# PowerShell命令添加用户到组
Add-ADGroupMember -Identity DEVELOPERS -Members <current_user>

3.2 访问DEV共享

成功获取DEV目录访问权限后,下载文件

4. KeePass密码破解

4.1 破解KeePass数据库

发现recovery.kdbx文件,使用KeePass4Brute工具破解:

python keepass4brute.py -f recovery.kdbx -w <wordlist>

成功获取密码:liverpool

4.2 提取凭证

使用KeePassXC打开数据库,获取以下凭证:

  • ant.edwards@puppy.htb:Antman2025!
  • 注意到adam.silver用户被禁用

5. 用户权限滥用

5.1 分析用户权限

  • ant.edwards属于SENIOR DEVS组
  • SENIOR DEVS组对adam.silver用户有GenericAll权限
  • adam.silver属于Remote Management Users组

5.2 启用并控制adam.silver用户

  1. 启用被禁用的adam.silver用户
  2. 修改用户所有者
  3. 尝试修改密码时遇到"密码最短修改周期"限制

5.3 绕过密码策略

使用脚本修改pwdLastSet时间戳:

python pwdlastsetChange.py

然后成功修改adam.silver用户的密码

6. 获取初始访问权限

6.1 使用evil-winrm登录

evil-winrm -i 10.10.11.70 -u adam.silver -p <new_password>

在桌面获取第一个flag:f92b167a96a599e4678cacc5faf8a2d4

7. DPAPI凭证提取

7.1 运行winPEAS收集信息

发现DPAPI主密钥和相关凭证

7.2 设置FTP传输

  1. 编辑vsftpd配置文件:
vim /etc/vsftpd.conf
  1. 通过FTP传输DPAPI相关文件

7.3 解密DPAPI凭证

  1. 解密masterkey
  2. 尝试解密桌面DPAPI文件和CREDHIST文件

注意:环境问题可能导致解密失败,可能需要重启环境

8. 最终提权

8.1 发现备份文件

在根目录找到backup文件夹,内含压缩包,解压后获取凭证

8.2 正确解密DPAPI

  1. 确认正确的SID目录:S-1-5-21-1487982659-1829050783-2281216199-1107
  2. 成功破解masterkey
  3. 获取具有system权限的用户凭证

8.3 获取管理员权限

使用获取的凭证登录,在Administrator桌面找到第二个flag:740f431b22d42c687aac3be56b9eaec5

9. 关键工具总结

  1. BloodHound:用于分析域内权限关系
  2. KeePass4Brute:破解KeePass数据库
  3. evil-winrm:Windows远程管理工具
  4. winPEAS:Windows权限提升评估脚本
  5. DPAPI解密工具:提取Windows保存的凭证

10. 技术要点总结

  1. 通过BloodHound发现GenericWrite权限滥用路径
  2. 利用组权限关系横向移动
  3. 绕过Active Directory密码策略限制
  4. DPAPI凭证提取技术
  5. 从备份文件中发现敏感信息

11. 防御建议

  1. 限制GenericWrite等敏感权限的分配
  2. 实施严格的密码策略并监控异常修改
  3. 保护KeePass等密码数据库文件
  4. 定期审计域内权限关系
  5. 妥善保管DPAPI相关密钥
  6. 避免在备份中包含明文凭证
HTB靶机Puppy渗透测试教学文档 1. 初始信息收集 1.1 端口扫描 使用Nmap进行初始扫描: 1.2 服务枚举 尝试使用evil-winrm登录失败 枚举SMB共享目录,发现主机名为DC 发现DEV目录但无访问权限 2. 域信息收集与分析 2.1 AS-REP Roasting攻击 尝试AS-REP roasting爆破,未找到突破点 2.2 BloodHound域分析 使用bloodhound-python收集域信息: 分析发现: LEVI.JAMES用户对DEVELOPERS组有GenericWrite权限 DEVELOPERS组可能拥有DEV目录的访问权限 3. 权限提升 3.1 滥用GenericWrite权限 将当前用户添加到DEVELOPERS组: 3.2 访问DEV共享 成功获取DEV目录访问权限后,下载文件 4. KeePass密码破解 4.1 破解KeePass数据库 发现recovery.kdbx文件,使用KeePass4Brute工具破解: 成功获取密码: liverpool 4.2 提取凭证 使用KeePassXC打开数据库,获取以下凭证: ant.edwards@puppy.htb:Antman2025 ! 注意到adam.silver用户被禁用 5. 用户权限滥用 5.1 分析用户权限 ant.edwards属于SENIOR DEVS组 SENIOR DEVS组对adam.silver用户有GenericAll权限 adam.silver属于Remote Management Users组 5.2 启用并控制adam.silver用户 启用被禁用的adam.silver用户 修改用户所有者 尝试修改密码时遇到"密码最短修改周期"限制 5.3 绕过密码策略 使用脚本修改pwdLastSet时间戳: 然后成功修改adam.silver用户的密码 6. 获取初始访问权限 6.1 使用evil-winrm登录 在桌面获取第一个flag: f92b167a96a599e4678cacc5faf8a2d4 7. DPAPI凭证提取 7.1 运行winPEAS收集信息 发现DPAPI主密钥和相关凭证 7.2 设置FTP传输 编辑vsftpd配置文件: 通过FTP传输DPAPI相关文件 7.3 解密DPAPI凭证 解密masterkey 尝试解密桌面DPAPI文件和CREDHIST文件 注意:环境问题可能导致解密失败,可能需要重启环境 8. 最终提权 8.1 发现备份文件 在根目录找到backup文件夹,内含压缩包,解压后获取凭证 8.2 正确解密DPAPI 确认正确的SID目录: S-1-5-21-1487982659-1829050783-2281216199-1107 成功破解masterkey 获取具有system权限的用户凭证 8.3 获取管理员权限 使用获取的凭证登录,在Administrator桌面找到第二个flag: 740f431b22d42c687aac3be56b9eaec5 9. 关键工具总结 BloodHound :用于分析域内权限关系 KeePass4Brute :破解KeePass数据库 evil-winrm :Windows远程管理工具 winPEAS :Windows权限提升评估脚本 DPAPI解密工具 :提取Windows保存的凭证 10. 技术要点总结 通过BloodHound发现GenericWrite权限滥用路径 利用组权限关系横向移动 绕过Active Directory密码策略限制 DPAPI凭证提取技术 从备份文件中发现敏感信息 11. 防御建议 限制GenericWrite等敏感权限的分配 实施严格的密码策略并监控异常修改 保护KeePass等密码数据库文件 定期审计域内权限关系 妥善保管DPAPI相关密钥 避免在备份中包含明文凭证