[译文] 恶意代码分析:5.解析Blackjack Group的Fuxnet恶意软件(工控攻击解析)

这是作者新开的一个专栏,主要翻译国外知名安全厂商的技术报告和安全技术,了解它们的前沿技术,学习它们威胁溯源和恶意代码分析的方法,希望对您有所帮助。当然,由于作者英语有限,会借助LLM进行校验和润色,最终结合自己的安全经验完成,还请包涵!

前文介绍了ViperSoftX机制,利用AutoIt和CLR隐蔽执行PowerShell代码,通过运用CLR,ViperSoftX能够无缝集成PowerShell功能,使其能够在执行恶意功能的同时,规避可能标记独立PowerShell活动的检测机制。这篇文章将详细讲解Blackjack组织发起的Moscollector攻击,并解析Fuxnet恶意软件和工业控制系统攻击流程,包括:Shodan用法、标识符SBK溯源、设备重写破坏、黑客组织的Fuzzing代码、工控传感器设备及总线、拒绝服务攻击,以及ICS安全攻防知识。基础性技术文章,希望您喜欢!

  • 欢迎关注作者新建的『网络攻防和AI安全之家』知识星球

在这里插入图片描述


一.前言

据传,与乌情报机构有关联的Blackjack黑客组织声称发起了一场网络攻击,该攻击损害了莫斯科及其以外地区的紧急检测和响应能力。这个与今年针对俄一家互联网供应商和俄军事基础设施的网络攻击有关的组织,本周发布了关于其声称对莫斯科公司Moscollector进行攻击的信息。Moscollector负责建设和监控地下水和污水以及通信基础设施。

  • https://www.infosecurity-magazine.com/news/ukrainian-blackjack-hackers/
  • https://christianbaghai.medium.com/blackjacks-big-win-how-a-ukrainian-hacker-group-exposed-russia-s-military-weaknesses-899281feb4bb

网站ruexfil.com收录了关于Moscollector攻击的详细信息,包括Blackjack声称用来破坏Moscollector网络运营中心的Fuxnet恶意软件。攻击者还发布了他们声称已被清除并变得无法使用的监控系统、服务器和数据库的截图。此外,从Moscollector窃取的其他数据(包括泄露的密码)也发布在了该网站上。

如下图所示,在Ruexfil网站上发布的一张截图显示,其分享了针对Moscollector的攻击信息,其中包括截图和被窃取的数据。

在这里插入图片描述

Team82和Claroty尚未能够证实攻击者的声明,也无法确认网络攻击是否对俄政府的应急响应能力产生了影响。以下是我们基于攻击者共享的信息,对Fuxnet恶意软件及Blackjack所作声明的分析。

例如,Blackjack声称已损坏或摧毁了87,000个远程传感器和物联网采集器。然而,我们对Blackjack泄露的数据(包括Fuxnet恶意软件)的分析表明,在此次攻击中,仅有超过500个传感器网关被恶意软件破坏,而远程传感器和控制器很可能仍完好无损。如果这些网关确实受损,考虑到这些设备地理上分布在莫斯科及其郊区,修复工作可能会非常繁重,需要更换设备或逐一重新刷写固件。


二.Moscollector攻击概述

Blackjack声称其对Moscollector的初步入侵始于2023年6月,自那时起,该组织表示一直缓慢行动,试图瘫痪由该公司管理的工业传感器和监控基础设施。星期二,黑客在Ruexfil网站上公开发布了他们对Moscollector的攻击活动以及在攻击中窃取的信息。他们的一些声明包括:

  • 获得了俄112紧急服务号码的访问权限。
  • 入侵并破坏了关键基础设施中的传感器和控制器(包括机场、地铁和天然气管道),所有这些设备均已被禁用。
  • 分享了用于此次攻击的Fuxnet恶意软件的详细信息和代码。
  • 禁用了网络设备,如路由器和防火墙。
  • 删除了服务器、工作站和数据库;30TB的数据被清除,包括备份驱动器。
  • 禁用了对Moscollector办公大楼的访问权限(所有门禁卡均已失效)。
  • 导出了多个内部服务的密码。

