网易首页 > 网易号 > 正文 申请入驻

针对路由器的 Cyclops Blink 恶意软件攻击的技术细节分析

0
分享至

本文会详细介绍针对华硕路由器的 Cyclops Blink 恶意软件变种的技术能力,并包括 150 多个当前和历史命令和控制 (C&C) 服务器的 Cyclops Blink 僵尸网络的列表。

最近一个名为Cyclops Blink的模块化僵尸网络对诸多型号的华硕路由器发起了攻击。自2019年首次出现以来,该僵尸网络最初针对的是WatchGuard Firebox设备。根据英国国家网络安全中心 (NCSC) 进行的分析,Cyclops Blink 是一种高级模块化僵尸网络,据报道与 Sandworm 或 Voodoo Bear 高级持续威胁 (APT) 组织有关,最近已被用于攻击 WatchGuard Firebox 设备。我们获得了针对华硕路由器的 Cyclops Blink 恶意软件系列的变种。

本报告讨论了这个 Cyclops Blink 恶意软件变种的技术能力,并包括了 Cyclops Blink 僵尸网络的 150 多个当前和历史命令和控制 (C&C) 服务器的列表。此列表旨在帮助网络安全防御者在其网络中搜索受影响的设备并进行修复。追踪发现,尽管 Cyclops Blink 是一个国家支持的僵尸网络,但它的 C&C 服务器和木马会影响不属于关键组织的 WatchGuard Firebox 和华硕设备,或者那些对经济、政治或军事间谍活动具有明显价值的设备。

因此,我们认为 Cyclops Blink 僵尸网络的主要目的可能是为进一步攻击高价值目标构建基础设施。

Sandworm APT 组织被认为创建了 Cyclops Blink 和 VPNFilter 物联网 (IoT) 僵尸网络。VPNFilter 于 2018 年首次被发现,专门针对路由器和存储设备。据报道,它还感染了数十万台设备。2021 年,趋势科技发布了 VPNFilter 的技术分析,其中专门介绍了僵尸网络在被发现两年后如何继续影响受感染的系统。

Sandworm 还对许多引人注目的攻击负责,包括 2015 年和 2016 年对乌克兰电网的攻击、2017 年 NotPetya 攻击、2017 年法国总统竞选、2018 年冬奥会奥运会毁灭者攻击以及 2018 年针对禁止化学武器组织。

Cyclops Blink 是用 C 语言编写的模块化恶意软件。在其核心组件中,恶意软件首先要做的是检查其可执行文件名是否以"[k"开头。如果没有,它将执行以下例程:

1.它将 stdout 和 stderr 文件描述符重定向到 /dev/null;

2.它为 SIGTERM、SIGINT、SIGBUS、SIGPIPE 和 SIGIO 信号设置默认处理程序;

3.它使用新的"[ktest]" 进程名称重新自我加载。

然后它会等待 37 秒,然后再设置其硬编码参数。这些包括硬编码的 C&C 服务器和应该用于与 C&C 服务器通信的时间间隔。

它还通过调用 pipe() 函数来创建用于进程间通信 (IPC) 的管道,以获取用于读取和写入数据的两个文件描述符。它还通过使用 ioctl() 为写入文件描述符启用非阻塞 I/O。

之后,将在内存中创建一个新的数据包,然后将其发送到 C&C 服务器。本分析稍后将介绍此通信的详细信息。

对于用于与 C&C 服务器通信的每个硬编码 TCP 端口,恶意软件会在 Netfilter(Linux 内核防火墙)中创建一个规则,使用 libiptc1 中的 iptc_insert_entry() 函数来允许与其进行输出通信。规则具有以下参数:

由于未知原因,恶意软件删除了上述规则并再次创建它们,这次是通过 system() 函数使用 iptables 命令。命令如下:

然后对OpenSSL库进行初始化,核心组件继续初始化硬编码的模块。

在此期间,核心组件初始化模块。通过管道与模块进行通信。对于每个硬编码的模块,恶意软件会在它们自己的子进程中执行之前创建两个管道。

初始化模块的函数

在下图中,我们推断出以下 mod_t 结构:

推断的 mod_t 结构,最后一个成员未知。

然后初始化参数,它们由一个 592 字节的结构组成,其中包含通过管道发送到模块的基本信息。这些信息包括:

一个“

