ARES ADB IOT僵尸网络分析
WootCloud研究人员近期发现一起受感染的安卓数字机顶盒(Set Top Boxes,STB)的过程中发现了攻击基于安卓的IOT设备来触发大规模感染的Ares ADB僵尸网络。研究人员之前就发现有攻击者滥用或利用安卓ADB协议,ADB协议是大多数安卓设备和相关的客户端调试和远程管理安卓设备的通信组件。
背景信息
安卓数字机顶盒是运行特定安卓版本的媒体流设备。使用安卓操作系统的这类设备的数量正在指数级的增长。安卓操作系统除了广泛用于移动设备、电视、STB、智能手表等外,也广泛用于IOT设备。攻击者开发的安卓恶意软件利用安卓设备中的漏洞为其牟利。近期研究人员发现多个针对安卓设备的威胁,包括加密货币挖矿、移动设备监控、信息窃取器恶意软件等。研究人员进一步分析发现受感染的设备主要是攻击安卓系统的ADB服务。Android Debug Bridge (adb)是所有安卓设备中存在的组件。ADB由客户端、服务器和daemon adbd组成。一般来说,adb服务器以进程的形式运行来建立客户端和daemon之间的通信信道。也就是说,adb就是客户端用来触发运行服务器的设备上命令的管理组件(工具),而adbd作为后台进程。
Android Debug Bridge
威胁分析
与安卓设备相关的威胁除了漏洞外,就是运行在联网设备上的开放的、非认证的adb服务。如果攻击者发现设备开放TCP 5555端口,就会确认和验证服务的安全特征,包括认证和授权控制。研究人员发现adb服务主要运行在TCP 5555端口上,而且不仅仅用于调试,也用于远程管理操作。如果远程管理可以通过调试接口完成,也就是说通过TCP 5555端口访问设备可以实现通过shell进行远程代码执行,上传或下载定制应用,数据访问或其他。
研究人员发现了一个新的Ares僵尸网络,其主要攻击向量就是通过ADB接口感染和传播。研究人员分析发现:
攻击者利用基于安卓系统的设备的配置问题或暴露的ADB远程管理或调试接口来安装Ares bot,主要是STB、电视。
Ares bot安装成功后,会启动扫描器来:通过ADB接口获取设备指纹和检测更多的安卓设备。
安装特定攻击者的payload来触发一系列攻击活动,比如加密货币挖矿。
Ares ADB特征
伪装二进制文件
ARES bot是通过adb二进制文件进行伪装和传播的。一般来说,二进制文件部署在data/local/tmp文件夹中,可以通过定制脚本来执行。下图可以验证伪装adb二进制文件的Ares bot的分发和安装。图1表示在被黑的安卓设备中执行Ares bot的输出。输出表明讲述主机会被kill并开始新实例。
图1: Ares bot执行的结果 – 伪装的ADB二进制文件
Ares bot执行后,就会开始触发ADB来扫描TCP 5555端口,如图2所示:
图2: ADB扫描TCP 5555端口
Ares bot可以复制并将自己写入其他运行暴露ADB访问的目标安卓IOT设备。启动Password Cracking Telnet Scans和感染设备:二进制文件执行后,也要注意Ares触发暴露的telnet服务器扫描来用基于密码的扫描尝试来入侵设备,如图3所示:
图3: Telnet扫描被黑的STB/TV安卓IOT设备
通过Telnet接口入侵其他设备的完整过程如下所示:
TELNET_READ_IACS : 初始化telnet连接线程,并检测是否telnet服务
listening
TELNET_USER_PROMPT: 检测和获取telnet用户提示并提供用户名
TELNET_PASS_PROMPT: 检测和获取telnet password提示并提供password
TELNET_WAITPASS_PROMPT: 成功登陆后等待系统提示,并通过下面命令获取shell:
enable
system
shell
sh