“聊天剽窃手”--ptrace进程注入型病毒
近日,百度安全实验室发现了一款“聊天剽窃手”病毒。该病毒可以通过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、将聊天信息上传至server:
conn.jar获取到聊天消息后,便将这些信息通过广播“learn.yincc.CHAT_UPDATE”发送出去。该广播由主恶意程序接收,主恶意程序解析广播内容后,将聊天内容发送至远端server:
conn.jar发送广播
主恶意程序接收广播
主恶意程序将聊天内容发送至远端server
“聊天剽窃手”--ptrace进程注入型病毒的更多相关文章
- ptrace注入型病毒“聊天剽窃手”分析
概述 “聊天剽窃手”Windseeker是一款间谍软件,它使用了ptrace进程注入技术,能够对微信和QQ的聊天记录进行监控. 软件安装后的桌面图标和启动界面如图所示: 行为分析 该应用首先获取手 ...
- Virut.ce-感染型病毒分析报告
1.样本概况 病毒名称 Virus.Win32.Virut.ce MD5 6A500B42FC27CC5546079138370C492F 文件大小 131 KB (134,144 字节) 壳信息 无 ...
- Android进程注入
全部代码在这里下载:http://download.csdn.net/detail/a345017062/8133239 里面有两个exe.inj是一个C层进程注入的样例.inj_dalvik是我写的 ...
- 进程注入后门工具Cymothoa
进程注入后门工具Cymothoa Cymothoa是一款隐秘的后门工具.它通过向目标主机活跃的进程注入恶意代码,从而获取和原进程相同的权限.该工具最大的优点就是不创建新的进程,不容易被发现.由于该 ...
- 利用“进程注入”实现无文件复活 WebShell
引子 上周末,一个好兄弟找我说一个很重要的目标shell丢了,这个shell之前是通过一个S2代码执行的漏洞拿到的,现在漏洞还在,不过web目录全部不可写,问我有没有办法搞个webshell继续做内网 ...
- 【原创】利用“进程注入”实现无文件不死webshell
引子 上周末,一个好兄弟找我说一个很重要的目标shell丢了,这个shell之前是通过一个S2代码执行的漏洞拿到的,现在漏洞还在,不过web目录全部不可写,问我有没有办法搞个webshell继续做内网 ...
- 使用VC++通过远程进程注入来实现HOOK指定进程的某个API
前阵子读到一篇关于<HOOK API入门之Hook自己程序的MessageBoxW>的博客,博客地址:http://blog.csdn.net/friendan/article/detai ...
- Android中通过进程注入技术改动广播接收器的优先级
前言 这个周末又没有吊事,在家研究了怎样通过进程的注入技术改动广播接收器的优先级.关于这个应用场景是非常多的.并且也非常重要.所以就非常急的去fixed了. Android中的四大组件中有一个广播:B ...
- 如何实现.net程序的进程注入
原文:如何实现.net程序的进程注入 如何实现.net程序的进程注入 周银辉 进程注入比较常见,比如用IDE调试程序以及一些Sp ...
随机推荐
- 用tomcat搭建web服务器
链接地址:http://www.blogjava.net/qingshow/archive/2010/01/17/309846.html qingshow “不积跬步无以至千里,不积小流无以成江海”. ...
- Eclispse 换主题、皮肤、配色,换黑色主题护眼
链接地址:http://jingyan.baidu.com/article/6c67b1d68c03be2787bb1ed6.html Eclipse写android代码时,默认的文本和框架都是白色, ...
- C++常变量
在定义变量时,如果加上关键字const,则变量的值在程序运行期间不能改变,这种变量称为常变量(constant variable).例如: const int a=3; //用const来声明 ...
- Android GsonUtils工具类
有那么一个开源jar包,叫gson 可以很方便的将java中的对象和字符串相互转化,数据传输和处理的时候,用到的可能性很大 https://github.com/google/gson http:// ...
- WPF Multi-Touch 开发:高级触屏操作(Manipulation)
原文 WPF Multi-Touch 开发:高级触屏操作(Manipulation) 在上一篇中我们对基础触控操作有了初步了解,本篇将继续介绍触碰控制的高级操作(Manipulation),在高级操作 ...
- mysql 监控 大批量的插入,删除,和修改
监控大批量的插入,修改和删除: mysql> insert into aaa select * from aaa; mysql> SELECT trx_id, trx_state, trx ...
- 修改VISUAL STUDIO EXPRESS 2012新建C++文件编码
本站文章除注明转载外,均为本站原创或者翻译. 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商: 本站部分原创和翻译文章提供markdown格式源码,欢迎使 ...
- poj 1155 TELE (树形背包dp)
本文出自 http://blog.csdn.net/shuangde800 题目链接: poj-1155 题意 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构, ...
- C# - Byte类型与String类型互转
byte[] bs = Encoding.UTF8.GetBytes("你的字符串"); string str = Encoding.UTF8.GetString(bs);
- WM_PAINT消息详解,使用InvalidateRect或InvalidateRgn函数刻意产生WM_PAINT消息(WIN7里有变化,“调整视觉效果”,将“启用桌面组合”去掉)
什么时候会触发WM_PAINT消息消息呢? 以下内容来自大名鼎鼎的<Windows程序设计(第五版)> 大多数Windows程序在WinMain中进入消息循环之前的初始化期间都要呼叫函数U ...