Guardicore公司,专门从事数据中心和云系统的保护,
为了构建僵尸网络,需要使用专有的 P2P 协议,其中节点之间进行交互,协调攻击组织,支持网络的运行并监视彼此的状态。 通过对通过 SSH 接受请求的服务器进行暴力攻击,发现了新的受害者。 当检测到新服务器时,将搜索登录名和密码的典型组合的字典。 可以通过任何节点进行控制,这使得僵尸网络操作者难以识别和封锁。
据研究人员称,该僵尸网络已经拥有约500个节点,其中包括几所大学和一家大型铁路公司的服务器。 值得注意的是,攻击的主要目标是教育机构、医疗中心、政府机构、银行和电信公司的网络。 服务器被入侵后,挖掘门罗币加密货币的过程就在其上组织。 自 2020 年 XNUMX 月以来,我们就追踪到了相关恶意软件的活动。
FritzFrog 的特别之处在于它将所有数据和可执行代码仅保存在内存中。 磁盘上的更改仅包括将新的 SSH 密钥添加到authorized_keys 文件中,该文件随后用于访问服务器。 系统文件不会更改,这使得蠕虫对于使用校验和检查完整性的系统来说是不可见的。 内存还存储用于暴力破解密码的字典和用于挖掘的数据,这些字典使用P2P协议在节点之间同步。
恶意组件伪装成 ifconfig、libexec、php-fpm 和 nginx 进程。 僵尸网络节点监视其邻居的状态,如果服务器重新启动,甚至重新安装操作系统(如果修改后的authorized_keys文件被传输到新系统),它们会重新激活主机上的恶意组件。 对于通信,使用标准 SSH - 恶意软件还启动一个本地“netcat”,该“netcat”绑定到本地主机接口并侦听端口 1234 上的流量,外部主机通过 SSH 隧道访问该端口,使用authorized_keys 中的密钥进行连接。
FritzFrog组件代码是用Go编写的,以多线程模式运行。 该恶意软件包含多个在不同线程中运行的模块:
- Cracker - 在受攻击的服务器上搜索密码。
- CryptoComm + Parser - 组织加密的 P2P 连接。
- CastVotes是一种联合选择目标主机进行攻击的机制。
- TargetFeed - 从相邻节点接收要攻击的节点列表。
- DeployMgmt 是一种蠕虫病毒的实现,它将恶意代码分发到受感染的服务器。
- 拥有 - 负责连接到已经运行恶意代码的服务器。
- 组装 - 将单独传输的块组装到内存中的文件。
- Antivir - 用于抑制竞争恶意软件的模块,识别并终止带有字符串“xmr”的消耗 CPU 资源的进程。
- Libexec 是一个用于挖掘 Monero 加密货币的模块。
FritzFrog 使用的 P2P 协议支持大约 30 个命令,负责在节点之间传输数据、运行脚本、传输恶意软件组件、轮询状态、交换日志、启动代理等。 信息通过单独的加密通道传输,并以 JSON 格式进行序列化。 加密使用非对称 AES 密码和 Base64 编码。 DH协议用于密钥交换(
所有僵尸网络节点都维护一个分布式数据库,其中包含有关受攻击和受损系统的信息。 攻击目标在整个僵尸网络中是同步的 - 每个节点攻击一个单独的目标,即两个不同的僵尸网络节点不会攻击同一主机。 节点还收集本地统计数据并将其传输给邻居,例如可用内存大小、正常运行时间、CPU 负载和 SSH 登录活动。 此信息用于决定是否启动挖掘过程或仅使用该节点来攻击其他系统(例如,挖掘不会在已加载的系统或管理员连接频繁的系统上启动)。
为了识别 FritzFrog,研究人员提出了一个简单的方法
迹象,例如端口 1234 上存在侦听连接、存在
来源: opennet.ru