1.Metaspolit介绍

Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具,并保持着频繁更新。被安全社区冠以“可以黑掉整个宇宙”之名的强大渗透测试框架。

2.术语

  • 渗透攻击(Exploit):指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为。

  • 攻击载荷(Payload):是我们期望目标系统在被渗透攻击之后去执行的代码。

  • Shellcode:是在渗透攻击是作为攻击载荷运行的一组机器指令,通常用汇编语言编写。

  • 模块(Module):指Metasploit框架中所使用的一段软件代码组件,可用于发起渗透攻击或执行某些辅助攻击动作。

  • 监听器(Listener):是Metasploit中用来等待网络连接的组件。

3.Metasploit使用

永恒之蓝是2017年公布的一个网络攻击工具,它利用Windows系统的SMB漏洞获取系统的最高权限。微软也在同年发布了MS17-010补丁,修复了“永恒之蓝”攻击的系统漏洞。

在实验室的电脑上,通过使用nmap对主机进行扫描发现所有的电脑的445端口都是开启状态,并且实验室电脑中的防火墙都是关闭状态,由此猜测电脑可能存在永恒之蓝SMB漏洞。

为了不造成其他不良影响,此次实验在虚拟机中搭建环境进行复现。复现环境:Kali-Linux-2020.1Windows 7 Ultimate with sp1 x64

  1. 先在Kali中测试Windows主机是否能够正常访问

image-20200701200351460

  1. 执行mafconsole打开Metasploit

    image-20200701201212074

  2. 搜索关于ms17-010的可使用工具

    image-20200701201610039

    可以看到序号为1的工具为SMB漏洞的辅助扫描工具

  3. 使用扫描工具对目标主机进行扫描

1
msf5 > use auxiliary/scanner/smb/smb_ms17_010

切换到扫描工具后设置要扫描的主机地址并进行攻击扫描

image-20200701202033580

可以看到工具扫描出目标主机可能存在对应MS17-010补丁的漏洞

  1. 使用永恒之蓝攻击

切换到永恒之蓝工具

1
msf5 auxiliary(scanner/smb/smb_ms17_010) > use exploit/windows/smb/ms17_010_eternalblue 

设置目标主机地址后对目标主机进行渗透攻击

image-20200701202341306

可以看到攻击后直接连接到了Windows系统的命令行中

在用户桌面创建一个HACKED文件夹

image-20200701202655568

切换到Windows7 可以在桌面上看到刚创建的HACKED文件夹,说明攻击成功

image-20200701202817212

4.反弹shell

reverse shell,就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。

反弹shell攻击就是使用恶意代码让目的主机主动向攻击者发起连接,如远程控制请求连接,从而达到获取目的主机控制权限的目的。上面使用Metasploit实现永恒之蓝漏洞攻击就是一个反弹shell的实例。