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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2020-0796-Scanner — CVE-2020-0796 SMBv3.1.1 压缩功能漏洞扫描器 | Kitploit
工具/GitHubGitHub/xax007/cve-2020-0796-scanner
漏洞扫描器漏洞分析漏洞利用网络安全渗透测试
GitHubxax007/cve-2020-0796-scanner

CVE-2020-0796-Scanner

CVE-2020-0796 SMBv3.1.1 压缩功能漏洞扫描器

查看仓库
216年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

受ollypwn的SMBGhost脚本启发,我编写了自己的脚本并分享出来。

root@kitploit:~
import socket
import binascii
import sys

payload = binascii.unhexlify('000000c8fe534d42400000000000000000001f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000500010000007f0000000000000000000000000000000000000070000000030000000202100200030203110300000100260000000000010020000100000000000000000000000000000000000000000000000000000000000000000000000200060000000000020002000100000003000e000000000003000000000000000200030001000000'.encode())


#       值          含义
# NONE 0x0000         无压缩
# LZNT1 0x0001        LZNT1压缩算法
# LZ77 0x0002         LZ77压缩算法
# LZ77+Huffman 0x0003 LZ77+Huffman压缩算法

try:
    sock = socket.socket(socket.AF_INET)
    sock.settimeout(3)
    sock.connect(( sys.argv[1],  445 ))
    sock.send(payload)
    response = sock.recv(2020)
    sock.close()
    # 检测支持的SMB版本
    # 1103 -> 3.1.1
    if binascii.hexlify(response)[144:148].startswith('1103'): 
        print(sys.argv[1] + " 支持SMB协议版本3.1.1")
    # 参见上方值:含义注释
    if binascii.hexlify(response)[-36:].startswith('03'):
        if response[-2:] == b'\x01\x00':
            exit(sys.argv[1] + "\t存在漏洞!!!\t目标支持LZNT1压缩算法")
        if response[-2:] == b'\x02\x00':
            exit(sys.argv[1] + "\t存在漏洞!!!\t目标支持LZ77压缩算法")
        if response[-2:] == b'\x03\x00':
            exit(sys.argv[1] + "\t存在漏洞!!!\t目标支持LZ77+Huffman压缩算法")
except Exception as identifier:
    exit(sys.argv[1] + " " + str(identifier))

exit(sys.argv[1] + "[*] 无漏洞.")

上述代码做两件事:

  1. 发送带有支持的SMB版本和压缩算法的SMB协商请求
  2. 检查响应包,检测支持的SMB版本和压缩算法
下载工具