首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Anubis安卓僵尸网络App分析

Anubis安卓僵尸网络App分析

作者头像
qife122
发布于 2025-06-16 08:47:39
发布于 2025-06-16 08:47:39
8040
举报

概述

Anubis android App与后端交互通信构造了一个复杂的僵尸网络。该僵尸网络旨在感染设备后执行多种恶意活动,包括数据窃取、远程控制和金融欺诈。僵尸网络采用模块化设计,通过命令与控制(C2)服务器动态控制各种服务和活动。

系统架构

  1. 核心组件:
    • MainApplication: 僵尸网络的入口点,负责初始化僵尸程序并设置基础上下文。
    • ServiceAccessibility: 使用安卓的Accessibility API监控和与设备UI交互,支持键盘记录和UI操作。
    • ServiceCommands: 处理从C2服务器接收的命令,如发送短信、拨打电话和执行USSD代码。
    • ServiceCryptFiles: 加密设备上的文件,可能用于勒索软件目的。
    • ServiceDeleteSMS: 删除设备上的特定短信,可能用于隐藏恶意活动的证据。
    • ServiceGeolocationGPS/Network: 使用GPS或基于网络的方法跟踪设备位置。
    • ServiceRAT: 作为远程访问工具(RAT),允许攻击者远程控制设备。
    • ServiceScreenshot: 捕获设备屏幕截图并发送到C2服务器。
    • ServiceRecordSound: 录制设备麦克风的音频并上传到C2服务器。
    • ServiceSpamSMS: 向联系人或指定号码发送垃圾短信。
    • ServiceForwardingTunel: 设置SOCKS代理隧道,通过受感染设备路由流量。
  2. 与C2的通信:
    • 僵尸网络使用HTTP POST请求与C2服务器通信。数据在传输前使用RC4算法加密。
    • C2服务器的URL硬编码在Constants类中(http://fafdhassd.in)。
    • 僵尸网络可以从C2服务器接收命令,如getfiles、ratgate和spamSMS。
  3. 加密:
    • 僵尸网络使用RC4加密算法来保护受感染设备与C2服务器之间的通信。ClassRC4类实现了RC4算法用于加密和解密。
    • 敏感数据(如短信和文件内容)在发送到C2服务器之前会被加密。
  4. 持久化:
    • 设备管理员权限: 僵尸网络可以请求设备管理员权限,使用户难以卸载应用程序。
    • 无障碍服务: 僵尸网络注册为无障碍服务,允许其监控和与设备UI交互。
    • 启动接收器: 僵尸网络注册ReceiverBoot以确保设备启动时自动启动。

5.反分析技术:

  • 僵尸网络包含检测是否在模拟器中运行的检查(UtilsClass中的isEmulator方法)。
  • 它可以禁用Google Play Protect以避免被系统检测到。

主要功能

  1. 数据窃取:
    • 短信(ServiceGetSMS)。
    • 联系人(ActivityGetNumber)。
    • GPS和基于网络的位置数据(ServiceGeolocationGPS和ServiceGeolocationNetwork)。
    • 屏幕截图(ServiceScreenshot)。
    • 音频录制(ServiceRecordSound)。

2.远程控制:

  • 打开URL(ActivityOpenURL)。
  • 在Web视图中注入恶意内容(ActivityInjection)。
  • 执行USSD代码(ActivityStartUSSD)。

3.金融欺诈:

  • 僵尸网络可以发送垃圾短信(ServiceSpamSMS)并删除特定短信(ServiceDeleteSMS),可能用于隐藏欺诈交易的证据。
  • 它还可以锁定设备屏幕并显示勒索信息(ActivityScreenLocker)。

4.代理功能:

  • 僵尸网络可以设置SOCKS代理隧道(ServiceForwardingTunel),允许攻击者通过受感染设备路由流量。

潜在应用场景

  1. 银行欺诈: 僵尸网络可用于窃取银行凭证、拦截基于短信的OTP并执行未经授权的交易。
  2. 间谍活动: 僵尸网络可用于通过窃取短信、联系人和位置数据等敏感信息来监视受害者。
  3. 勒索软件: 僵尸网络可以加密设备上的文件并要求赎金以解密。
  4. 垃圾短信: 僵尸网络可用于向联系人或指定号码发送垃圾短信。

代码示例:RC4加密

代码语言:javascript
复制
public class ClassRC4 {
    private int[] sbox;
    private static final int SBOX_LENGTH = 256;
    private int i = 0;
    private int j = 0;
    public ClassRC4(byte[] key) {
        sbox = initSBox(key);
    }
    public byte[] decrypt(final byte[] msg) {
        return encrypt(msg);
    }
    public byte[] encrypt(final byte[] msg) {
        byte[] code = new byte[msg.length];
        for (int n = 0; n < msg.length; n++) {
            i = (i + 1) % SBOX_LENGTH;
            j = (j + sbox[i]) % SBOX_LENGTH;
            swap(i, j, sbox);
            int rand = sbox[(sbox[i] + sbox[j]) % SBOX_LENGTH];
            code[n] = (byte) (rand ^ (int) msg[n]);
        }
        return code;
    }
    private int[] initSBox(byte[] key) {
        int[] sbox = new int[SBOX_LENGTH];
        int j = 0;
        for (int i = 0; i < SBOX_LENGTH; i++) {
            sbox[i] = i;
        }
        for (int i = 0; i < SBOX_LENGTH; i++) {
            j = (j + sbox[i] + key[i % key.length] + SBOX_LENGTH) % SBOX_LENGTH;
            swap(i, j, sbox);
        }
        return sbox;
    }
    private void swap(int i, int j, int[] sbox) {
        int temp = sbox[i];
        sbox[i] = sbox[j];
        sbox[j] = temp;
    }
}

总结

Anubis僵尸网络是一种高度复杂的安卓恶意软件,具有广泛的功能。它旨在窃取敏感数据、远程控制受感染设备并执行金融欺诈。僵尸网络使用RC4加密、设备管理员权限和无障碍服务等高级技术来保持持久性并避免检测。此分析强调了强大的移动安全实践的重要性,以防范此类威胁。 需要源代码研究的同学可以在公众号回复“Anubis”下载即可,下载的源代码可以用于编译后做二进制病毒分析跟源代码进行对比学习。但不可用于做坏事,否则后果自负。这些源代码也可以用作AI分析的元数据,喂给AI吃,等代码量足够多了,即可实现一个deepseek或者其他AI病毒分析智能体(Agent)。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 概述
  • 系统架构
  • 主要功能
  • 潜在应用场景
  • 代码示例:RC4加密
  • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档