部分截图如下,一台被篡改的工作站显示了Blackjack的logo图像。

在这里插入图片描述

下图展示Moscollector主数据中心服务器的用户名和密码信息。

在这里插入图片描述

下图展示了所捕获的关键服务器的数据库信息。

在这里插入图片描述

下图为Django框架的Web服务器的明文凭据信息,该服务器可能负责传感器管理系统。

在这里插入图片描述


三.识别攻击中的目标设备

攻击者发布的截图显示,受影响的传感器由一家名为 AO SBK 的公司制造,该公司是一家生产多种传感器类型的俄企业,涵盖从气体测量传感器到环境监测设备的产品。如下所示,攻击者发布的截图显示了代码中的SBK URL。

在这里插入图片描述

这些传感器被应用于不同类型的环境中,包括火灾报警系统、气体监测系统、照明控制等。SBK在其网站上列出了所有这些传感器:

在这里插入图片描述

这些传感器收集诸如温度等物理数据,并通过RS485或Meter-Bus等串行/总线传输至网关。所有传感器都连接到网关,该网关是一个传输单元,能够通过互联网将遥测数据发送到全球监控系统,使操作人员能够对这些系统进行可视化监控。

根据攻击者泄露的数据(包括截图和JSON导出),在此次攻击中有两种AO SBK网关被入侵:

  • MPSB:用于通过各种接口与外部设备进行信息交换。它支持以太网和串行通信协议,包括CAN、RS-232和RS-485。
  • TMSB:与MPSB类似,但包含内置的3/4G调制解调器,使其能够通过互联网向远程系统传输数据。

最终目标是将数据传输到全球监控系统。常见的两种场景是:

Sensor —--- MBus/RS485 → MPSB + IoT Router —---Internet → Monitoring system
Sensor —--- MBus/RS485 → TMSB (3g/4g modem)---Internet → Monitoring system

要全面解释这次攻击,我们需要从其最基本的目标组件开始,即末端传感器,然后逐步上升到整个管理和监控系统。

传感器

在层级结构的底部是物理传感器。AO SBK销售各种传感器,包括可读取空气中不同气体浓度的气体分析仪、温度传感器等。这些传感器是低级设备,其唯一目标是进行测量。

为了发送传感器收集的测量数据,通过串行/总线连接到传感器网关,使用Meter-Bus/RS485串行通信通道进行传输。AO SBK提供的环境监测设备如下所示:

在这里插入图片描述

以下是SBK销售的三种传感器示例:

  • 安全系统的气体分析仪(GASBM):用于连续自动测量工业和非工业场所(如集水池、仓库等)空气中甲烷(CH4)、二氧化碳(CO2)、氧气(O2)体积和/或一氧化碳(CO)质量浓度。

在这里插入图片描述

  • 消防和安全系统控制台(PPOSB):当传感器检测到火灾或烟雾信号时激活警报。

在这里插入图片描述

  • 温湿度传感器(TVSB):将温度和湿度的物理值转换为数字信号,并将其传输到传感器网关。

四.传感器网关

传感器生态系统由物理传感器(如气体和电力分析仪)以及调度器/网关设备(MPSB和TMSB)构成,前者用于物理测量,后者则读取并控制这些基本的I/O传感器,并将数据传输到全球监控系统以进行集中监控。

以下是MPSB和TMSB传感器网关的截图:

  • MPSB传感器网关:设计用于通过各种接口与外部设备进行信息交换。它支持以太网和串行通信协议,包括CAN、RS-232和RS-485。

在这里插入图片描述

  • TMSB传感器网关:与MPSB类似,并包含内置的3/4G调制解调器,使其能够通过互联网将数据传输到远程系统。

在这里插入图片描述

