PoisonCake:内置于手机ROM的恶意代码模块

AVL移动安全团队近日联合LBE发现一款内置于手机ROM的恶意代码模块。由于该恶意代码作者将此恶意模块运行释放的模块称为“Cake”,所以我们将其命名为“PoisonCake(毒蛋糕)”。

在分析过程中,我们还发现该恶意代码中存在明显的恶意代码作者身份标识tjj,ruanxiaozhen,并且其最后编译时间为2014年8月26日10点20分。

该恶意模块恶意行为特点如下:

PoisonCake可以单独运行,解密释放相关主体功能模块,在后台监控自身进程并执行以下恶意行为:

1. 注入Phone进程,拦截短信和发送短信。

2. 实现短信和WAP扣费。

3. 窃取手机信息,并上传至远程服务器

4. 后台联网下载文件。

5. 能够进行自我更新。

经分析,我们发现该恶意模块的恶意行为与“长老木马三代”较为相似,但是在实现方式上有较大差异。下面将对恶意模块PoisonCake进行详细的分析。

一、PoisonCake运行机制

PoisonCake运行时,会将自身移植到一个隐藏目录/data/.3q下,并在后台监控自身进程运行状态,防止自身进程被终止。

同时它在执行过程中会创建多个目录和文件,主要有:

/data/.3q/dm

/data/usr(目录)

/data/usr/dalvik-cache(目录)

/data/usr/plugins(目录)

/data/.l1

/data/.l6

/data/.l9

/mnt/sdcard/sysv/lv

/mnt/sdcard/sysv/lg

PoisonCake的主体模块分为reactore.dex.jar核心框架和8个插件模块,其中插件模块主要提供了恶意扣费、联网上传下载、获取手机信息等功能,并且能够注入系统Phone进程,执行短信的监听和发送,以及联网控制。

其整体运行框架如下所示:

 

二、dm模块

dm模块是PoisonCake的运行核心,主要完成恶意代码的初始化,恶意模块reactor.dex.jar的释放和运行,并后台监控自身进程是否存在,同时还将关键的字符串信息进行加密。

1. 恶意代码初始化

dm模块接受“–setup”参数完成初始化行为:

1)解密关键的字符串信息为字符串数组。

2)判断/data/.dmtjjexit是否存在,若存在,则进程退出。

3)设置进程环境变量,并将进程名称改为jworker/0I:2H:1J。

4)将自身拷贝到/data/.3q/dm,并创建/data/usr目录,然后删除自身。

5)fork自身并退出,子进程执行/data/.3q/dm,由其完成余下工作。

2. 后台监控

dm模块采用了文件锁和线程的方式,能持续监控自身进程保持后台运行。dm运行时后台有两个进程,如下图所示。

创建子线程,不断循环创建自身子进程的行为,并且利用文件锁,保证建立的子进程在父进程存在的时候阻塞:

 

当kill掉父进程或子进程中任意一个时,其会再创建一个新的进程。

3. reactor.dex.jar解密释放和运行

最后dm进程会从自身文件中解密释放reactor.dex.jar至/data/usr:

 

dm随后将释放的reactore.dex.jar加载运行,其利用libdvm.so中的JNI_CreateJavaVM运行jar,其参数列表为

–Djava.class.path=/data/usr/reactore.dex.jar-Djava.compiler=NONE -verbose:jni

然后注册native函数getGirls,最后执行com/tj/Main的main方法。

4. getGirls方法

dm还同时为reactore.dex.jar提供native方法实现,其接受两个参数,作用为解密指定jar文件到指定路径。

三、reactore.dex.jar模块

reactore.dex.jar是由一个负责初始化环境、循环遍历执行事件和命令的框架模块和数个插件模块组成,其将功能模块实现分成四个主要类别:

1)基础设施Infrastructor。

2)业务仓库Repository。

3)服务Service,负责后台执行相关功能。

4)组件Component。

其整体执行逻辑流程如下图:

四、插件模块

reactore.dex.jar内置默认了8个插件模块,每个插件分别执行不同的行为:

表1 插件名称及其作用

以下对重点的插件模块分别进行分析。

1)bean模块

bean模块主要完成对phone进程的注入,监听本地10023端口,获取手机号码、imsi、imei、apn、联网等信息,并实现短信发送与拦截、联网方式的控制。

其首先释放可执行模块whitebean和待注入的libblackbean.so、redbean.dex.jar,然后依次执行以下命令完成注入:

a. whitebean –check libblackbean.so

检测运行环境,这里主要检查android::AndroidRuntime::mJavaVM和android::AndroidRuntime::getRuntime的获取。

b. whitebean com.android.phonelibblackbean.so readbean.dex.jar cache Release /data/usr/server.log

其将libblackbean.so和readbean.dex.jar注入到phone进程中,并执行com.android.phone.os.Program类。

完成后删除自身。

在注入完成后,会监听10023端口接受请求,此时由于具备Phone进程权限,所以可以进行短信拦截发送,APN网络管理及获取手机号码、数据连接等相关信息。

 

2)honeybee模块

honeybee模块主要会记录运行日志信息,以AES加密形式存放至/data/usr/honey文件,并且上传至远程服务器http://slasty.hada1billi.info/honeycomb/ums/postEvent。

honey文件的解密结果如下所示:

3)sun模块

sun模块主要提供网络连接功能,并与远程服务器建立Heartbeat连接,其连接url为http://ubaj.tndmnsha.com/throne。

五、总结

PoisonCake是一个非常完善的后门程序,其实现具备良好的架构特点,并且易于扩展,其在运行过程中会迅速删除自身释放的模块,所有在手机上存放的文件均为加密形态。其执行较为隐蔽,并且难以被发现和查杀。

AVL移动安全团队分析师指出,用户可以执行”ps dm”命令查看是否存在恶意代码进程,或者检查是否存在/data/.3q/dm、/data/usr目录来判断是否感染PoisonCake木马。同时用户还可以通过下载PoisonCake专杀工具进行检测和查杀该木马。

由AVL移动安全团队推出PoisonCake专杀工具新鲜出炉啦

工具下载地址:https://update.avlyun.com/AvlPro/PoisonCakeKiller.apk

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/151817.html<

(0)
运维的头像运维
上一篇2025-03-13 17:32
下一篇 2025-03-13 17:34

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注