核心部件的管道;

所有 C&C IP 地址和端口;

本地 IP 地址;

C&C服务器通信的时间间隔;

当下一个要发送到 C&C 服务器的数据包;

主进程PID;

硬编码 ID( 0xA08F078B、0xBD0A5B36 和 0xA244E5E2);

参数被推送到模块,此时模块被初始化。

从模块获取数据后,核心组件启动加密程序,在将数据发送到 C&C 服务器之前对数据进行加密。

Cyclops Blink 使用动态加载的受感染设备中应该可用的 OpenSSL 功能对数据进行加密。

数据使用 AES-256 在密码块链接 (CBC) 模式下使用随机生成的 256 位密钥和 128 位初始化向量 (IV) 进行加密。然后使用每个样本唯一的硬编码 RSA-2560(320 位)公钥对其进行加密。

恶意软件开发者决定使用 EVP_SealInit() 函数。此函数执行所有上述加密步骤,包括随机 AES 密钥和 IV 生成。

C&C服务器必须有相应的RSA私钥才能解密数据。

加密后,如果数据包总长度大于 98303 字节,则发送数据包。

为了向 C&C 服务器发送数据,核心组件在随机 TCP 端口上与随机选择的 C&C 服务器执行 TLS 握手,两者都来自硬编码列表。

在选择一个IP地址和一个TCP端口对之后,核心组件创建一个子进程来执行通信。子进程将连接到C&C服务器,并向SSL套接写入四个字节。这四个字节是它想要发送的数据包大小。

子进程将四个字节写入 SSL 套接字

服务器必须用一个精确的四字节回答,也就是受害者的IPv4地址。

然后将 10 个字节写入核心组件管道。数据遵循特定格式。例如:

然后核心组件从 C&C 服务器接收更多数据。这一次,它希望使用硬编码的 RSA-2560 公钥来解密加密的数据包。

恶意软件需要一个响应,其中前四个字节是数据包的大小,后跟加密数据。

接收和解密来自C&C服务器的数据的核心组件代码

如果接收到某些内容,则将其解密并写入到主管道。为了解密,该恶意软件使用RSA_public_decrypt()函数,该函数利用RSA加密算法的“可逆性”解密用相应私钥加密的数据。

最后,将更新一个变量,该变量包含下一次应该发送的数据包,并将所有的参数再次发送给模块,这是因为核心组件可以从C&C服务器接收新参数。

从C&C服务器接收到的数据包括对核心组件本身或其模块的命令。

首先,核心组件将受支持的命令发送到C&C服务器,然后进入一个循环,在这个循环中它需要其中一个命令。

如果命令以核心组件为目标,它可以是以下之一:

0、终止程序;

1、绕过数据发送间隔,立即向C&C服务器发送数据;

2、将新的 C&C 服务器添加到内存列表中;

3、设置发送下一个数据包到 C&C 服务器的时间;

4、设置发送下一个数据包到 C&C 服务器的时间;

5、添加一个新模块(应该在命令之后收到一个 ELF 文件);

6、重新加载恶意软件;

7、设置本地IP地址参数;

8、设置新的worker ID;

9、设置未知字节值;

10、向所有正在运行的模块重新发送配置;

华硕 (0x38)

这个模块可以从设备的闪存读取和写入,这些设备使用闪存来存储操作系统、配置和文件系统中的所有文件。我们的研究是在RT-AC68U上进行的,但是其他华硕路由器如RT-AC56U也可能受到影响。然而,值得注意的是,由于恶意软件本质上是模块化的,它可以很容易地重新编译以针对任何其他设备。事实上,这就是他们对 WatchGuard 所做的,它是相同的代码,但它已经为相关品牌重新编译了。

首先,模块检查内容 /proc/mtd 文件,该文件提供有关设备的内存技术设备 (MTD) 子系统的一般信息。。MTD提供了一个抽象层来访问设备的闪存。

恶意软件查找字符串“linux”和“rootfs”,并使用printf()类格式读取它:

模块查找“linux”和“rootfs”字符串

推断出的mdt_data_t结构如下:

mtd_data_t 结构

数据被读取到这个结构中。Asus RT-AC68U 设备的 /proc/mtd 内容如下:

来自 Asus RT-AC68U 路由器的典型 /proc/mtd

