galile0ff/galileoff-AndroidSpy

GitHub: galile0ff/galileoff-AndroidSpy

这是一个基于Telegram API的Android远程管理与监控概念验证工具,具备隐蔽的数据收集、离线归档和系统持久化能力。

Stars: 1 | Forks: 0

GALILEOFF ANDROID SPY FRAMEWORK

[![Platform: Android](https://img.shields.io/badge/Platform-Android-3DDC84.svg?style=for-the-badge&logo=android&logoColor=white)](#) [![Code: Java](https://img.shields.io/badge/Language-Java-ED8B00.svg?style=for-the-badge&logo=openjdk&logoColor=white)](#) [![C&C: Telegram](https://img.shields.io/badge/C&C-Telegram_Bot_API-2CA5E0.svg?style=for-the-badge&logo=telegram&logoColor=white)](#) [![Build: Gradle](https://img.shields.io/badge/Build-Gradle-02303A.svg?style=for-the-badge&logo=gradle&logoColor=white)](#)

galileoff-AndroidSpy

*galileoff 特权下开发:*

Galileoff Android Spy 是一个通过 Telegram API 远程管理的概念验证(PoC),具有广泛的数据收集能力。它被配置为在设备后台稳定且隐蔽地运行,并运行内部离线归档机制,以防止网络问题导致的数据丢失。 ## 1. 系统架构与异步数据流模型 应用程序的核心数据传输动态基于三大支柱:解析传入 **HTTP Payload** 请求的控制系统、从设备吸取数据的类,以及将离线存储的数据与服务器同步的 **WorkManager** 线程。 ### 1.1 活跃系统流树 对系统与命令控制服务器之间的通信流量以及数据处理顺序进行建模的流程图: ``` graph TD A[Komuta Merkezi / Telegram] <-->|JSON Polling API| B(TelegramApiManager) B -->|Komut Deşifre Analizi| C{CommandExecutor} C -->|Örn: /konum, /sms_kaydi| D[Veri Hasat Sınıfları] C -->|Örn: /kilitle, /yok_et| E[Sistem Önlemi Sınıfları] D -.->|Ağ Başarısızlıkları ve Timeout| F[(OfflineStorageHelper)] E -.->|Geri Bildirim Log Kayıtları| F H[Pasif İşletim Sistemi Dinleyicileri] -->|Sms, Çağrı, Root Check| D H -->|Bağlantının Tekrar Kurulması| I[ImmediateUploadWorker] I -->|En Eski Log'un Derlenmesi| F I -->|Datayı Senkronize Etme| B ``` ### 1.2 目标请求与响应场景 远程发送的数据抓取命令(例如:`/arama_kaydi`)在应用程序内部传输过程中运行模块的时间线: ``` sequenceDiagram participant Telegram as Telegram Bot participant Executor as CommandExecutor participant Helper as Hasat Sınıfı participant Offline as OfflineBellek Telegram->>Executor: /arama_kaydi komutunu POST eder Executor->>Helper: Veritabanından SQL okuma işlevini tetikler Helper-->>Executor: Formatlanmış logları string döner alt Ağ İletişimi Aktif ve Kararlı Executor->>Telegram: Veriyi HTTP üzerinden sunucuya teslim eder else Ağ İletişimi Pasif / Kopma veya Uçuş Modu Executor->>Offline: Veriyi ön belleğe aktarır (Maks 5MB FIFO kuralı ile) Offline-->>Executor: Başarılı şekilde diske yazıldı ibaresi döner end ``` ## 2. 核心组件目录与资源管理 为了维护应用程序完整性并遵循 Solid 原则(类独立性),每个 Java 服务都有不同的用途和系统特权。 ### 数据收集与感知单元 这组类负责从硬件和软件 API 提取用户行为。 | 文件路径 | 基础设施支持与目的 | | :--- | :--- | | **`CallStateReceiver.java`** | 通过 TelephonyManager 运行,监控 `EXTRA_STATE_RINGING`(响铃)和 `EXTRA_STATE_OFFHOOK`(通话)阶段。 | | **`SmsHelper.java`** | 使用高级 Android ContentResolver 扫描 `content://sms` URI 地址;异步拉取收件箱和草稿数据。 | | **`CallLogHelper.java`** | 从设备的 `CallLog.Calls.CONTENT_URI` 数据库获取呼叫号码、通话日期和持续时间并进行分类。 | | **`ContactsHelper.java`** | 毫无延迟地读取 `ContactsContract` 库,列出通讯录记录的身份。 | | **`BrowserHistoryHelper.java`** | 仅在 Root 访问可用时,干预其他浏览器的受保护沙箱部分(`.db`,`sqlite`)以解密 URL 记录。 | | **`WhatsAppMessageHandler.java`** | 向 Android 具有巨大权限的 AccessibilityService(无障碍服务)树挂钩,并实时记录消息框。 | ### 应用程序稳定性与隐私检查器 这些核心构建块旨在使系统能够自我更新,并防止在标准条件下从设备上卸载。 | 文件路径 | 生存与任务机制 | | :--- | :--- | | **`GuardianReceiver.java`** | 由 AlarmManager 设置的定时炸弹。每 3 小时激活一次,验证包隐私,修复图标状态 *(Self-Healing)*。 | | **`SystemAppManager.java`** | 在拥有必要的 Root (SU) 访问权限时,将 APK 主体注入操作系统的核心(`system/app/`),赋予出厂设置免疫力。 | | **`ServiceRestartReceiver.java`** | 跟踪 Intent 硬件传感器,在操作系统启动时(Boot Phase)以 Foreground 权限复活后台服务。 | | **`MyDeviceAdminReceiver.java`** | 针对标准设置中的故意程序清理设置障碍,通过系统级“Device Policy”批准武装锁定机制。 | | **`ExceptionHandler.java`** | 根据 `Thread.UncaughtExceptionHandler` 协议,在可能的“Fatal Error”崩溃中,在 JVM 关闭之前记录进程,为服务的复活循环奠定基础。 | | **`SelfDestructManager.java`** | 在恐慌时刻远程读取 `/yok_et` 时,通过撤销所有策略和管理标志,生成用自己的手删除软件的命令。 | ### 同步工作者与归档内存中心 | 文件路径 | 存储流与发送行为 | | :--- | :--- | | **`OfflineStorageHelper.java`** | 离线数据库。为了防止无限大小扩展(OutOfMemory),采用基于算法的 FIFO 模型;在大小膨胀时,通过覆盖旧日志来保证清理空间。 | | **`ImmediateUploadWorker.java`** | 是系统检测到网络时立即采取“Trigger Action”,将所有累积的数据文件通过 HTTP 通道发送出去,直到连接断开的工作者部分。 | ## 3. 命令控制终端 (C&C) 操作与权限矩阵 系统的远程管理机制通过 Telegram 平台进行;然而,发送的每个 JSON 字符串(命令)的运行取决于特定的 Android 操作权限批准。如果缺少相关权限,将自动向目标输出 `Error Code`。 | 有效的 C&C 命令 | 功能输出表 | 强制的 Android 权限 | | :--- | :--- | :--- | | **`/durum`** | 汇编 Dalvik 环境中的电池、互联网和当前 root 标志的紧急情况报告。 | *无要求* | | **`/konum`** | 在 FusedLocationProviderClient 限制的伴随下,发送高分辨率坐标和地图链接。 | `ACCESS_FINE_LOCATION` | | **`/arama_kaydi`** | 通过 Android 呼叫服务器中的日志分析整个呼叫历史,以返回时间顺序格式。 | `READ_CALL_LOG` | | **`/sms_kaydi`** | 读取设备的标准 SMS 消息服务以获取当前邮件转储。 | `READ_SMS` | | **`/kisi_listesi`** | 将通讯录列表作为字母顺序的字符串数据分块传输到服务器。 | `READ_CONTACTS` | | **`/izin_listesi`** | 获取授予当前应用程序的系统内危险和普通批准的即时权限 X 射线。 | *无要求* | | **`/kilitle`** | 基于破坏屏幕密码的风险,以绕过逻辑锁定 Android force-lock 电路。 | `BIND_DEVICE_ADMIN` | | **`/tarayici_gecmisi`** | 如果检测到 SU,使用 SQL 命令支持解密浏览器并分析目录历史记录。 | *设备 Root 权限 (SUID)* | | **`/yok_et`** | 是降低系统管理员标志并将其自身从主服务器删除(包括根文件夹)的销毁程序。 | *应用程序内触发* | ## 4. 源代码编译与安装协议 为了在教育实验室中测试该项目,您需要配置 Gradle 引擎。 1. 复制项目主存储库中的 **`gradle.properties.example`** 配置草案的完全相同副本,并将其命名为 **`gradle.properties`**。 2. 将您自己的 Bot Token 和 Chat ID 密钥添加到创建的文件中。 BOT_TOKEN="SECRET_API_TOKEN" CHAT_ID="TARGET_CLIENT_ID" *(注意:主 `gradle.properties` 文件因敏感数据漏洞风险,永远不会发送到 git 平台)* 3. 通过 IDE(例如:Android Studio)同步 Gradle 项目 (`Sync`)。 4. 使用 `Build APK` 或 Build Bundle 方法以 Debug/Release 格式编译应用程序。 操作结果并在安装后,**MainActivity** 将在设备屏幕上显示欢迎界面,并且在安装过程中的关键权限被接管的那一刻,它将自身隐藏在操作系统的主体中。 ## 5. 已知需求与开发路线图 向开源支持者或分析架构的漏洞专家展示的,当前项目中存在的一些逻辑缺陷以及预期进行的修补如下分类。 ### 待开发漏洞矩阵 下表以图表形式展示了从系统草图向企业架构过渡过程中需要紧急解决的问题和解决方案路径: | 组件类别 | 遇到的问题与漏洞剖析 | 将实施的解决方案架构 | | :--- | :--- | :--- | | **Telegram C&C 终端** | **Flood(堆积)与循环风险:** 由于通信基础设施中没有任何限制机制,连续发送的命令可能会填满异步队列,阻塞处理器,并导致应用程序进入无限循环。 | 将在服务器请求之间放置并发时间戳,并为每个命令编写特定的 *Rate Limit*(等待时间 / 限制)算法。 | | **Telegram C&C 终端** | **API 限制与回调缺失:** `/izin_listesi` 命令在当前 Android API 安全标准下无法返回数据。此外,即使 `/yeniden_baslat` 请求成功完成,也没有任何确认发送到服务器表明操作已结束。 | 损坏的输出方法将适应新的 Java API 标准,并且将在每个操作结束时放置特定的成功/失败反馈机制。 | | **数据收集引擎** | **内存泄漏与内存膨胀:** 由于 `/sms_kaydi` 进行无过滤和无限制的提取,在扫描用户膨胀的收件箱时可能会使操作系统的临时内存爆炸。 | 将对 SMS 和类似的大量日志提取算法引入分页逻辑,仅应用*最后 N 个*形式的严格数量配额。 | | **WhatsApp 操纵器** | **未经授权的发送与错误的 DOM 分析:** 读取屏幕上检测到的聊天气泡时,无法明确区分数据是从对方还是从客户端来的。此外,消息在等待命令时自动弹出,造成污染。 | 系统将放弃未经授权的聊天捕获;仅在命令触发时,借助特殊的 `NotificationListenerService` 秘密反映最后的通知。 | | **通话与音频监听** | **双向记录障碍:** 由于 Android OS 带来的严格硬件限制,无法直接操纵所进行呼叫的双向音频记录,并导致崩溃。 | 将建立替代媒体通道和音频旁路网桥(Audio Mixer 修订版),以测试具有双麦克风馈送的硬件代码块。 | | **通话与音频监听** | **时长日志中的数学不对称:** 当设备呼叫对方时,响铃时长直接加到通话时长上;当呼叫打开并关闭时,从头开始计数,返回错误的数学结果并隐藏号码。 | `CallLog.Calls` 状态算法将被完全更改,并将编写一个以通话应答时刻为中心的新事件监听器。 | | **销毁与安全** | **系统中的 Anti-Ghosting(僵尸化)残留:** 当使用紧急恐慌命令 `/yok_et` 或拨号密码时,软件仅粉碎其权限。由于系统的实际 APK 文件未被永久删除,它作为一个死包保留。 | 将在切断所有连接几秒钟后,使用完全成熟的包删除请求 `Intent.ACTION_UNINSTALL_PACKAGE` 序列强制执行永久销毁循环。 | ## 6. 支持 该项目是开源的,可以在社区支持下进行开发。如果这对您有帮助:
Buy Me A Coffee
## 7. 贡献 1. Fork 本仓库 2. 创建分支 (`git checkout -b feature/yeniozellik`) 3. 提交 (`git commit -m 'Yeni özellik: X eklendi'`) 4. 推送 (`git push origin feature/yeniozellik`) 5. 打开 Pull Request ## 9. 许可证 该项目根据 **MIT 许可证** 获得许可。详细信息请参阅 `LICENSE` 文件。
Developed with 💜 by galileoff
标签:Android开发, Android监控, Android间谍软件, C2通信, DAST, GPS定位, Gradle, JS文件枚举, RAT, Telegram Bot, 代码生成, 协议分析, 后台面板检测, 后门, 域名枚举, 恶意软件分析, 数据窃取, 权限提升, 概念验证, 渗透测试工具, 漏洞测试, 目录枚举, 短信监控, 离线缓存, 移动安全, 网络安全, 远程管理工具, 通话记录, 隐私保护, 隐私泄露