Sadstrot木马分析报告
AVL移动安全团队截获了一款恶意木马,该木马运行后会窃取用户QQ和微信账户、好友列表、消息记录等,同时会利用subtrate hook框架监控键盘输入的任何信息。此外,该应用还会接收云端指令,执行模块更新、删除指定文件等远程控制操作,严重影响系统安全。一 木马行为及危害
1. 一旦运行,该木马立即申请root权限,为之后各种恶意行为做好铺垫。2. 创建一个detect进程,此进程下的模块插件与主进程进行通信,通过回调Java层代码、hook等方式收集用户隐私。3. 监听键盘输入,用户所有敲入的字符都会被窃取,包括银行账号密码、社交APP账号密码等等。4. 接收云端指令,执行模块更新、删除指定文件等,给系统安全带来极大安全隐患。二 木马执行流程
http://image.3001.net/images/20150818/1439865660702.png!small
本地进程间通信协议
运行在com.sec.android.service.powerManager进程的libnativeLoad.so、libPowerDetect.cy.so,会创建大量的服务监听。当接收到来自detect进程中的插件模块发来的socket通信请求时,通过判断buffer的前2个字节作为魔术字进行匹配,执行相应操作。
http://image.3001.net/images/20150818/14398656834316.png!small
三 详细分析
1. 申请root权限,运行cInstall可执行文件
1) cInstall文件会在应用的私有路径下创建工作目录与数据存储目录,将cache缓存中detect、plugin.dat、dtl.dat、glp.uin拷贝到指定的目录下。
2) 读取plugin.dat,解析获取指定id模块对应的插件名称,据此改名写入”/data/data/com.sec.android.service.powerManager/cores/Users/All Users/Intel”目录。
以上目录与文件将被赋予可读可写可执行权限,为之后各种恶意行为做好铺垫。
将cache缓存下的super拷贝到/system/bin/目录,并提权。之后将libPowerDetect.cy.so、libnativeLoad.so等文件拷贝到指定目录,并静默安装substrate hook框架。
http://image.3001.net/images/20150818/14398657025265.png!small
图 cInstall文件执行流程
将super拷贝到/system/bin目录下,并提权。
http://image.3001.net/images/20150818/14398658156630.png!small
静默安装substrate框架:
http://image.3001.net/images/20150818/14398658766347.png!small
2. 调用Substrate框架,并利用hook技术监控键盘输入
运行substrate框架,libPowerDetect.cy.so在init_array段进行初始化时,便会调用Substrate框架提供的api,对输入法操作中的字符输入、结束输入、隐藏键盘等方法进行hook,并将收集到的字符发送至detect进程。
http://image.3001.net/images/20150818/14398659071541.png!small
http://image.3001.net/images/20150818/14398659213770.png!small
http://image.3001.net/images/20150818/14398659459221.png!small
3. 创建大量的监听服务,运行detect可执行文件
libnativeLoad.so会调用以下jni方法,创建大量的监听服务,运行super可执行文件。Super会通过设置用户和用户所在组id这种方式获取进行提权,并fork出一个detect进程。
http://image.3001.net/images/20150818/14398659748432.png!small
http://image.3001.net/images/20150818/14398659888103.png!small
http://image.3001.net/images/20150818/14398660073878.png!small
http://image.3001.net/images/20150818/14398660385753.png!small
http://image.3001.net/images/20150818/14398660544611.png!small
4. 初始化主插件
detect可执行文件查找主插件下Initialplugin、 NetWorkStateChanged这两个符号,并调用进行初始化。
http://image.3001.net/images/20150818/1439866176114.png!small
http://image.3001.net/images/20150818/1439866194506.png!small
http://image.3001.net/images/20150818/14398661951717.png!small
5. 主插件加载调用其他模块
WSDMoo.dat会调用执行其他模块下的SetCallbackInterface方法,并将一组函数指针作为参数传入,使其能够通过回调相应函数获取工作目录、插件配置等信息,且能为主插件添加一个上传任务。
http://image.3001.net/images/20150818/14398662163781.png!small
http://image.3001.net/images/20150818/14398662167703.png!small
6. 收集QQ账户、好友列表等隐私信息
winbrrnd.dat插件的SetCallbackInterface方法会创建startListernQQMsgThread线程,获取QQ和微信账户、好友列表、消息记录等信息,输出到指定文件,并回调主插件的CbAddUploadFileTask函数添加一个上传任务。
http://image.3001.net/images/20150818/14398662515786.png!small
http://image.3001.net/images/20150818/14398662748538.png!small
http://image.3001.net/images/20150818/14398662744178.png!small
http://image.3001.net/images/20150818/14398662893529.png!small
7. Socket联网上传,获取指令执行相应远控操作
Socket联网发送手机固件、插件信息,记录了从其他模块收集的隐私信息的文件。接收从服务器发来的消息,解析指令(详见下表),并执行相应操作。
http://image.3001.net/images/20150818/14398663052394.png!small
四 总结
此款木马的特点是运行过程高度模块化,各ELF文件之间会相互通信、相互配合,并最终实现隐私窃取和远控后门的功能。此外,它还利用了substrate框架进行hook监控键盘输出。同时,该木马还会收集QQ和WebChat账号信息。黑客可能利用这些信息,向QQ好友或微信好友发送诈骗信息,对用户潜在威胁巨大。AVL移动安全团队提醒您,仅从官方站点或可信任的应用市场下载手机软件,不随意下载插件,以避免受到手机病毒的危害。
这个消息太劲爆,我还是小心点吧啊,要不中招了 虽然看得不是很明白,不过这个对有些难root的手机不知是否有效,root谨慎!! 还是整理下格式吧
页:
[1]