执行摘要
Infamous Chisel是一组针对Android设备的恶意组件,与Sandworm组织活动相关。该恶意软件会定期扫描文件和网络信息进行渗漏,从受感染设备窃取系统和应用程序配置文件,通过Tor隐藏服务和SSH提供网络后门访问。其他功能包括网络监控、流量收集、SSH访问、网络扫描和SCP文件传输。
概述
多国网络安全机构确认Sandworm组织在针对乌克兰军方Android设备的攻击活动中使用了名为Infamous Chisel的新型移动恶意软件。该组织此前已被关联到俄罗斯GRU的GTsST部门。
恶意软件摘要
Infamous Chisel是一组组件,通过Tor网络实现对受感染Android设备的持久访问,并定期整理和窃取受害者信息。窃取的信息包括系统设备信息、商业应用程序信息以及乌克兰军方特定应用程序。
恶意软件详情
组件元数据
| 文件名 | 描述 | 架构 | 大小 |
|---|---|---|---|
| killer | 进程操作组件 | ELF 32-bit ARM | 30160字节 |
| blob | Tor进程解压器和启动器 | ELF 32-bit ARM | 2131691字节 |
| ndbr_armv7l | 多功能二进制文件 | ELF 32-bit ARM | 328296字节 |
| db | 多功能二进制文件 | ELF 32-bit ARM | 5593884字节 |
| td | Tor P2P网络应用程序 | ELF 32-bit ARM | 5265772字节 |
| tcpdump | 标准Tcpdump工具 | ELF 32-bit ARM | 759528字节 |
功能分析
持久化机制
netd组件通过替换系统二进制文件/system/bin/netd实现持久化。恶意netd被执行时会检查init是否为父进程,如果是则fork并执行备份在/system/bin/netd_的合法进程,同时保留root权限执行恶意代码。
数据渗漏逻辑
所有文件渗漏都通过HTTP POST请求完成。文件被选中渗漏时会计算MD5哈希值,并与存储在.google.index文件中的先前发送的文件哈希列表进行交叉引用。初始分配大小为256KB,最多可存储16,384个文件哈希。
信息收集
netd组件进入无限循环主程序,各种定时器触发不同任务的执行:
文件与设备信息渗漏(每23小时53分钟20秒):
- 递归搜索指定目录中匹配预定义扩展名的文件
- 执行信息收集脚本,收集设备硬件配置信息
- 搜索应用程序目录并渗漏所有文件
- 渗漏特定绝对路径的文件
配置和备份文件渗漏(每10分钟):
- 搜索指定目录中的
.json或.json.bak文件并立即渗漏
局域网扫描(每1天23小时46分钟20秒):
- 使用内置网络扫描器扫描本地网络
- 记录活动主机、开放端口和横幅信息
网络通信
文件渗漏通信
当需要渗漏文件时,会与硬编码的本地IP和端口建立TLS连接。如果连接失败,则使用硬编码域名作为备用连接。
HTTP POST请求格式:
|
|
检测指标
妥协指标(IOCs)
包括文件路径、进程名称、网络端口和域名等检测指标,如:
- 网络通信:
POST /server.php?ver=16&bid=%s&type=%d - 文件路径:
/system/bin/netd_、/data/local/tmp/.syscache.csv - 网络端口:127.0.0.1:1129(SOCKS)、127.0.0.1:34371(隐藏服务)
- 域名:www.geodatatool[.]com
YARA规则
提供了多个高置信度的YARA检测规则,涵盖创建的文件路径、搜索的应用程序目录、POST请求字符串、文件扩展名列表等特征。
结论
Infamous Chisel组件属于低到中等复杂程度,在开发时似乎很少考虑防御规避或隐藏恶意活动。搜索与军事应用程序相关的特定文件和目录路径并渗漏这些数据,强化了其意图访问这些网络的目的。尽管组件缺乏基本的混淆或隐身技术来伪装活动,但攻击者可能认为这没有必要,因为许多Android设备没有基于主机的检测系统。