一个短信拦截马的简单分析
字数 1246 2025-08-22 12:22:36
Android短信拦截木马分析与防御指南
一、样本概述
这是一个伪装成中国移动(10086)积分兑换应用的恶意软件,通过短信钓鱼诱导用户安装。主要恶意行为包括:
- 拦截用户短信
- 隐藏自身图标
- 激活设备管理器防止卸载
- 窃取短信内容并发送至攻击者服务器
- 收集设备信息(IMEI、手机号等)
二、技术分析流程
1. 样本初步观察
- 安装后自动隐藏图标
- 在应用管理中无法正常卸载
- 伪装成"积分兑换现金"的钓鱼页面
2. 静态分析准备
将APK文件后缀改为.zip或.rar解压,获取关键文件:
classes.dex- 包含应用代码AndroidManifest.xml- 声明权限和组件
3. 反编译DEX文件
使用工具链:
dex2jar -> jar2smali
将DEX转换为可读的smali代码
4. 关键信息提取
编写Python脚本提取敏感信息:
import os
import re
# 正则表达式匹配模式
EMAIL_PATTERN = r'[0-9a-zA-Z_]{0,19}@[0-9a-zA-Z]{1,13}\.[com,cn,net]{1,3}'
PHONE_PATTERN = r'1[35678]\d{9}'
URL_PATTERN = r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*
$$
,]|(?:%[0-9a-fA-F][0-9a-fA-F]))+'
def extract_info(file_content):
emails = re.findall(EMAIL_PATTERN, file_content)
phones = re.findall(PHONE_PATTERN, file_content)
urls = re.findall(URL_PATTERN, file_content)
return emails, phones, urls
5. AndroidManifest分析
关键权限声明:
<uses-permission android:name="android.permission.WRITE_SMS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
关键组件:
- 设备管理器组件(com.fhgfd.heee.kc)
- 高优先级广播接收器(priority="2147483647")
- 后台服务(com.fhgfd.heee.kse)
6. 加密通信分析
样本使用AES加密通信,解密函数示例:
public static String decrypt(String content, String key) {
try {
Cipher cipher = Cipher.getInstance("AES");
cipher.init(2, new SecretKeySpec(parseHexStr2Byte(key), "AES"));
return new String(cipher.doFinal(parseHexStr2Byte(content)));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
解密得到攻击者手机号:13066310152
三、恶意行为详解
1. 短信拦截机制
- 注册高优先级SMS_RECEIVED广播接收器
- 获取短信内容:
message.getOriginatingAddress() // 发件人 message.getMessageBody() // 短信内容 - 拦截后停止广播传播
2. 数据回传
收集并发送以下信息至攻击者:
- 设备IMEI:
TelephonyManager.getDeviceId() - 本机号码:
TelephonyManager.getLine1Number() - 拦截的短信内容
- 通过HTTP POST发送至攻击者服务器
3. 持久化技术
- 注册BOOT_COMPLETED广播实现开机自启
- 激活设备管理器防止卸载
- 监听PACKAGE_ADDED/PACKAGE_REMOVED广播监控应用安装状态
4. 自我保护
- 动态隐藏应用图标
- 使用无意义包名(iuxkikw.zkjaksj.jhyvu)增加分析难度
- 敏感字符串加密存储
四、防御方案
1. 用户防护建议
- 警惕非官方渠道的"积分兑换"类短信
- 安装前检查应用权限,特别是短信相关权限
- 不随意激活未知来源的设备管理器
- 使用安全软件进行扫描
2. 开发者检测方案
- 检查Manifest中的危险权限组合
- 监控高优先级广播接收器
- 检测设备管理器激活行为
- 分析网络通信中的敏感数据外传
3. 企业防护措施
- 移动设备管理(MDM)方案
- 网络流量监控,阻断恶意域名
- 员工安全意识培训
- 应用白名单机制
五、分析工具推荐
-
反编译工具:
- JADX/JEB
- Apktool
- dex2jar
-
动态分析:
- Frida
- Xposed框架
- Android模拟器
-
辅助工具:
- 正则表达式测试器
- 加解密工具集
- 网络抓包工具(Charles/Fiddler)
通过全面分析此类样本,可以更好地理解移动威胁的攻击手法,并制定有效的防御策略。