bfurkanyildiz/Android-rce-analizi
GitHub: bfurkanyildiz/Android-rce-analizi
该项目是一个Android安全漏洞分析与PoC实验室,针对三个高危CVE提供从攻击模拟到日志检测的完整攻防教学环境。
Stars: 1 | Forks: 0
# CVE 研究与 PoC 实验室 — Android 安全分析





## 👨🏫 指导教师信息
| 姓名 | 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)
[](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 终端输出预览:

## ⚠️ 免责声明
本项目**仅用于学术和教育目的**。所有测试均在受控的实验室环境中的隔离虚拟机上进行。任何针对真实设备或第三方系统的攻击企图都是**非法的**,并且不属于本项目的范围。
## 📄 许可证
本项目基于 [GNU General Public License v3.0](LICENSE) 授权。
标签:Android, DSL, PoC, Python, 安全实验环境, 无后门, 暴力破解, 漏洞分析, 请求拦截, 路径探测, 逆向工具