网站底部友情链接怎么做的,常德网站建设哪家快,自建网站多少钱,龙华在深圳算什么档次事件分析
最近国内外各安全厂商都发布了SMBGhost(CVE-2020-0796)漏洞的预警报告和分析报告#xff0c;笔者利用周末休息时间也研究了一下#xff0c;就算是做一个笔记了#xff0c;分享给大家一起学习下#xff0c;目前外面研究的POC大部分是通过SMB压缩数据包长度整数溢出…事件分析
最近国内外各安全厂商都发布了SMBGhost(CVE-2020-0796)漏洞的预警报告和分析报告笔者利用周末休息时间也研究了一下就算是做一个笔记了分享给大家一起学习下目前外面研究的POC大部分是通过SMB压缩数据包长度整数溢出之后导致系统Crash基本也没啥用估计现在各大厂商的漏洞研究人员和一些技术成熟的黑客组织都在加紧研究RCE完整利用程序吧这个漏洞能不能完整利用会不会像永恒之蓝那样还需要持续研究跟踪同时也需要关注后面会不会抓到一些利用这个漏洞的在野攻击样本。 漏洞简介
3月12日晚微软发布安全公告披露了一个最新的SMB远程代码执行漏洞(CVE-2020-0796)该漏洞主要是因为在最新的Windows 10系统中处理SMB3.1.1协议的压缩消息时对头部数据没有做任何安全检查从而引发内存破坏漏洞黑客利用此漏洞可无须任何权限的情况下即可实现远程内核代码执行。 漏洞成因
从Windows10 v1903/Windows Server v1903开始微软在协议SMB3.1.1中开启了对数据压缩传输的支持但是由于SMB没有正确处理压缩的数据包在客户端/服务端解压数据的时候没有对COMPRESSIN_TRANSFORM_HEADE结构进行安全校验导致后续代码发生一连串整形溢出、越界读写等漏洞。 影响版本
Windows10 Version 1903 for 32-bit Systems
Windows10 Version 1903 for x64-based Systems
Windows10 Version 1903 for ARM64-based Systems
Windows Server, Version 1903 (服务器核心安装)
Windows10 Version 1909 for 32-bit Systems
Windows10 Version 1909 for x64-based Systems
Windows10 Version 1909 for ARM64-based Systems
Windows Server, Version 1909 (服务器核心安装) 漏洞捕获
从事漏洞分析与研究的朋友都会时刻关注各大厂商公布的漏洞或补丁信息从公布的这些漏洞信息与补丁就可以定位到相应的模块进行分析调试此前微软发布了各个版本操作系统的CVE-2020-0796的补丁包如下所示 查看这个漏洞的细节信息包含漏洞简介如下所示 影响范围以及相应的补丁下载如下所示 缓解措施如下所示 漏洞分析
1.分析SMB漏洞需要对SMB漏洞的结构数据比较熟悉SMB数据结构可参考微软的官网里面有SMB的详细数据结构信息如下所示 下载文档之后查看文档目录中关于对SMB传输压缩数据包头的处理如下所示 可以找到COMPRESSION_TRANSFORM_HEADE数据结构如下所示 里面各个字段的含义如下所示 上面这些信息是分析这个漏洞的基础一定要弄清楚
2.漏洞的成因在于SMB在处理接收的压缩数据包时出现的错误先定位到接收压缩数据后处理函数srv2!Srv2ReceiveHandler通过上面的分析我们可以利用COMPRESSION_TRANSFORM_HEADE的结构体中的ProtocolId字段定位到相关的代码处如下所示 如果传输的数据为压缩数据则跳转到解压缩数据处理函数Srv2DecompressData如下所示 在Srv2DecompressData函数中使用SrvNetAllocateBuffer进行内存分配时未对传入的数据进行校验会导致整数溢出然后调用SmbCompressionDecompress函数进行数据解压操作如下所示 打过补丁之后微软修改了这个函数对传入的值进行三次校验如下所示 对比补丁前后的文件中对应的函数如下所示 漏洞检测
发送SMB数据包检测返回的流量数据包特征如下所示 构造SMB压缩数据包SMB数据包头数据如下所示 附加上数据压缩算法如下所示 检测返回的流量数据包中SMB压缩版本如下所示 以及数据包最后的数据如下所示 这种检测方法很弱可能会有误报目前各厂商的检测方案和工具都没有公布不然可以逆向分析看看。 防御方案
1.windows自动更新
设置-更新和安全-Windows更新点击“检查更新”如下所示 2.手动安装补丁包
查看自己的电脑Win10操作系统版本可以按WinR键然后键入WINVER命令如下所示 确定之后会弹出Win10操作系统版本我的版本为1809如下所示 如果操作系统版本为Windows 10 1903之后可以根据自己操作系统的版本安装微软提供的对应补丁包程序下载地址
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0796
3.可以手动修改注册表防止被黑客远程攻击
按WinR键然后键入WINVER命令打开注册表编辑器如下所示 HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters建立一个名为DisableCompression的DWORD值为1禁止SMB的压缩功能如下所示 普通用户只要用方法二去微软官网下载相应的补丁包安装补丁包就可以了
参考链接
1. https://github.com/ClarotyICS/CVE2020-0796
2.https://syntricks.com/cve-2020-0796-aka-smbghost-vulnerability/
3.https://www.synacktiv.com/posts/exploit/im-smbghost-daba-dee-daba-da.html
4.https://github.com/eerykitty/CVE-2020-0796-PoC
5.https://github.com/ioncodes/SMBGhost