从攻击者泄露的信息中可以看出,当通过SSH连接到网关时,会看到来自制造商的提示信息,其中包含默认的用户名和密码。

  • 用户名:sbk
  • 密码:temppwd

在这里插入图片描述

攻击者还发布了JSON文件,其中包含在此次攻击中受影响的传感器网关的信息,包括设备类型和名称、IP地址、通信端口、位置信息等。

在这里插入图片描述

导出设备JSON列表中包含的设备类型信息包括:

  • MPSB(传感器网关):424台设备
  • TMSB(传感器网关+调制解调器):93台设备
  • IBZ(3G路由器):93台设备
  • Windows 10(工作站):9台设备
  • Windows 7(工作站):1台设备
  • Windows XP(工作站):1台设备

请注意,实际记录的设备数量远少于Blackjack声称的87,000台。我们认为这是因为被攻陷的设备仅限于传感器网关,而非实际的末端传感器。任何数量的传感器都可能通过如RS485/Meter-Bus等串行总线连接到这些网关。

我们将这些信息与攻击者发布的两段Youtube视频进行了关联,这些视频展示了Fuxnet恶意软件的部署。视频中列出的所有设备都与从提取的设备JSON中列出的网关相符,这验证了我们的假设,即只有TMSB/MPSB网关受到了Fuxnet的攻击。

在这里插入图片描述

此外,在这些文件中,我们还看到传感器管理用户界面(UI)的图示和截图,如这些展示了Blackjack发布的网络拓扑结构内容。

在这里插入图片描述

所展示的信息与上述描述的JSON文件相对应。

在这里插入图片描述

3G路由器:iRZ RL22w

除了具有内置3/4G功能的TMSB模块外,将数据传输到互联网的另一种选择是通过物联网路由器。攻击者在其泄露的信息中提到了这些路由器,即由一家名为iRZ的俄公司制造的iRZ RL22w型号,该公司专门生产无线设备。被攻击的路由器型号为iRZ RL22w,是一款3G路由器。实际上,RL22w使用了OpenWRT,这是一个基于Linux的开源嵌入式设备项目,主要用于包括路由器在内的网络设备。

在这里插入图片描述

这些路由器可能被用作互联网网关设备,使传感器能够轻松连接到互联网。通过将SIM卡插入路由器,并利用其3G功能,可以使远程站点连接到互联网。

虽然IRZ 3G路由器确实存在一些已知的公开漏洞,但它们并不能实现零点击的远程代码执行(zero-click remote code execution)。相反,攻击者选择使用SSH服务连接到这些物联网设备,并通过隧道访问内部设备,这可能是在获取这些设备的root密码后进行的。最终,攻击者能够完全获得访问权限,正如他们发布的截图所示。

如下Blackjack发布的截图所示,他们使用root账户连接到被攻陷的IRZ路由器。

在这里插入图片描述

在使用Shodan搜索暴露在互联网上的IRZ设备时,我们发现了数千台设备,其中大多数位于俄。目前,大约有4,100台IRZ路由器直接将其服务暴露在互联网上,其中约有500台启用了Telnet。下图展示了Shodan和Censys检测到数千台暴露在互联网上的iRZ路由器。

在这里插入图片描述

在这些直接暴露的设备中,Shodan和Censys的搜索结果显示,有500台启用了Telnet。

在这里插入图片描述


五.传感器管理与调试软件

为了管理和配置传感器,工程师必须使用SBKManager软件套件。正如SBK网站上的图片所示,该软件通过其专有协议运行在TCP/4321端口上连接设备。SBKManager界面显示了与传感器的连接,使工程师能够对其进行配置。

在这里插入图片描述

使用该软件,可以连接到传感器并配置其I/O、节点和读取值。


六.传感器监控系统

最后,Blackjack声称还攻陷了一个传感器监控系统。该系统很可能是一个接收所有传感器遥测数据和状态报告的监控系统。通过使用该系统,可以接收每个传感器的警报和日志,并对其进行远程控制。通过攻陷该系统,攻击者能够获取所有受管传感器的完整列表,并将传感器与地图进行关联。下图为带有地理定位标记的传感器监控系统的截图。

