• “聊天剽窃手”--ptrace进程注入型病毒


    近日,百度安全实验室发现了一款“聊天剽窃手”病毒。该病毒可以通过ptrace方式注入恶意代码至QQ、微信程序进程。恶意代码可以实时监控手机QQ、微信的聊天内容及联系人信息。

    该病毒是眼下发现的首款通过ptrace进程注入方式进行恶意窃取私密资料的病毒。

     


     

     

    简单介绍

     

    该病毒主要是通过ptrace注入QQ和微信进程进行信息窃取的,主程序调用assets中的inject_appsolibcall.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恶意代码:

     

    图片6

     

     

     

     

    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

  • 相关阅读:
    JavaScript数组迭代方法
    Ant Design Mobile RN中Toast不起作用的原因【坑篇】
    解决vsCode终端不能运行yarn脚本
    k8s——Service和Ingress
    Prometheus学习
    k8s——pod控制器
    k8s——管理pod资源对象
    k8s——资源管理基础
    docker学习
    k8s学习——Helm入门及使用
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5135381.html
Copyright © 2020-2023  润新知