一个短信拦截马的简单分析
字数 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)方案
  • 网络流量监控,阻断恶意域名
  • 员工安全意识培训
  • 应用白名单机制

五、分析工具推荐

  1. 反编译工具:

    • JADX/JEB
    • Apktool
    • dex2jar
  2. 动态分析:

    • Frida
    • Xposed框架
    • Android模拟器
  3. 辅助工具:

    • 正则表达式测试器
    • 加解密工具集
    • 网络抓包工具(Charles/Fiddler)

通过全面分析此类样本,可以更好地理解移动威胁的攻击手法,并制定有效的防御策略。

Android短信拦截木马分析与防御指南 一、样本概述 这是一个伪装成中国移动(10086)积分兑换应用的恶意软件,通过短信钓鱼诱导用户安装。主要恶意行为包括: 拦截用户短信 隐藏自身图标 激活设备管理器防止卸载 窃取短信内容并发送至攻击者服务器 收集设备信息(IMEI、手机号等) 二、技术分析流程 1. 样本初步观察 安装后自动隐藏图标 在应用管理中无法正常卸载 伪装成"积分兑换现金"的钓鱼页面 2. 静态分析准备 将APK文件后缀改为.zip或.rar解压,获取关键文件: classes.dex - 包含应用代码 AndroidManifest.xml - 声明权限和组件 3. 反编译DEX文件 使用工具链: 将DEX转换为可读的smali代码 4. 关键信息提取 编写Python脚本提取敏感信息: 5. AndroidManifest分析 关键权限声明: 关键组件: 设备管理器组件(com.fhgfd.heee.kc) 高优先级广播接收器(priority="2147483647") 后台服务(com.fhgfd.heee.kse) 6. 加密通信分析 样本使用AES加密通信,解密函数示例: 解密得到攻击者手机号: 13066310152 三、恶意行为详解 1. 短信拦截机制 注册高优先级SMS_ RECEIVED广播接收器 获取短信内容: 拦截后停止广播传播 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) 通过全面分析此类样本,可以更好地理解移动威胁的攻击手法,并制定有效的防御策略。