在这里插入图片描述

显示在顶部栏中选择的医院设施的传感器监控系统视图如下:

在这里插入图片描述


七.分析Fuxnet恶意软件

对Fuxnet恶意软件行为的分析帮助识别了其逻辑流程。以下是攻击者采取的步骤:

  • 部署脚本
  • 锁定设备并破坏文件系统
  • 摧毁NAND芯片
  • 摧毁UBI卷
  • 攻击M-Bus

第一步:部署脚本

攻击者采取的第一步是编制他们希望攻击的目标传感器网关IP的完整列表,并附上与其物理位置相关的传感器描述,详细到其所在的社区、街道或设施。随后,他们将恶意软件分发到每个目标,可能是通过SSH等远程访问协议,或者通过端口4321的传感器协议(SBK)进行分发。

Fuxnet恶意软件的部署脚本如下图所示:

在这里插入图片描述


八.锁定设备并破坏文件系统

一旦在目标设备上运行,恶意软件会生成一个新的子进程来锁定设备。

  • 它首先重新挂载文件系统并赋予其写入权限。
  • 接着,它开始删除关键的文件系统文件和目录,并关闭远程访问服务,如SSH、HTTP、Telnet和SNMP。通过这种方式,即使路由器仍然处于工作状态,也没有人能够远程访问它以恢复其操作。
  • 随后,攻击者删除路由器的路由表,使其与其他设备的通信能力失效。
  • 最后,恶意软件删除设备的文件系统,并使用操作系统的mtdblock设备重写闪存。

下图展示reaper_start函数,负责文件系统破坏和设备锁定。

在这里插入图片描述

第二步:破坏NAND芯片

在破坏文件系统并阻止对设备的访问后,恶意软件进一步对设备上的NAND存储芯片进行物理破坏。为此,恶意软件对SSD NAND芯片的整个区域执行位翻转操作,不断写入和重写内存,直到内存损坏而无法继续写入为止。由于网关使用的是NAND存储器,而这种存储器只能写入和重写数据一定次数(称为NAND写入周期),持续的重写操作会导致芯片故障并无法使用。

在这里插入图片描述

第三步:破坏UBI卷

为了确保传感器不会再次重启,恶意软件重写了UBI卷。首先,恶意软件使用IOCTL接口UBI_IOCVOLUP与控制闪存的管理层交互,告知内核UBI卷将被重写,并且将写入x字节的数据。在正常情况下,内核会在x字节的数据全部写入后知道重写已经完成。然而,恶意软件不会向UBI写入声明的x字节数据,而是写入少于x字节的数据,导致设备无限期地等待重写完成。

随后,恶意软件用垃圾数据(0xFF)覆盖UBI卷,使UBI无法使用,文件系统变得不稳定。下图展示覆盖并破坏管理闪存外围设备UBI卷的源代码片段。

在这里插入图片描述

第四步:监控系统的拒绝服务攻击

如前所述,传感器网关负责接收传感器的信息并将其传输到全球监控系统。这意味着在每个网关的后面,通过专用的串行总线,存在多个传感器在收集物理数据。通常,传感器通过RS485/Meter-Bus通道连接到网关。

下图展示查看TMSB网关上的串行端口,传感器将连接在这些端口后面。恶意软件将尝试向这些端口发送未知的数据包。

在这里插入图片描述

恶意软件通过向串行通道(可能是随机数据)发送大量数据,尽最大努力破坏网关后面的传感器,有效地使串行总线和传感器过载。

