0418-Bashlite恶意软件阴魂未散-智能设备面临新考验

# Bashlite恶意软件阴魂未散:智能设备面临新考验

0x01 概况
=======

* * *

早在2014年,Shell Shock(CVE-2014-6721)便作为一个高达10级的漏洞受到极大的关注,而利用Shell Shock疯狂作案的Bashlite恶意软件在当时已对不少设备造成了威胁,这其中包括了路由器、手机、可穿戴设备等。近日,360 QVM团队又捕获了该恶意程序的最新变种,并追踪到了相关多个平台的恶意程序,相比老版的bashlite,新版支持的平台更多,且成功率更高,多种智能设备将受到Bashlite恶意软件影响。

0x02 样本分析
=========

* * *

该版本一共有25个文件,其中包括一个shell脚本文件和24个elf文件,支持不同架构的设备,如下表:

文件名 文件类型
lnta ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), not stripped
lntb ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), not stripped
lntc ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
lntd ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
lnte ELF 32-bit MSB executable, Motorola 68020, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
lntf ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
lntg ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), dynamically linked (uses shared libs), not stripped
lnth ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), dynamically linked (uses shared libs), not stripped
lnti ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
lntj ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
lntk ELF 32-bit LSB executable, Renesas SH, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
lntl ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
nt.sh POSIX shell script text executable
slnta ELF 32-bit LSB executable, ARM, version 1, statically linked, not stripped
slntb ELF 32-bit LSB executable, ARM, version 1, statically linked, not stripped
slntc ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
slntd ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not stripped
slnte ELF 32-bit MSB executable, Motorola 68020, version 1 (SYSV), statically linked, not stripped
slntf ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not stripped
slntg ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, not stripped
slnth ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, not stripped
slnti ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), statically linked, not stripped
slntj ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), statically linked, not stripped
slntk ELF 32-bit LSB executable, Renesas SH, version 1 (SYSV), statically linked, not stripped
slntl ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped

文件名:nt.sh
文件大小:21.9kb
MD5: c14761119affea9569dd248a0c78d0b4

该程序可用于更新作者本身写的程序,也用于将已感染bashlite的主机占为己有,我们来看看它的主要功能:

先清除了老版本使用的配置文件,并杀掉了老版本的进程;

![](http://drops.javaweb.org/uploads/images/31f0895f78e51ea5536a240ed5a5f7882eb09036.jpg)

下载并并运行最新的恶意程序,这里使用了curl、lynx、wget等多种方式下载,确保下载成功;

![](http://drops.javaweb.org/uploads/images/654de35d0744a0a9c059bedbeff70ed59ebe7252.jpg)

当确认与服务端建立连接后则停止。

![](http://drops.javaweb.org/uploads/images/f261ee718b94ab1778f48fc288f118b7ab7aa7de.jpg)

其它文件:

其它文件完成了主要的恶意功能,不同文件为不同平台所打造,但功能都是类似的,以80386平台为例,我们来看看slntd的主要功能:

先简单的strace一下该程序:

![](http://drops.javaweb.org/uploads/images/e5a79bae3313b923992fdadad147ee06b5fad14f.jpg)

可以看到该程序先设置了线程名,随后连接了8.8.8.8,然后读取了路由表,之后的操作都是由几个线程完成,我们详细的跟一下:

1.使用prctl修改线程名为[cpuset]

![](http://drops.javaweb.org/uploads/images/704bef0a2b649a81c422315fcf1c1e22dc8ea67e.jpg)

2.连接8.8.8.8来判断用户是否已连接到网络,若连接到网络则通过路由表来获得ip地址并得到设备名称,再由ioctl得到mac地址:

![](http://drops.javaweb.org/uploads/images/86fe01ea5ef470f83de5fbc0179f0a1d643dc060.jpg)

3.连接C&C地址(162.248.79.66)

![](http://drops.javaweb.org/uploads/images/9c80797194616d40f2bef104efc60962536b7a93.jpg)

简单对该地址扫描,发现其开放了21,22端口,我们尝试着访问一下:

![](http://drops.javaweb.org/uploads/images/69301b6bc8c50818ceb70e504351e6fef4169c81.jpg)

可以看到上面有作者用于交叉编译的工具和脚本,还有已生成好的bot文件,从nt2.sh可以看到有新的地址188.209.49.163:443,而且底部有_Generated Mon, 26 Oct 2015 10:38:23 GMT by proxy (squid/3.1.23)_,由此可见作者可能已经拥有了大量的肉鸡,已经必须使用squid来承受并发的压力,当然也有可能仅仅是为了隐藏自己。

4.接受远程发来的指令,与老版本相似,支持一下几种指令:

指令 功能
PING 给服务端发送”PONG!”,应为上线提示功能
GETLOCALIP 给服务端发送本机IP
SCANNER 执行StartTheLelz函数,随机生成IP地址,并尝试使用弱口令连接去感染更多主机
HOLD,JUNK,UDP,TCP 针对远程发来的IP和不同攻击指令,对目标主机发动DOS攻击
KILLATTK 终止所有攻击
LOLNOGTFO 卸载

值得一提的是SCANNER指令,执行该指令时会尝试连接大量的随机地址,占用资源明显。

![](http://drops.javaweb.org/uploads/images/e34e6f88576d17def0b1c46ff7e8d9e23ebf9f02.jpg)

若主机存在,则尝试使用telnet方式感染主机,被感染后的主机仍可以继续寻找其它可被感染的目标。

![](http://drops.javaweb.org/uploads/images/448a164625d360eaa8e2c03dcd0188b3d3886f15.jpg)

0x03 总结
=======

* * *

Bashlite危害较大,其新版本不光会影响到设备的性能,占用大量网络资源,还有可能会造成隐私泄露等危害,360QVM小组提醒各智能设备厂商做好防范措施,固件使用高版本的BASH,且不要使用弱口令作为验证手段。管理员们要时刻注意主机的异常进程和网络流量情况。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容