今天我想介绍一个能够在渗透测设中帮到你的工具。Maligno是一个基于FreeBSD许可证的开源的渗透测试工具。使用Python编写,最大限度与Metasploit兼容。

它利用Metasploit framework框架,尤其是msfvenom,来生成AES加密的shellcode,并且在传输前会编码。

Maligno是非常有用的工具。它是为渗透测试设计的,但是也可以用于其它不同的场景。Maligno的通信非常灵活,可以让它仿真恶意软件的行为或通信模式。

Maligno的架构由客户端和服务端组成。Maligno各部分使用HTTP和HTTPS协议通信。

072015_1303_MalignoOpen1.png

客户端和服务端可以配置成模拟特定的C&C通信,或者用作对手复制的一个部分(adversary replication,对手复制是渗透测试中的一个新概念,指用工具模拟黑客攻击,检查安全机制的有效性)。

客户端可以连接Maligno,下载加密的Metasploit载荷。当shellcode被下载下来,客户端解码和解密之后将其注入到目标机中。

客户端是David Kennedy的PyInjector的扩展版本。它支持各种操作系统,比如:Linux,Windows,以及OS X。Maligno已经具备了你需要的任何客户端和任何载荷。它有一个混淆器可在生成代码时混乱它。

Malingno另一个好功能是载荷延迟执行,规避杀软的启发式扫描。

服务端部分基于Metasploit来工作,事实上,它能够用msfvenom动态生成针对各种类型目标的载荷。它也支持多载荷和多连接。多亏Metasploit的辅助模块,它支持Socks5a代理。

如果你想在特定的IP和网络散布载荷,Maligno支持scopes。如果一个请求不在配置文件中的任何一个scops中,你可以配置“Last Resort Redirection”,这样就能禁止把载荷传送到不在scope范围内的目标上。

安装

安装非常简单,你可以直接在这里下载

解压文件,然后执行安装脚本。

# ./install.sh

它会询问你创建用于SSL模式操作的证书的相关问题。

配置

在安装完成后,你可以修改服务端的配置文件,打开它,修改使用你的载荷和IP。

这里有一个配置文件的完整解释:

# cat docs/server_config.explained

创建客户端脚本

# ./clientgen.py -f youconfifileserver.xml -s true

072015_1303_MalignoOpen2.png

这个命令为你在youconfifileserver.xml文件中配置的每个载荷生成一个Python脚本。

开启Malingo服务端

# ./maligno_srv.py

072015_1303_MalignoOpen3.png

Metasploit listener

现在,我们进入到Maligno文件夹里的msfresources文件夹中,执行Metasploit listener。Maligno为了快速加载,替我们为每个载荷创建了一个简单的脚本。


# cd msfresources

# msfconsole -r 0_standard_reverse_http_192.168.226.139_4444.rc

现在我们把Maligno环境加载并运行起来了。

在真实场景中,我们无法欺骗用户,劝他安装运行Python脚本所需环境。我们不得不把Python脚本转换为exe。

Python脚本转为exe

在完成Maligno Python脚本创建后,为了适用于各中环境,我们不得不转化它。

我们需要下面的软件:

    Python 2.7 32bit for windows

    Pyinstaller 2.1

    PyWin32 32bit

    VM Windows 7 32/64

在自己的Windows机器上安装Python2.7。从官网下载并安装它。

接下来,打开一个CMD shell,进入C:\Python27\里的scripts目录。

C:\Python27\Scripts\pip.exe install pyinstaller

或者,如果你在Windows的环境变量中安装了Python的路径。

C:\pip.exe install pyinstaller

下载最新版本的Pyinstaller,下载后会自动安装。

现在该安装PyWin32了。在这之前,如果你选择msi installer,你只需点击netx直到结束。默认配置是正确的,它会从windows的环境变量中找到Python的安装路径。

为了在下载阶段能够解密载荷,安装crypto模块很重要。


C:\easy_install.exe crypto

C:\easy_install.exe pycrypto

现在我们准备利用Python脚本创建我们的exe

打开Linux攻击机(我们在那里创建了Maligno服务端),然后选择一个脚本,拷贝并粘贴到Windwos虚拟机中你指定的文件夹。

进入那个文件夹,并执行pyinstaller

C:\pyinstaller.exe -F -w --onefile 0_standard_reverse_http.py

如果没有错误,pyinstaller创建一个名为dist的文件夹,到里面我们就能找到.exe文件,可以使用它测试你的载荷。

资源:

Malingo v2.2由Encripto发布,可以在下面的地址中免费下载。

https://www.encripto.no/nb/downloads/tools/

https://www.encripto.no

* 翻译自resources.infosecinstitute