nopac在MAQ=0时的利用

0x00 前言

最近还看到有人发关于CVE-2021-42278CVE-2021-42287的分析利用文章,也就是nopac这个漏洞,漏洞都补完了怎么含在说啊;对于利用来看这些文章都提及到了MAQ为0的情况,对于这个情况的利用也都介绍了但是不太全面。

所以干脆今天就来帮大家总结一下MAQ=0时的利用方式

0x01 原理

MAQ,MS-DS-Machine-Account-Quota,此属性为允许用户在域中创建的计算机帐户数。

image-20220304180732006

许多域内为了缓解一些委派、Relay攻击都将此属性设置为0,那么代表着攻击者没办法在没有已控制机器账户的情况下去申请票据了,所以可以缓解一下此类攻击。

0x02 利用****

得知是否限制了MAQ可以使用LDAP查询工具去查询ms-DSMachineAccountQuota这个属性即可

ldapsearch -x -h 10.0.1.1 -b "DC=test,DC=com" -D "CN=duck,CN=Users,DC=test,DC=com"
-W -s sub "(objectclass=domain)" | grep "ms-ds-machineaccountquota" -i

1. MAQ>0的情况

如果不是只傻狗应该直接打就可以了,具体打的命令操作等就不赘述了,参考之前的文章。

2. MAQ=0的情况

如果在限制了MAQ属性的情况下,攻击的核⼼就是需要对⼀个账⼾有写权限

2.2 Creater-SID

机器账户被拉入域的用户账户对这个机器账户有GenericAll的权限,意味着可以更改其属性;对应机器账户中的creater-sid这个属性的sid就为拉它入域的用户账户。

所以我们存在用户凭据的情况下可以查看是否有机器账户可以写的。

然后就可以利用当前账户去做攻击:

  1. 清除此机器账户的SPN
  2. 更改此机器账户密码
  3. 攻击过程
  4. 恢复密码
  5. 恢复此账户的SPN(重要)

更改密码就利用SAMR协议去更改即可。

2.3 用户组

还可以查一下对某些机器、或是用户有写权限的组:

Get-DomainObjectAcl duck -ResolveGUIDs | ?{$_.SecurityIdentifier -eq (Get-DomainUser dog).objectsid}

可能会有一些特殊的用户组,这样可以有针对性的寻找该用户继而修改对应的机器账户。

接着和上述流程一样。

2.4 加域账号

这里说的是MAQ限制情况下所存在的加域账户,有可能限制了MAQ,但是企业肯定要加机器到域⾥的,对应的组策略

privilege就是SeMachineAccountPrivilege

adfind -b CN=Computers,DC=test,DC=com -sddl+++ -s base -sdna -sddlfilter ;;"CR
CHILD";;;

找到这个⽤⼾的话,再⽤他来添加机器账⼾即可。

3.域外无凭据

在域外没有凭据的情况下,就是要搞⼀个机器账⼾或是用户账户先入域再说,可以配合webdav、rbcd等等思路拿到一个机器账户接着去按以上思路搜集信息,然后就是MAQ限制和不限制两种情况了。

0x03 总结

其实总的思路就是想办法找A对B有WriteProperty即可

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