Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2020-0796-PoC — 通过CVE-2020-0796触发缓冲区溢出的PoC | Kitploit
工具/GitHubGitHub/eerykitty/cve-2020-0796-poc
漏洞分析漏洞利用渗透测试红队Payload 开发二进制利用
GitHubeerykitty/cve-2020-0796-poc

CVE-2020-0796-PoC

通过CVE-2020-0796触发缓冲区溢出的PoC

查看仓库
33212013年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2020-0796 PoC 又名 CoronaBlue 又名 SMBGhost

用法

./CVE-2020-0796.py servername

该脚本连接到目标主机,并在转换头中设置一个错误的偏移字段,压缩认证请求,导致解压器缓冲区溢出并使目标崩溃。

这是对优秀项目 smbprotocol 的修改,添加了对 SMB 3.1.1 压缩/解压(仅限 LZNT1)的支持。大部分新增代码在 smbprotocol/connection.py 中。包含了一个 lznt1 的版本,经过修改以支持 Python 3。

压缩转换头位于 SMB2CompressionTransformHeader 类中。函数 _compress 被调用来压缩树请求。这里将偏移字段设为最大值以触发崩溃。

root@kitploit:~
    def _compress(self, b_data, session):
        header = SMB2CompressionTransformHeader()
        header['original_size'] = len(b_data)
        header['offset'] = 4294967295
        header['data'] = smbprotocol.lznt1.compress(b_data)

关于

CVE-2020-0796 是 Windows 10 1903/1909 新 SMB3 压缩功能中的一个漏洞。SMB 协议版本 3.1.1 引入了客户端或服务器通告压缩能力并选择性地压缩 SMB3 消息以提高效率的能力。为此,在协商 SMB 会话时,客户端和服务器都必须包含 SMB2_COMPRESSION_CAPABILITIES,如 MS-SMB2 2.2.3.1.3 所述。

一旦通过此能力协商会话,客户端或服务器就可以选择性地压缩某些 SMB 消息。为此,整个 SMB 数据包被压缩,并在前面添加一个转换头,如 MS-SMB2 2.2.42 所述。该头是一个小型(16 字节)结构,包含一个魔数、未压缩数据大小、使用的压缩算法以及一个偏移值。

CVE-2020-0796 是由该偏移大小缺乏边界检查引起的,该偏移被直接传递给多个子程序。传入大值将导致缓冲区溢出,并使内核崩溃。通过进一步工作,这可以发展为 RCE 漏洞利用。

下载工具