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