Maligno 一个开源的渗透测试工具

人生百相,世态万千,当从容应对,淡泊处之,不畏浮云蔽眼,不被微利惑心,不为陷阱锁步,不使闲情损志。有些人,笑一笑,就陌生了,那些刻意的亲近,终究遁于无形;有些事,摆一摆,就过去了,当下的困苦挫败,可能是?高的阶梯。行至水穷路自横,坐看云起天亦高,凭的就是眼界与心胸。

今天我想介绍一个能够在渗透测设中帮到你的工具。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,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

本文Maligno 一个开源的渗透测试工具到此结束。别人可以替你开车,但不能替你走路;可以替你做事,但不能替你感受。人生的路要靠自己行走,成功要靠自己去争取。天助自助者,成功者自救。小编再次感谢大家对我们的支持!