从 shell 脚本加载器中托管的植入程序下载僵尸网络脚本后,可以注意到植入物本身没有进行任何混淆,甚至没有对 UPX 进行任何混淆。
整体功能
-
恶意软件开发(更新到了155节)
-
PhoneScan 和 StartTheLelz 功能
在我将其放入 Ghidra 进行反编译过程并查看了这些函数之后,有一个特定的功能引起了我的注意,称为“PhoneScan”。
从我所看到的来看,“PhoneScan”功能将根据其硬编码的 IP 范围搜索任何公共 IP 地址。但是,为什么它被命名为“PhoneScan”?
在我选择了一些 IP 范围对 Shodan 进行分面分析后,我们可以看到其中许多都有可用的远程端口,包括默认的 Telnet 和 SSH。
net:119.50.0.0/12, net:179.80.0.0/12, net:152.40.0.0/12 # Shodan过滤器
大多数远程产品是 OpenSSH 和 Dropbear sshd,它们通常由服务器或任何轻量级物联网设备使用。
总体而言,如果我们将这些硬编码的 IP 范围与分面分析结果相结合,则该函数本身可能用于扫描和搜索远程端口,并使用其硬编码凭据发起暴力攻击。
其中一件有趣的事情是名为“StartTheLelz”的功能,它可能与“PhoneScan”功能具有相同的目的。但是,它用于从“getRandomPublicIP”函数中检索公共 IP 以执行扫描过程。此外,与“PhoneScan”功能相比,它具有不同的 IP 范围。
当它处于扫描过程中时,僵尸网络似乎会自行将暴力破解信息报告回其服务器。
RemoveTMP 函数
从“整体函数”中,我们可以看到一个名为“RemoveTMP”的函数。此函数执行一系列 linux 命令,使调查过程更加困难。
-
强制删除和清除历史记录 comand 日志
-
强制删除登录/注销活动 (wtmp) 的日志
-
停止 linux 防火墙服务 (iptables)
拒绝服务行为
在“整体功能”中,有几个功能专门用于与网络交互。根据僵尸网络剖析,这些功能最有可能用于执行 DDoS 活动或适应与 C2 服务器的通信过程。
我只会对“sendHTTP”函数 sinc 进行分析,其中有很多,而且我对此太努力了。
进入“sendHTTP”函数后。有一个带有硬编码用户代理的 HTTP 标头的预设置。
其中一件事是它曾经调用“time_t”函数,这是 C/C++ 的默认库。这可能会在 DDoS 攻击或扫描过程中设置计时器。
它还调用“write”函数,该函数用于发送 HTTP 请求,其设置被无限循环覆盖,直到它被任何信号条件中断。它还将攻击状态报告给 C2 服务器。
流量分析
在看完植入物后。我找到了“initConnection”函数,该函数用于根据其变量初始化与 C2 服务器的连接,该变量是攻击者 C2 服务器的 IP 地址。
从“addr”变量的值来看,用于绑定端口“6667”的 IP 地址,该端口通常与默认的 IRC 服务器相关联。因此,我决定通过执行植入物来执行动态分析(特别关注交通方面)。
根据 wireshark 中的流量,它似乎使用 IRC 协议进行通信。
在检查了其中一个 IRC 数据包后,很明显我们向刚刚连接到的 IRC 服务器发送了一份报告,然后 IRC 服务器使用 scan 命令回复给我们。就像 PING 和 PONG 模式一样。
从服务器收到扫描命令后,机器人本身将在端口 23 上启动扫描,该端口与默认 Telnet 相关联。
如果我们对 Telnet 协议应用 Wireshark 过滤器并检查数据包数据,我们可以看到它已经使用硬编码凭据进行了暴力破解。
但是,有一件事引起了我的注意。如果之前分析的产品大多是SSH,是不是意味着服务器发送扫描命令时,其实是用了“StartTheLelz”作为主要的扫描功能,而“PhoneScan”只是一个可选功能?
因此,我决定再次对Shodan进行分面分析,但这次使用的是“StartTheLelz”函数中的IP范围。
net:14.160.0.0/11 # Shodan 过滤器
net:14.160.0.0/11 port:23 # Shodan 过滤器
net:14.160.0.0/11 port:22 # Shodan 过滤器
僵尸网络变体识别
在我们完成动态(特别关注流量方面)和静态分析后,我们可以将此僵尸网络识别为 Gafgyt、BASHLITE、Qbot 的变体,因为它有多个名称。病毒总计。
我使用自分析开始以来收集的工件进行识别。
-
Shell 脚本加载程序和进程。
-
函数名称 StartTheLelz。
-
函数名称 initConnection,它可变。
-
具有设置范围的 Telnet 扫描仪。
-
默认变量,例如 commServer。
结论
由于我还没有涵盖所有僵尸网络功能的分析,因此我决定专注于识别僵尸网络变体本身的根源。这种方法将更容易研究这个僵尸网络是如何完全运作的,结论将基于我在这个分析中看到的内容。
僵尸网络加载一个 shell 脚本,充当加载程序脚本,用于为各种物联网设备下载具有多种架构的二进制文件。主要扫描功能涉及 Telnet,而 SSH 可能用作打扰者使用的可选扫描方法。在感染后从可能的 IRC 服务器接收命令后,僵尸网络会执行各种操作。“RemoveTMP”功能旨在删除多个计算机日志,使我们的调查更具挑战性。此外,这些僵尸网络变体还为 DDoS 方法提供了多种选项,包括 TCP、UDP、HTTP 和 STD。它还可以为攻击过程设置计时器,该过程还向其 C2 服务器报告,该服务器在二进制文件中进行硬编码。
该僵尸网络以具有任何架构的物联网设备为目标,利用弱密码。僵尸网络的某些变体也可能利用旧设备路径中的漏洞。
-
-
windows网络安全防火墙与虚拟网卡(更新完成)
-
-
windows文件过滤(更新完成)
-
-
USB过滤(更新完成)
-
-
游戏安全(更新中)
-
-
ios逆向
-
-
windbg
-
-
还有很多免费教程(限学员)
-
-
-
更多详细内容添加作者微信
-
-
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论