在恶意软件运行期间,它会通过Meter-Bus通道反复写入任意数据。这将阻止传感器和传感器网关发送和接收数据,使传感器数据采集变得无效。因此,尽管攻击者声称攻陷了87,000台设备,但实际上他们似乎只感染了传感器网关,并试图通过泛洪连接传感器与网关的Meter-Bus通道造成进一步的破坏,类似于对不同的连接传感器设备进行网络模糊测试。因此,看来只有传感器网关被破坏了,而末端传感器并未受损。

在这里插入图片描述


九.烧毁传感器?

M-Bus

串行M-Bus(Meter-Bus)通信协议主要用于计量应用,尤其是远程读取电力、天然气、水和热量等公用事业的计量表。它基于EN-13757系列欧洲标准。

  • https://m-bus.com/overview

本质上,M-Bus是一个复杂而详细的串行协议,运行在两线总线上,允许在不同波特率下进行异步串行通信。根据该协议,一个主节点连接到多个从节点;在Moscollector攻击中,这些从节点是负责数据采集的传感器设备,并通过总线轮询它们以获取数据。下图展示基本M-Bus通道结构的示意图。

在这里插入图片描述

M-Bus协议的消息结构由一系列不断通过总线发送的数据帧组成。每个帧都以M-Bus起始分隔符开始,随后是被访问的传感器的唯一标识符(每个传感器都有一个唯一标识符,使主节点能够与特定设备通信)、所发送的数据和校验和。

在AO SBK架构中,物理传感器是M-Bus从节点,仅将其收集的度量数据发送到传感器网关(MPSB/TMSB模块),这些网关充当主节点。通过控制传感器网关,可以向通过串行总线连接到它的所有传感器发送M-Bus消息。

以下是M-Bus文档中描述的一些M-Bus数据包示例。

  • https://m-bus.com/documentation-wired/06-application-layer

在这里插入图片描述

M-Bus有详细的文档记录,甚至还有多个客户端使用户能够轻松地与支持M-Bus的设备进行通信,例如pyMeterBus。

  • https://github.com/ganehag/pyMeterBus/tree/master

攻击者分享了他们用于创建和发送M-Bus消息的结构,以及他们使用的CRC常量。攻击者发布的一张图片,展示了他们的MBus协议结构和常量,可以在此处看到该代码:

在这里插入图片描述


十.工控系统(ICS)恶意软件和M-Bus模糊测试

为了攻击和破坏莫斯科的天然气和电力监控基础设施中的传感器组件,Blackjack开发了一款定制的工业恶意软件。如上所述,我们称这次攻击为“M-Bus泛洪(Flooding)”,即通过串行通道(很可能是RS485)不断发送M-Bus帧的过程。

  • https://en.wikipedia.org/wiki/RS-485

我们推测,攻击者试图通过发送大量帧来使总线通道超载,从而禁用该通道上的传感器通信。看起来,攻击者不仅想泛洪串行通道,还可能试图触发传感器中的某个漏洞或错误,以损坏它们。

为了对不同传感器的M-Bus协议栈进行模糊测试,攻击者在工业控制系统恶意软件中实现了一个模块,用于执行这部分攻击。经过进一步研究并审查攻击者在4月15日发布的新截图后,我们发现了他们的模糊测试方法。如下图所示,攻击者发布的代码展示了处理M-Bus模糊测试的过程。

在这里插入图片描述

在其恶意软件中,Blackjack实现了两种M-Bus模糊测试方法:

  • 结构化模糊测试(structured fuzzing)
  • 随机模糊测试(random fuzzing)

在随机模糊测试方法中(代码第305-310行,mk_mbus_mode == 1),Blackjack的恶意软件简单地生成随机字节,并通过M-Bus线发送出去。为了确保帧不被传感器丢弃,恶意软件还计算了一个简单的M-Bus CRC,并将其附加到随机帧中。这种方法在所有可能的M-Bus有效载荷范围内“运行”,无论是否有效,期望引发传感器中的问题。这类似于模糊测试软件寻找0day漏洞的方法。