因此,根据这个案例,恶意软件会打开 /dev/mtd2,这是存储 Linux 内核映像的分区。为什么恶意软件开发者决定读取“linux”或“rootfs”分区是不清楚的。因为它们有完全不同的目的。前者保存操作系统,后者存储程序的关键文件,如可执行文件、数据和库。

Cyclops Blink 从闪存中读取 80 个字节,写入主管道,然后进入循环等待命令替换分区内容:

Asus 模块主循环

如果来自核心组件的数据以“

写入由 j_save_data() 函数完成。它首先通过ioctl()调用正确地擦除NAND擦除块,然后写入新的内容,如下图所示:

用于写入原始闪存的 Cyclops Blink Asus 模块代码

由于闪存内容是永久性的,因此该模块可用于建立持久性和恢复出厂设置。

虽然它不能用作归属证明,但前面的代码让我们想起了 VPNFilter 进程的第三阶段代码中的一个例程,称为“dstr”,旨在“破坏”受感染的设备。除了删除许多重要文件甚至尝试删除整个根文件系统之外,这个特定的 VPNFilter 阶段还会将许多 0xff 字节写入原始闪存:

用于写入原始闪存的 VPNFilter “dstr” 第三阶段代码

系统侦察 (0x08)

该模块负责将信息从受感染设备发送到 C&C 服务器。以下数据来自受感染的设备:

1.模块通过调用 uname() 函数和 /etc/issue 文件获得的 Linux 版本;

2.有关设备内存消耗的信息,它通过调用 sysinfo() 函数获取;

3.SSD 存储信息,通过调用 statvfs() 函数获取;

以下文件的内容:

/etc/passwd

/etc/group

/proc/mounts

/proc/partitions

4.有关网络接口的信息,它通过使用 SIOCGIFHWADDR 和 SIOCGIFADDR 命令调用 if_nameindex() 和 iotctl() 函数来获取。

文件下载 (0x0f)

该模块可以从互联网上下载文件。使用 DNS over HTTPS (DoH) 执行 DNS 解析。恶意软件使用以下标头向 Google DNS 服务器 (8.8.8.8) 发送 HTTP POST 请求:

通过 SSL 进行 DNS 解析的 HTTP POST 请求

该模块似乎是 NCSC 报告的 Cyclops Blink 变体使用的同一模块 (0x0f) 的早期版本。模块之间的主要区别如下:

1.该模块没有上传功能;

2.该模块使用控制标志中的0x1位来指定是否应该通过HTTPS进行下载。

我们已经能够确定 Cyclops Blink 僵尸网络从受感染的 WatchGuard 设备和华硕路由器中感染了路由器。这些受感染的设备会定期连接到 C&C 服务器,这些服务器本身托管在受感染的 WatchGuard 设备上。我们有证据表明,除了华硕和 WatchGuard 之外,至少有一家供应商的路由器也连接到了 Cyclops Blink C&C,但到目前为止,我们还无法收集该路由器品牌的恶意软件样本。

Cyclops Blink 僵尸网络已经存在了一段时间。使用互联网范围扫描的历史数据和 SSL 证书数据,Cyclops Blink 很可能至少可以追溯到 2019 年 6 月。自 2019 年 6 月以来,该攻击者已颁发了 50 多个 SSL 证书,用于 WatchGuard C&C 上各种 TCP 端口(据我们所知,使用了以下 TCP 端口:636、989、990、994、995、3269 和 8443)。

在附录 A 中,出于防护需要,我们列出了 Cyclops Blink 使用的活动和非活动 C&C。我们观察到,一些 WatchGuard 和 Asus 木马从未清理过,因为这些路由器仍会定期尝试连接到受保护或脱机的旧 C&C。

为 Cyclops Blink C&C 颁发的多个 SSL 证书的时间线

我们的调查显示,全世界有 200 多名 Cyclops Blink 受害者。受感染的 WatchGuard 设备和华硕路由器的典型国家是美国、印度、意大利、加拿大以及包括俄罗斯在内的一长串其他国家。应该指出的是,这些受害者似乎不是经济、军事或政治间谍活动的明显有价值的目标。例如,一些实时 C&C 托管在欧洲的一家律师事务所、一家为南欧的牙医生产医疗设备的中型公司和美国的一家管道工使用的 WatchGuard 设备上。这与其他 APT 组织(例如 Pawn Storm)执行的暴力攻击数量不断增加是一致的,该组织已经破坏了许多资产,例如电子邮件地址和目标的电子邮件服务器,这些资产通常与 Pawn Storm 的目标不一致。

