基于Telegram的安卓恶意软件HeroRAT分析
字数 1295 2025-08-20 18:17:42
HeroRAT安卓恶意软件分析教学文档
一、HeroRAT概述
HeroRAT是一个基于Telegram Bot API的安卓远程管理工具(RAT)家族,由ESET安全研究人员于2018年6月发现。该恶意软件主要通过第三方应用商店、社交媒体和即时通信应用在伊朗地区传播。
主要特点:
- 使用Telegram BOT API作为C2通信渠道
- 基于Xamarin框架开发(使用C#语言)
- 采用TeleSharp库实现Telegram Bot功能
- 具有典型的RAT功能(信息窃取、远程控制等)
- 通过隐藏图标和假卸载界面实现持久化
二、技术分析
1. 传播方式
主要通过以下渠道传播:
- 第三方安卓应用商店
- 社交媒体平台
- 即时通信应用
2. 变种与版本
HeroRAT有三个不同版本,主要区别在于:
- 功能集不同(价格不同)
- 使用的package名称不同
- 图标不同
- 僵尸控制器用户名不同
3. 恶意行为分析
3.1 权限请求
恶意应用请求的权限包括(但不限于):
- 读取短信
- 读取通话记录
- 获取位置信息
- 文件系统访问权限
- 网络访问权限
3.2 持久化机制
- 安装后显示"无法在您的设备上运行"的虚假信息
- 展示假的卸载过程
- 使用
setComponentEnabledSetting设置为disabled隐藏应用图标 - 指定
DontKillApp参数保持后台运行
关键代码:
setComponentEnabledSetting(componentName, 2, 1); // 隐藏图标
3.3 开发框架
- 使用Xamarin框架开发(C#语言)
- 关键DLL文件:
- TeleSharp.dll(Telegram API实现)
- Mono.Android.dll
- mscorlib.dll
- System.dll
- Java.Interop.dll
3.4 通信机制
- 通过Telegram Bot API与C2服务器通信
- 在源代码中硬编码Bot Token(MainToken)
- 通过Telegram REST API查询Bot信息
- 只接受特定发送者ID的命令(Manager ID检查)
通信验证代码:
if (update.Message.From.Id != this.ManagerId)
{
// 拒绝非授权命令
}
4. 功能分析
HeroRAT具备典型的RAT功能:
- 读取短信内容
- 获取通话记录
- 获取设备位置信息
- 远程控制设备(开关机等)
- 文件下载/上传
- 其他设备信息收集
三、检测与防御
1. YARA检测规则
rule HeroRAT {
meta:
description = "Yara Rule to individuate some samples of HeroRAT Android malware"
author = "CSE CybSec Enterprise - ZLab"
last_updated = "2018-07-31"
tlp = "white"
category = "informational"
strings:
$a = "assemblies/TeleSharp.dll"
$b = "assemblies/Mono.Android.dll"
$c = {49 64 00 67 65 74 5F 4D 79 4D 61 6E 61 67 65 72}
$d = {52 65 70 6C 79 4D 65 73 73 49 64 00 73 65 74 5F 43 68 61 74 49 64}
condition:
$a and $b and ($c or $d)
}
2. 防御建议
- 只从官方应用商店下载应用
- 警惕要求过多权限的应用
- 监控设备异常行为(如突然变慢、发热等)
- 定期检查设备上运行的服务
- 使用可靠的安全软件进行防护
- 对Xamarin开发的APK保持警惕
四、溯源分析
1. 开发者信息
- 通过分析Manager用户名可追溯到Telegram账户
- 部分代码可能来源于其他恶意软件(如IRRAT、TeleRAT)
2. 商业化特征
- 不同版本按功能定价出售
- 提供定制化服务(不同package名、图标等)
五、总结
HeroRAT代表了使用Telegram作为C2通道的安卓RAT新趋势,其特点包括:
- 利用流行IM平台作为通信渠道
- 使用跨平台开发框架(Xamarin)
- 采用商业化运作模式
- 具有较强的隐蔽性和持久性
安全研究人员和用户应关注此类恶意软件的发展趋势,采取相应的防护措施。