Torii:打不死的隐秘IoT僵尸网络

新IoT僵尸网络潜伏周围,同时运行6个不同例程以实现长期隐蔽驻留。

因为陷入蜜罐的某些实例出自Tor已知节点,该IoT僵尸网络得名Torii。其攻击目标涵盖多种架构,但功能中似乎并未含有DDoS、垃圾邮件或加密货币挖矿等IoT僵尸网络常见的恶意功能。

不过,该僵尸网络的信息渗漏功能强大而丰富,还有可通过多层加密通信获取并执行指令及文件的模块化架构。

安全公司Avast发现,Torii至少自2017年12月起开始活跃,可感染MIPS、ARM、x86、x64、PowerPC、SuperH、Motorola 68k 等架构驱动的设备。该恶意软件对远程登录(Telnet)协议弱凭证下手,初步入侵后执行Shell脚本以确定设备的架构,并通过HTTP或FTP下载合适的攻击载荷。

Shell脚本会去取作为第二阶段载荷释放器的二进制文件,该ELF文件通过多种方式尝试实现长期驻留。二段攻击载荷包含在该ELF文件中,被安装到主机系统的伪随机位置。

载荷执行后,释放器通过6种不同方法实现驻留:

1) 注入代码到环境变量设置文件~\.bashrc;

2) 定时任务里添加“@reboot”重启语句;

3) 作为系统守护服务由systemd添加到开机启动中;

4) 写入 /etc/init 和环境变量PATH;

5) 修改SELinux策略管理;

6) 添加到初始化进程配置文件/etc/inittab中。

作为成熟的僵尸主机,第二阶段可以执行取自命令与控制(C&C)服务器的指令。该恶意软件还具备简单的反调试技术、数据渗漏、多级通信加密和其他功能。

因为第二阶段的很多功能在释放器中也存在,Avast的安全研究员认为,释放器与第二阶段攻击载荷都是同一个程序员开发的。不过,释放器中的代码不随目标架构而改变,对所有架构都使用同一套代码;第二阶段攻击载荷则根据目标硬件架构不同,代码略有差异。

该恶意软件的反分析方法比较简单,只是在执行后睡眠60秒,以及尝试随机化进程名以规避进程黑名单检测。其作者还删除了可执行文件中的符号,给软件分析制造困难。

C&C地址以异或(XOR)密钥字符的方式简单加密,每个Torii变体都预留了3个C&C地址。自9月15日期,这些域名都解析到66.85.157.90,该IP地址上还托管有其他可疑域名。恶意软件与C&C服务器的通信经由 TCP 443 端口进行。

连接C&C服务器时,Torii会将主机名、进程ID、第二阶段可执行文件的路径、/sys/class/net/%interface_name%/address中所有MAC地址机器MD5散列值、调用uname()获取到的数据(操作系统名、版本、发行版号、机器ID号),以及其他指令收集到的额外信息,都渗漏出来。

该恶意软件不断轮询服务器是否有需要执行的指令,接收指令并执行后返回指令的执行结果。

在攻击者的FTP服务器上发现的另一个二进制文件 sm_packed_agent 可以用来向目标设备发送远程指令。该文件以Go语言编写,重编译和平台迁移很方便,而且可以作为后门或服务协调多台机器。

尽管我们的调查仍在继续,Torii很明显是IoT恶意软件进化的一个样本,其复杂性超越了我们以往所见。Torii一旦感染主机,不仅仅会向C&C发送有关受害主机的大量信息,还会通过与C&C的通信执行任意代码或投放任意攻击载荷。在不远的将来,Torii可能会演进为模块化的平台。

Avast披露博客:
https://blog.avast.com/new-torii-botnet-threat-research

上一篇:开放式银行业(open banking)即将引发银行业地震

下一篇:GeekPwn2018 迎来黑客界最强大脑挑战AI安全