在过去几年中,物联网攻击在全球范围内不断升级,互联网路由器一直是主要目标之一。这些设备受到攻击者的青睐有几个原因:1.修补频率低,2.缺乏安全软件,3.防御者的可见性有限。一旦物联网设备感染了恶意软件,攻击者就可以不受限制地访问互联网,下载和部署更多阶段的恶意软件,以进行侦察、间谍活动、代理或攻击者想做的任何其他事情。

大多数物联网设备的底层操作系统是 Linux,许多强大的系统工具也使用它。这可以允许攻击者添加他们可能需要完成攻击的任何其他内容。在 Cyclops Blink 的案例中,我们已经看到连续 30 多个月(大约两年半)被攻陷的设备被设置为其他木马的稳定 C&C 服务器。

VPNFilter 的目标供应商是华硕、D-Link、华为、Linksys、MikroTik、Netgear、QNAP、TP-Link、Ubiquiti、UPVEL 和 ZDE。在 Cyclops Blink 的案例中,我们收到了针对华硕路由器的样本,这些样本之前没有被报道过。我们分析的华硕 Cyclops Blink 恶意软件版本与之前讨论的 WatchGuard 版本相比存在一些差异。

我们分析的样本是为 ARM 编译的,并与 uClibc 动态链接。它们还包含一个专门针对华硕路由器的模块。华硕可能只是目前 Cyclops Blink 目标的供应商之一。我们有证据表明其他路由器也受到影响,但截至报告时,我们无法为 WatchGuard 和华硕以外的路由器收集 Cyclops Blink 恶意软件样本。根据我们的观察,这些都是 Cyclops Blink 攻击者深思熟虑的。

此外,该僵尸网络的目的仍不清楚:它是否旨在用于分布式拒绝服务 (DDoS) 攻击、间谍活动或代理网络仍有待观察。但显而易见的是,Cyclops Blink 是一种高级恶意软件。随着居家办公增多,间谍活动可能是物联网设备仍然是高级攻击者的主要目标的部分原因。受到攻击的路由器越多,攻击者可以使用的强大数据收集来源以及进一步攻击的途径就越多。拥有分布式基础设施也使网络安全团队更难以消除整个攻击。

这也是为什么在两年多之后,仍然有活动的 VPNFilter 主机出现的原因。

如果怀疑某个组织的设备感染了 Cyclops Blink,最好换个新路由器。执行恢复出厂设置可能会清除组织的配置,但不会清除攻击者修改的底层操作系统。如果特定供应商的固件更新可以解决 Cyclops Blink 攻击或系统中的任何其他漏洞,组织应尽快应用这些更新。但是,在某些情况下,设备可能是报废产品,供应商也不再提供更新。

在这种情况下,普通用户将无法修复 Cyclops Blink 感染。

参考及来源:https://www.trendmicro.com/en_us/research/22/c/cyclops-blink-sets-sights-on-asus-routers--.html

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
参与俄看守所劫持事件嫌犯已被击毙 2名人质获救

参与俄看守所劫持事件嫌犯已被击毙 2名人质获救

财联社
2024-06-16 17:30:14
湖北设4站,这条高铁要来了

湖北设4站,这条高铁要来了

鲁中晨报
2024-06-16 10:35:05
震惊我了!小沈阳演唱会变身型男,肌肉明显颜值大涨,超显年轻!

震惊我了!小沈阳演唱会变身型男,肌肉明显颜值大涨,超显年轻!

小娱乐悠悠
2024-06-12 16:10:05
S妈称:不要挑拨离间,玥儿和菻菻是我们全家的宝贝,怎么能不管

S妈称:不要挑拨离间,玥儿和菻菻是我们全家的宝贝,怎么能不管

综艺拼盘汇
2024-06-16 17:50:29
医生一再提醒:年纪大了,宁可天天吃猪肉,都不要多吃这2物

医生一再提醒:年纪大了,宁可天天吃猪肉,都不要多吃这2物

今日养生之道
2024-06-12 21:20:53
难踢大赛!30岁迪巴拉只参加过1次世界杯1次美洲杯,出场129分钟