在Blackjack的结构化模糊测试方法中(代码第285-303行,mk_mbus_mode == 0),Fuxnet尝试生成一个有效的M-Bus帧,仅随机化特定的M-Bus字段。通过这种方式,恶意软件遵循了M-Bus协议结构,这增加了传感器将数据包视为有效并完全解析的可能性。这样,传感器会执行更多的解析流程,从而增加了触发漏洞的机会。

通过在其恶意软件中实施这两种模糊测试方法,Blackjack表明,其真正目标不仅仅是压垮总线通道,而是希望触发一个未被发现的漏洞,从而破坏传感器本身。


十一.关键要点总结

Blackjack据称发起Moscollector攻击,其对莫斯科及部分地区民用基础设施供应商造成影响,并对应急检测和响应能力造成影响。我们无法通过黑客组织泄露的信息和乌媒体的报道以外的途径加以确认。

Team82对此次攻击公开信息的分析,包括Fuxnet恶意软件,展示了对由Moscollector运营和管理的这些关键服务所连接设备的深入理解。

攻击者开发并部署了针对网关的恶意软件,该恶意软件删除了文件系统和目录,禁用了每个设备的远程访问服务和路由服务,重写了闪存,摧毁了NAND存储芯片、UBI卷等,从而进一步破坏了这些网关的运行。

Ruexfil网站还声称摧毁了分布在莫斯科及其他地区的87,000个远程传感器和物联网采集器。Team82认为这些传感器和采集器可能仍然完好无损,仅有500个或更多的传感器网关受损。每个网关都需要单独更换或重新刷写固件。

最新更新补充:

  • Blackjack黑客组织在这篇博客发布后联系了Team82,提供了一些更新信息,特别是关于Team82的争议——基于我们最初从Blackjack公开的信息中进行的研究,称只有大约500个传感器网关受到了网络攻击。Blackjack表示,它公开的JSON文件只是其活动全貌的一个样本,实际上攻击了2,659个传感器网关,其中大约1,700个“可达且成功遭到攻击”。
  • 该团队还表示,他们从未声称破坏了87,000个传感器,而是通过破坏网关并使用恶意软件代码中的专用M-Bus模糊测试工具来禁用这些传感器。
  • “我们无法确定有多少传感器实际上被烧毁了(通过M-Bus模糊测试),因为……嗯……我们关闭了网络并禁用了对传感器网关的网络访问,所以在所有路由器恢复之前,没有人(无论是我们还是他们)能够检查”,Blackjack在给Team82的消息中说。“我们禁用了smsd(他们用来触发远程重启的),所以M-Bus模糊测试工具将继续进行直到有人亲自关闭传感器网关。”
  • Blackjack还更新了其网站以反映这一新信息,网址如下:https://ruexfil.com/mos/。Team82已更新这篇博客,介绍了M-Bus模糊测试,以及这种攻击如何禁用传感器网关并用随机数据包淹没它们管理的传感器。

在这里插入图片描述

2024年4月28日是Eastmount的安全星球——『网络攻防和AI安全之家』正式创建和运营的日子,该星球目前主营业务为 安全零基础答疑、安全技术分享、AI安全技术分享、AI安全论文交流、威胁情报每日推送、网络攻防技术总结、系统安全技术实战、面试求职、安全考研考博、简历修改及润色、学术交流及答疑、人脉触达、认知提升等。下面是星球的新人券,欢迎新老博友和朋友加入,一起分享更多安全知识,比较良心的星球,非常适合初学者和换安全专业的读者学习。

在这里插入图片描述
目前收到了很多博友、朋友和老师的支持和点赞,尤其是一些看了我文章多年的老粉,购买来感谢,真的很感动,类目。未来,我将分享更多高质量文章,更多安全干货,真心帮助到大家。虽然起步晚,但贵在坚持,像十多年如一日的博客分享那样,脚踏实地,只争朝夕。继续加油,再次感谢!

(By:Eastmount 2024-08-17 星期六 夜于贵阳 http://blog.csdn.net/eastmount/ )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eastmount

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值