僵尸网络,botnet,将大量主机感染僵尸程序,从而在僵尸服务端和僵尸客户端之间形成的一个一对多控制的网络。对于典型的僵尸网络,主要的拆除手段是“斩首行动”,通过夺取僵尸服务端的命令和控制权,从而瘫痪整个僵尸网络。
记得多年前我的硕士论文,就是围绕如何利用蜜罐技术,获取僵尸主程序。但P2P(Peer-to-peer,p2p)技术的引入,使得研究和分析僵尸网络更加困难。
一、新型P2P僵尸网络基本情况
8月19日,安全公司Guardicore实验室的研究人员OphirHarpaz发布消息,他们发现了一个之前从未被探查的僵尸网络,该网络使用异常先进的措施,秘密地将全球数百万台SSH服务器作为攻击目标。
这个僵尸网络被Guardicore实验室命名为FritzFrog。
Harpaz表示,Guardicore实验室是在今年1月份首次发现这个僵尸网络的。从那以后,FritzFrog已经锁定了政府机构、银行、电信公司和大学的数千万个IP地址。截至8月份,僵尸网络已经成功地感染了台服务器,这些服务器服务于美国和欧洲的知名大学,以及一家铁路公司。
FritzFrog僵尸网络使用专有软件感染服务器,并将它们捕获到一个P2P网络中,将其管理分散在许多受感染的节点上,而不是依赖控制服务器发送命令和接收窃取的数据。由于该网络没有指挥和控制(CNC)服务器,因此更难被发现,也更难关闭。
二、新型僵尸网络的5个特点
1.无文件。FritzFrog没有目录操作和文件传输使用,它在内存中组装和执行,不会接触被感染服务器的磁盘。
2.不断更新。自1月份活动开始以来,确定了20种不同版本的恶意软件可执行文件。
3.不断学习的字典。它拥有丰富的密码本,不断学习扩展,其保留的弱密码远比以前的僵尸网络更庞大、更适用。
4.高效。FritzFrog感染的服务器相互分散控制,目标在节点之间平均分配。并且,只感染网管用来管理计算机的安全Shell或SSH服务器,它以SSH公钥的形式创建后门,使攻击者能够持续访问受害计算机。
5.专有。P2P协议是完全专有的,不依赖诸如μTP之类的已知P2P协议。
研究人员表示,基于以上5个特点,这是一个技术高超的专业团队投入了相当多的资源建立的高效的、难以检测的、有弹性的僵尸网络。新的代码库与快速进化的版本和仅在内存中运行的有效负载相结合,使得杀毒软件和其他终端保护难以检测到该恶意软件。
三、新型僵尸网络的攻击进程
成功破坏受害者后,FritzFrog它将开始运行UPX打包的恶意软件,该恶意软件会立即删除自身。
恶意软件进程以名称ifconfig和nginx运行,以最大程度地减少怀疑。
在启动过程中,恶意软件开始在端口上侦听,等待命令。
为了逃避防火墙和端点保护,FritzFrog采用了一种创新技术来逃避检测。不是直接通过端口发送命令,而是通过以下方式将命令发送给受害者:攻击者通过SSH连接到受害者,并在受害者计算机上运行一个netcat客户端,该客户端又连接到恶意软件的服务器。从这点来看,FritzFrog的P2P结构并不纯粹。或者说,恶意软件服务器可能托管在其中一台受感染的机器上,而不是在专用服务器上。
恶意软件可以执行30条命令,包括运行脚本并下载数据库、日志或文件的命令。命令参数和响应在指定的数据结构中传输并序列化(“编组”)为JSON格式。在发送之前,数据使用AES对称加密进行加密并在Base64中进行编码。所涉及的节点使用Diffie-Hellman密钥交换协议。
FritzFrog网络中的节点彼此保持紧密联系。他们不断地相互ping通,以验证连通性,交换对等方和目标并保持彼此同步。
Guardicore实验室观察到受害者目标均匀分布,因此网络中没有办法通过两个节点试图“破解”同一台目标计算机。
四、新型僵尸网络的分析与防范
为了渗透和分析僵尸网络,研究人员开发了一个名为frogger的项目,通过“注入”我们自己的节点来加入网络,并参与到正在进行的P2P活动中,试图交换僵尸网络用来发送命令和接收数据的加密密钥。
研究发现,在受感染的机器重新启动之前,FritzFrog会在服务器的“authorized_keys”文件中安装一个公开的加密密钥。该证书在弱密码被更改时充当后门。
因此,SSH服务器,如果没有同时使用强密码和加密证书保护,很有可能已经感染了该恶意软件。
解决方法:
1.重启。重启后恶意软件就会消失,但不能保证它已经留了后门。
2.使用GuardicoreLabs提供的FritzFrog检测脚本。如图:
由于平台不允许发链接,有需要的童鞋可留言,或百度搜索GuardicoreLabs。