方程式0day ETERNALBLUE复现之Empire Msfconsole下的shel

在本文中我将为大家复现在前段时间被曝出的,方程式0day Eternalblue的利用过程。Eternalblue通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞。从涵盖的操作系统版本来看,Eternalblue针对的范围也非常广泛。从Windows XP到Windows Server 2012都为其攻击对象。而Windows 10和Windows Server 2016,则并不在其利用范围。但很可能在不久后Eternalblue可能会被再次修改,因此我们应该时刻保持警惕!

Eternalblue(永恒之蓝)只是影子经纪人公布的Windows零日漏洞利用工具系列中的一款。除此之外,以“永恒”为前缀名的漏洞利用工具还有例如Eternalromance, Eternalchampion 和 Eternalsynergy,所有这些都是针对近期的Windows操作系统的。为了配置和执行对攻击目标的成功利用,其中有一款名为Fuzzbunch的漏洞利用框架,该框架基于Python 2.6开发与Metasploit框架颇为相似。在以下演示中,我将首先安装最基本的漏洞利用环境并配置Fuzzbunch,最终我将会通过Empire&Meterpreter来获取Windows 7的反弹shell。

配置Fuzzbunch并创建基本利用环境

为了达到更好的实验效果,我们将需要配备以下系统环境:

Windows 7 64-bit 作为被攻击目标。IP:10.11.1.253

Windows 7 作为Windows攻击机,并运行Fuzzbunch。IP: 10.11.1.251

Kali Linux 作为另一台攻击机,并运行Empire framework。IP: 10.11.1.16

在我们正式开始实验之前,我们还需要在Windows 和Kali Linux攻击机上进行一些相应的环境部署。

Windows 7相关环境的安装配置

在Windows 7攻击机上,我们需要安装Python 2.6和PyWin32 v212。安装文件可以在这里下载:

Python 2.6: https://www.python.org/download/releases/2.6/

PyWin32 v212: https://sourceforge.net/projects/pywin32/files/pywin32/Build%20212/

按照基本安装步骤首先安装Python,然后再安装PyWin32。这里需要注意的是,安装PyWin32务必以管理员身份进行,否则可能会出现报错。如果你需要再次运行安装后的脚本,则可以在以下目录中找到:

C: \Python26\Scripts  在Kali Linux上安装Empire Framework

在Kali Linux上,我们需要安装可从Github获取的Empire框架:

Empire framework: https://github.com/EmpireProject/Empire

在Kali Linux上安装Empire Framework非常简单,只需运行./setup/install.sh脚本即可一键安装,然后运行./empire就可以启动Empire。

Empire framework Installation

配置Fuzzbunch

接下来,我们就可以到Github上下载Shadow Brokers泄露的NSA工具并将其解压到桌面。这里需要注意的是,当你从Github下载转储时,你必须要在包含fb.py(Fuzzbunch)文件的Windows目录中,创建一个名为“listeningspost”的新文件夹。

Fuzzbunch listeningposts error

最后编辑名为fuzz bund.xml的Fuzzy Bunch配置文件,并设置相应的ResourcesDir和LogDir参数:

现在我们就可以通过命令行来执行fb.py文件,启动Fuzzbunch。至此应该没有任何报错:

Starting Fuzzbunch

如果你看到了关于缺少DLL或导入的错误提示,请确保是否已正确安装了PyWin32,并且安装后脚本是否成功完成。

配置和执行Eternalblue

至此,我们已经具备了Eternalblue漏洞利用的所有条件。执行Eternalblue需要一个目标IP和回调IP地址。这里的目标地址则为10.11.1.253(Windows 7 64-bit),而反弹地址则为 10.11.1.251(Windows 7)。

Fuzzbunch target

接下来需要我们配置和指定是否重定向,和日志记录相关的一些参数,并在Fuzzbunch中创建一个新的项目。我们不会使用重定向,因此输入“no”,然后按Enter键继续。继续按回车键保持默认选项。然后我们选择选项4(或没有现有项目时为0)创建一个新项目,并将其命名为任何你喜欢的项目名称,并选择为你的新项目使用默认的日志记录位置。

Fuzzbunch projects

要查看全部加载的插件/exploit类型,可以使用’use’命令。选择使用Eternalblue插件,请键入以下命令:

use Eternalblue

Fuzzbunch Eternalblue Plugin

接着Fuzzbunch会询问我们是否提示进行变量设置,我们选择yes。传输方式我们选择1‘FB’。

Eternalblue delivery mechanism

最后会询问我们,是否要执行插件:

Eternalblue settings

如果一切顺利,Fuzzbunch将输出Eternalblue成功的提示:

Executing Eternalblue exploit

配置Empire 侦听和反向DLL shell

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/88b322e0d580bf3fcb280044bcd53e62.html