难踢大赛!30岁迪巴拉只参加过1次世界杯1次美洲杯,出场129分钟

直播吧
2024-06-16 13:10:14
令人失望!国足归化目标状态低迷,连续6场0进球,拿顶薪成奢望

令人失望!国足归化目标状态低迷,连续6场0进球,拿顶薪成奢望

国足风云
2024-06-16 21:01:41
纳达尔土豪身份尽显!在法网首轮佩戴800万奢侈手表,无愧三巨头

纳达尔土豪身份尽显!在法网首轮佩戴800万奢侈手表,无愧三巨头

搏击江湖
2024-06-16 10:24:30
重庆农商行女职员表白副行长后续: 单位回应 知情人爆内幕 评论破防

重庆农商行女职员表白副行长后续: 单位回应 知情人爆内幕 评论破防

妮子说美食
2024-06-16 06:53:56
为什么朋友圈很少晒4年级以上的娃,网友评论太真实了

为什么朋友圈很少晒4年级以上的娃,网友评论太真实了

阿康四岁啦
2024-06-15 13:31:38
惊!女子全身乏力一查,一家四口3人“吸血鬼”

惊!女子全身乏力一查,一家四口3人“吸血鬼”

Auroua
2024-06-15 22:43:17
赵丽颖古早黑历史曝光,惊人往事让人不敢相信,疑似没文化还当三

赵丽颖古早黑历史曝光,惊人往事让人不敢相信,疑似没文化还当三

花哥扒娱乐
2024-04-18 22:17:33
马斯克:一面是天才一面是疯子,从小混乱的家庭关系让他无法正常

马斯克:一面是天才一面是疯子,从小混乱的家庭关系让他无法正常

照见古今
2024-01-06 18:43:16
“商砼”的“砼”字不读quán,也不读shuān,那它的正确读音是?

“商砼”的“砼”字不读quán,也不读shuān,那它的正确读音是?

迷局科普
2024-06-14 11:29:09
亲戚送旧家具可以收,唯独这“3样旧物”,不管谁送,都不能收!

亲戚送旧家具可以收,唯独这“3样旧物”,不管谁送,都不能收!

影视评论阿劲
2024-06-16 16:52:25
中国女排最新形势:大战NO.3,冲4连胜保亚洲第1,超美国进TOP5?

中国女排最新形势:大战NO.3,冲4连胜保亚洲第1,超美国进TOP5?

刘姚尧的文字城堡
2024-06-16 06:39:27
洗衣机“快洗”模式需慎用

洗衣机“快洗”模式需慎用

参考消息
2024-06-15 19:12:11
凯特王妃与小夏公主的温情时刻:为女儿捋头发,眼神中全是骄傲

凯特王妃与小夏公主的温情时刻:为女儿捋头发,眼神中全是骄傲

KK说王室
2024-06-16 11:52:03
17岁中专女生爆火!会被大学破格录取?她参加的数学竞赛什么来头?

17岁中专女生爆火!会被大学破格录取?她参加的数学竞赛什么来头?

上观新闻
2024-06-15 22:37:24
林彪取代彭老总位置后,却一再和主席“顶牛”:大不了和彭总一样

林彪取代彭老总位置后,却一再和主席“顶牛”:大不了和彭总一样

燕小姐说历史
2024-06-16 08:48:13
2024-06-16 22:10:44
嘶吼RoarTalk
嘶吼RoarTalk
不一样的互联网安全新视界
7434文章数 10509关注度
往期回顾 全部

科技要闻

iPhone 16会杀死大模型APP吗?

头条要闻

牵涉越南“女首富”案 又一位越共中央高层受处分

头条要闻

牵涉越南“女首富”案 又一位越共中央高层受处分

体育要闻

没人永远年轻 但青春如此无敌还是离谱了些

娱乐要闻

上影节红毯:倪妮好松弛,娜扎吸睛

财经要闻

打断妻子多根肋骨 上市公司创始人被公诉

汽车要闻

售17.68万-21.68万元 极狐阿尔法S5正式上市

态度原创

教育
艺术
家居
健康
公开课

教育要闻

教育孩子其实是有规律可循的,就像1+1=2这么简单

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

家居要闻

空谷来音 朴素留白的侘寂之美

晚餐不吃or吃七分饱,哪种更减肥?

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版