bfurkanyildiz/Android-rce-analizi

GitHub: bfurkanyildiz/Android-rce-analizi

该项目是一个Android安全漏洞分析与PoC实验室,针对三个高危CVE提供从攻击模拟到日志检测的完整攻防教学环境。

Stars: 1 | Forks: 0

İstinye Üniversitesi # CVE 研究与 PoC 实验室 — Android 安全分析 ![GitHub](https://img.shields.io/badge/GitHub-Private-red?style=flat-square&logo=github) ![Dil](https://img.shields.io/badge/Dil-Python-blue?style=flat-square) ![Durum](https://img.shields.io/badge/Durum-Tamamlandı-green?style=flat-square) ![Ders](https://img.shields.io/badge/Ders-BGT006-purple?style=flat-square) ![CI/CD Test](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/cf498952d6081200.svg)
## 👨‍🏫 指导教师信息 | 姓名 | Keyvan Arasteh | | :--- | :--- | | **GitHub** | [@keyvanarasteh](https://github.com/keyvanarasteh) | | **电子邮件** | keyvan.arasteh@istinye.edu.tr | | **LinkedIn** | [keyvanarasteh](https://linkedin.com/in/keyvanarasteh) | | **网站** | [qline.tech](https://qline.tech) | ## 👤 学生信息 | 姓名 | Baha Furkan Yıldız | | :--- | :--- | | **学号** | 2520****1009 | ## 📚 课程信息 | 课程名称 | 渗透测试 | | :--- | :--- | | **课程代码** | BGT006 | | **学分** | 3 AKTS | | **先修条件** | 网络基础, Linux CLI | | **学期** | 2025-2026 春季 | ## 🚀 项目摘要与范围 本项目是作为 İstinye 大学信息安全技术专业渗透测试 (BGT006) 课程期末作业开发的。在项目范围内,深入研究了影响 Android 生态系统的 3 个不同最新漏洞 (CVE-2024-0044, CVE-2024-43093, CVE-2024-23706),搭建了隔离的实验室环境,并运用网络侦探方法论进行了分析。 ### 🎯 解决的问题与项目目的 传统的 Android 安全分析通常仅限于理论文档或静态图像。本项目**通过可运行的代码将攻击与防御的闭环结合起来**,解决了以下关键问题: * **漏洞实时分析:** 实时捕获像 CVE-2024-0044 这样的严重本地提权 (LPE) 漏洞在 Android 日志层 (logcat) 中留下的痕迹。 * **红队与蓝队的关联:** 将红队漏洞利用工具 (`exploit_sim.py`) 与蓝队日志监控检测器 (`detector.py`) 进行端到端连接,提供一个完整的攻击-防御 PoC(概念验证)。 * **产品化安全输出:** 将检测到的警报即时转换为符合 SIEM 标准的 JSON/CSV 报告,并将其推送到中央展示面板。 ### ⚡ 一键运行的 PoC(攻击-检测模拟) 为了让克隆项目的用户能在几秒钟内运行并看到输出,我们添加了一键运行的 PoC 启动器 (`run_poc.bat` / `run_poc.sh`)。这些脚本模拟红队的漏洞利用步骤,并使蓝队检测器生成警报并将其写入 `reports/detection_results.json` 文件中。有关详细的执行步骤,请参阅 [安装与运行](#kurulum-ve-çalıştırma) 部分。 ### 📊 已分析的漏洞摘要表 | CVE 代码 | 漏洞类型 | CVSSv3 评分 | 受影响的组件 | 攻击向量 | | :--- | :--- | :--- | :--- | :--- | | **CVE-2024-0044** | Run-as UID Bypass (LPE & RCE) | **8.8 (High)** | Android System Server | 本地 (ADB / 恶意应用) | | **CVE-2024-43093** | SQLite & DocumentProvider Bypass | **7.8 (High)** | Android SQLite Library | 本地 (媒体/文件访问) | | **CVE-2024-23706** | Package Manager Bypass | **7.8 (High)** | Android Package Manager | 本地 (应用安装) | ### 🔌 期中模块 集成 在项目范围内开发的 `src/detector.py` 端点日志分析代理,已集成到作为期中项目实施的 **NetVanguard** 中央异常监控和警报面板中。模拟器上生成的关键漏洞特征通过网络传输到 NetVanguard 后端引擎,从而模拟了集中式监控 (SIEM) 架构。 ### 🕵️ 日志分析代理 运行架构 漏洞检测代理 (`src/detector.py`) 是一个轻量级的端点日志监控引擎,旨在检测 Android 设备上执行的漏洞利用活动。 #### 核心功能与运行模式: 1. **灵活的日志输入(3 种不同模式):** * **实时 ADB Logcat 流:** 通过 `adb connect` 命令直接连接到模拟器,实时监控设备日志。 * **Pipeline / Stdin 模式:** 可以通过 `adb logcat | python src/detector.py` 架构与其他 CLI 工具通过管道结合。 * **文件跟踪 (Tail -f):** 动态逐行监控预先保存的日志文件 (`.log`)。 * **回退机制(手动输入):** 如果系统上未安装 ADB 或日志文件,则过滤手动输入的测试日志行(实时模拟模块)。 2. **基于规则的签名匹配:** * 从 `.env` 文件中的 `DETECTION_KEYWORDS` 变量获取输入。 * 当捕获到 Android Runtime 崩溃 (`SIGSEGV`)、包安装错误 (`SIGABRT`) 以及安全应用崩溃 (`Process has died`) 等关键漏洞利用签名时,会立即在终端和日志中生成 `[TEHLIE - ALARM]`。 ## 🛠️ 使用的技术 | 技术 | 使用目的 | | :--- | :--- | | **Python 3.x** | 检测引擎、攻击模拟 | | **Android SDK / ADB** | 模拟器管理、设备通信 | | **Docker** | 隔离的实验室环境容器化 | | **Flask** | Web 监控面板 | | **Logcat** | Android 系统日志分析 | ## 📂 项目目录结构 ``` Android-rce-analizi/ ├── .github/ │ └── workflows/ │ └── detector_test.yml # GitHub Actions (CI/CD) Otomatik Test Yapılandırması ├── .gitattributes # GitHub dil istatistikleri ve dosya nitelikleri yapılandırması ├── README.md # Proje ana belgesi ├── ROADMAP.md # Proje yol haritası (Faz 0-5) ├── start_dashboard.bat # Windows için Web Dashboard başlatıcı ├── start_dashboard.sh # macOS/Linux için Web Dashboard başlatıcı ├── run_poc.bat # Windows için tek tıkla çalışan PoC simülatörü ├── run_poc.sh # macOS/Linux için tek tıkla çalışan PoC simülatörü ├── .gitignore # Git takip dışı dosyalar ├── .env.example # Ortam değişkenleri şablonu ├── Dockerfile # Docker yapılandırması ├── docker-compose.yml # Çoklu konteyner yapılandırması ├── LICENSE # Lisans dosyası ├── mitigation/ # Zafiyet azaltma ve düzeltme (patch) dosyaları │ ├── cve_2024_0044_patch.diff │ ├── cve_2024_23706_mitigation.md │ └── cve_2024_43093_mitigation.md ├── src/ # Kaynak kodlar │ ├── detector.py # Uç nokta log analiz ajanı (Gerçek zamanlı tespit motoru) │ ├── exploit_sim.py # Kırmızı Takım (Red Team) zafiyet istismar simülatörü │ └── test_detector.py # Ajan için yazılmış otomatik birim (unit) testleri ├── reports/ # Simüle edilmiş tarama ve tespit raporları │ ├── nessus_scan.csv # Simüle edilmiş Nessus zafiyet tarama çıktısı │ └── detection_results.json # Tespit motorunun anlık olarak kaydettiği log çıktıları ├── web/ # Web Dashboard arayüzü │ ├── index.html # Ana dashboard HTML dosyası │ ├── css/style.css # Arayüz stilleri │ └── js/main.js # Arayüz dinamikleri ve terminal simülatörü ├── docs/ # Dokümantasyon │ ├── assets/ # Görseller ve medya dosyaları (Demo GIF dahil) │ ├── modules/ # Modül belgeleri │ ├── references/ # Referans kaynakları │ └── research/ # Derinlemesine araştırma belgeleri │ ├── 01_zafiyet_analizi.md │ ├── 02_teknik_mekanizma.md │ ├── 03_saldirgan_perspektifi.md │ ├── cve_2024_23706.md │ ├── cve_2024_43093.md │ ├── detector_test_output.md # Test rapor çıktısı │ └── final_rapor.md # Ders teslim final raporu └── honeypot/ # Honeypot ortam dosyaları (Emülatör kurulum rehberi) ``` ## 🔬 分析与模拟方法论 在项目范围内,漏洞分析和防御模拟通过包含 4 个基本阶段的网络安全闭环进行处理: ``` graph TD A["1. Zafiyet Analizi & Statik İnceleme"] --> B["2. İzole Lab Ortamı Kurulumu"] B --> C["3. İstismar Simülasyonu & Dinamik Loglama"] C --> D["4. Korelasyon & Görsel Dashboard"] ``` 1. **静态和理论分析:** 通过检查 AOSP (Android Open Source Project) 源代码,确定了 UID 匹配、SQLite 数据库访问限制以及包安装机制中的逻辑错误。 2. **隔离的实验室环境:** 将 Android 模拟器 (API 33-34) 和蜜罐配置通过 Docker 容器隔离在专用的渗透测试网络中。 3. **动态日志记录与检测:** 触发漏洞时出现的崩溃和绕过痕迹 (如 `SIGSEGV`) 已经由 `src/detector.py` 漏洞检测代理进行过滤和捕获。 4. **Dashboard 可视化:** 收集到的数据通过风险矩阵、攻击链图表和实时终端模拟得到丰富,并被推送到 `web/` 界面中,以便管理员和分析师能够理解。 ## 安装与运行 ### 先决条件 - Python 3.8+ - Android SDK (API Level 33-34) - Docker & Docker Compose - ADB (Android Debug Bridge) #### 第 1 步:准备 ``` # 1. 克隆 Repoyu 并进入目录 git clone https://github.com/bfurkanyildiz/Android-rce-analizi.git cd Android-rce-analizi # 2. 准备环境变量(不带 .env 将使用默认设置) cp .env.example .env ``` #### 第 2 步:运行选项 ##### 🚀 选项 A:一键 PoC 模拟(最快的方法) 无需任何安装或模拟器设置即可对攻击和检测机制进行端到端测试: * **Windows (双击或 CMD):** run_poc.bat * **macOS / Linux (终端):** bash run_poc.sh ##### 🕵️ 选项 B:手动实时 ADB 模式 要在您的 Android 模拟器打开时捕获实时 logcat: ``` # 启动 Ajanı(开始通过 ADB 监听实时日志) python src/detector.py # 从单独的终端触发攻击模拟器 python src/exploit_sim.py ``` ##### 🐳 选项 C:使用 Docker 的容器模式 要在隔离的 Docker 容器中启动所有依赖项: ``` docker-compose up -d ``` #### 第 3 步:运行自动测试 为了测试软件质量和 CI/CD 标准: ``` python -m unittest src/test_detector.py ``` ## 🖥️ Web Dashboard 界面 任何克隆项目的 用户都可以轻松地在本地运行包含分析报告和终端模拟的丰富 Web 界面。 ### Dashboard 预览 (Demo) [![Web Dashboard Demo](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/45dda7bdd3081201.gif)](docs/assets/live-demo.mp4) 您可以使用以下任一方法查看界面: ### 1. 自动启动脚本(推荐) 要在后台启动本地 HTTP 服务器并在默认浏览器中自动打开界面,请运行适合您操作系统的命令: * **Windows (PowerShell / CMD):** 您可以双击项目主目录中的 `start_dashboard.bat` 文件,或者在终端中使用以下命令运行它: start_dashboard.bat * **macOS / Linux (Bash):** 要直接从终端启动(无需执行权限): bash start_dashboard.sh 或者赋予文件执行权限: chmod +x start_dashboard.sh ./start_dashboard.sh ### 2. 离线(无服务器)运行 要在不安装任何本地服务器的情况下直接运行: 1. 导航到 `web/` 目录。 2. 双击 `index.html` 文件直接在您的浏览器中打开它。 ### 3. 使用手动服务器启动 如果您想手动启动 Python 服务器: ``` python -m http.server 8080 ``` 然后在浏览器中访问 `http://localhost:8080/web/index.html`。 ### 🔄 CI/CD 与自动化安全/质量扫描 我们的项目遵循符合网络安全标准的软件工程 原则进行管理。每次向仓库 push 或创建 pull request 时,GitHub Actions 都会运行以下 pipeline: 1. **多操作系统支持 (Matrix Build):** 代理代码在 `ubuntu-latest` 和 `windows-latest` 系统上进行测试,确保跨平台的兼容性。 2. **静态代码分析:** 使用 `flake8` 工具检查 Python 的代码规范 (PEP 8)。 3. **静态安全分析:** 使用 `bandit` 工具自动扫描代码中可能存在的严重漏洞模式(所有误报情况均已按照网络安全标准使用 `# nosec` 标记)。 4. **Pipeline 集成测试:** 运行 `exploit_sim.py | detector.py` 管道,模拟端到端的漏洞利用-检测循环。 5. **报告输出:** 成功运行的 PoC 结果生成的 `detection_results.json` 将作为自动生成的 zip 文件上传到 Actions 输出中。 #### PoC 终端输出预览: ![PoC Terminal Ekran Görüntüsü](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/074a629620081207.png) ## ⚠️ 免责声明 本项目**仅用于学术和教育目的**。所有测试均在受控的实验室环境中的隔离虚拟机上进行。任何针对真实设备或第三方系统的攻击企图都是**非法的**,并且不属于本项目的范围。 ## 📄 许可证 本项目基于 [GNU General Public License v3.0](LICENSE) 授权。
标签:Android, DSL, PoC, Python, 安全实验环境, 无后门, 暴力破解, 漏洞分析, 请求拦截, 路径探测, 逆向工具