“聊天剽窃手”--ptrace进程注入型病毒
2014-05-29 11:34
162 查看
近日,百度安全实验室发现了一款“聊天剽窃手”病毒,该病毒能够通过ptrace方式注入恶意代码至QQ、微信程序进程,恶意代码能够实时监控手机QQ、微信的聊天内容及联系人信息。该病毒是目前发现的首款通过ptrace进程注入方式进行恶意窃取私密资料的病毒。
简介 该病毒主要是通过ptrace注入QQ和微信进程进行信息窃取的,主程序调用assets中的inject_appso,libcall.so以及conn.jar联合进行“作案”,在conn.jar中获取聊天信息/最近联系人等,并发送广播启动主程序广播接收器,将隐私信息发送至远端地址。该病毒行为图如下:
代码分析: 主恶意程序代码结构图如下:
1、入口启动:主恶意程序启动后立刻尝试获取ROOT权限,并将assets下的几个将要执行的文件拷贝至系统不同目录下: inject_appso –> /system/bin/libcall.so –> /system/lib/conn.jar –> /data/data/qy/ 复制完文件后,以管理员权限运行inject_appso程序进行程序注入:
运行inject_appso 2、注入恶意代码至QQ/微信进程:inject_appso可执行文件以Root用户运行后,通过调用ptrace函数获取QQ、微信进程的控制权。获取控制权后,在目标进程加载并运行附带的恶意代码libcall.so:
ibcall.so代码运行后,首先获取Dalvik运行时环境,通过Dexclassloader动态加载附带的conn.jar恶意代码:
3、恶意代码HookQQ、微信关键数据获取用户隐私 conn.jar代码结构图如下:
conn.jar通过javahook方式监控QQ或微信聊天界面。QQ聊天界面:com.tencent.mobileqq.activity.ChatActivity微信聊天界面:com.tencent.mm.ui.chatting.ChattingUI当聊天内容发生变动时,恶意代码便会获得通知并获取聊天内容:
HOOK微信聊天界面
监控聊天界面变化
获取聊天内容 不仅能够监控页面内容,而且能够通过获取/data/data/com.tencent.mobileqq/目录或者/data/data/com.tencent.mm/中的.db数据库文件,获取聊天历史记录,而且能够获取最近联系人信息:
获取最近联系人信息 4、将聊天信息上传至服务器:conn.jar获取到聊天消息后,便将这些信息通过广播“learn.yincc.CHAT_UPDATE”发送出去。该广播由主恶意程序接收,主恶意程序解析广播内容后,将聊天内容发送至远端服务器:
conn.jar发送广播
主恶意程序接收广播
主恶意程序将聊天内容发送至远端服务器
简介 该病毒主要是通过ptrace注入QQ和微信进程进行信息窃取的,主程序调用assets中的inject_appso,libcall.so以及conn.jar联合进行“作案”,在conn.jar中获取聊天信息/最近联系人等,并发送广播启动主程序广播接收器,将隐私信息发送至远端地址。该病毒行为图如下:
代码分析: 主恶意程序代码结构图如下:
1、入口启动:主恶意程序启动后立刻尝试获取ROOT权限,并将assets下的几个将要执行的文件拷贝至系统不同目录下: inject_appso –> /system/bin/libcall.so –> /system/lib/conn.jar –> /data/data/qy/ 复制完文件后,以管理员权限运行inject_appso程序进行程序注入:
运行inject_appso 2、注入恶意代码至QQ/微信进程:inject_appso可执行文件以Root用户运行后,通过调用ptrace函数获取QQ、微信进程的控制权。获取控制权后,在目标进程加载并运行附带的恶意代码libcall.so:
ibcall.so代码运行后,首先获取Dalvik运行时环境,通过Dexclassloader动态加载附带的conn.jar恶意代码:
3、恶意代码HookQQ、微信关键数据获取用户隐私 conn.jar代码结构图如下:
conn.jar通过javahook方式监控QQ或微信聊天界面。QQ聊天界面:com.tencent.mobileqq.activity.ChatActivity微信聊天界面:com.tencent.mm.ui.chatting.ChattingUI当聊天内容发生变动时,恶意代码便会获得通知并获取聊天内容:
HOOK微信聊天界面
监控聊天界面变化
获取聊天内容 不仅能够监控页面内容,而且能够通过获取/data/data/com.tencent.mobileqq/目录或者/data/data/com.tencent.mm/中的.db数据库文件,获取聊天历史记录,而且能够获取最近联系人信息:
获取最近联系人信息 4、将聊天信息上传至服务器:conn.jar获取到聊天消息后,便将这些信息通过广播“learn.yincc.CHAT_UPDATE”发送出去。该广播由主恶意程序接收,主恶意程序解析广播内容后,将聊天内容发送至远端服务器:
conn.jar发送广播
主恶意程序接收广播
主恶意程序将聊天内容发送至远端服务器
相关文章推荐
- “聊天剽窃手”--ptrace进程注入型病毒
- “聊天剽窃手”--ptrace进程注入型病毒
- 【进程间通信】系统调用ptrace()和进程跟踪
- 误将系统进程当病毒 Vista受折磨遭崩溃
- 解读SVCHOST.EXE 病毒or系统进程?
- 多进程的简单网络聊天程序-源代码。 推荐
- 使用ptrace向已运行进程中注入.so并执行相关函数
- 监视系统进程,防止病毒假冒,用路径的方式来判断
- 七点学完安全知识超级详细了解进程和病毒知识
- 禁止1200多种已知病毒的进程
- 进程看病毒!
- 从进程中判断出病毒和木马
- 有名管道的应用实例,创建两个有名管道实现全双工通信,两个进程间的聊天
- 巧妙从进程中判断出病毒和木马
- minerd和wnTKYg进程(病毒)--被攻击CPU占用率达到100%
- 两妙招“强行”杀死病毒进程
- 从编程角度揭示病毒感染原理--之踏腊无痕水上飘(进程隐藏技术)
- 使用ptrace跟踪进程
- 十七点学完安全知识超级详细了解进程和病毒知识
- 如何巧妙从进程信息中判断病毒和木马