Android CVE-2024-0044, 43093, 23706 漏洞分析和 PoC 实验室环境
| 姓名 | Keyvan Arasteh |
|---|---|
| GitHub | @keyvanarasteh |
| 邮箱 | [email protected] |
| keyvanarasteh | |
| 网站 | qline.tech |
| 姓名 | Baha Furkan Yıldız |
|---|---|
| 学号 | 2520****1009 |
| 课程名称 | 渗透测试 |
|---|---|
| 课程代码 | BGT006 |
| 学分 | 3 ECTS |
本项目是伊斯坦布尔大学信息安全技术专业渗透测试(BGT006)课程的期末作业。项目深入分析了影响 Android 生态系统的 3 个不同最新漏洞(CVE-2024-0044、CVE-2024-43093、CVE-2024-23706),构建了隔离实验室环境,并采用网络取证方法进行了分析。
传统的 Android 安全分析通常仅限于理论文档或静态图像。本项目通过 将攻击与防御循环与可运行代码相结合,解决了以下核心问题:
exploit_sim.py)与蓝队日志监控检测器(detector.py)端到端连接,呈现完整的攻防 PoC(概念验证)。为了方便克隆项目的用户能够在几秒内运行并查看输出,我们添加了一键运行的 PoC 启动脚本(run_poc.bat / run_poc.sh)。这些脚本模拟红队的利用步骤,并触发蓝队检测器生成告警,写入 reports/detection_results.json 文件。详细运行步骤请参见 安装与运行 部分。
项目开发的 src/detector.py 端点日志分析代理已集成到期中项目实现的 NetVanguard 中央异常监控与告警面板中。模拟器上产生的关键漏洞特征通过网络传输至 NetVanguard 后端引擎,模拟了集中监控(SIEM)架构。
漏洞检测代理(src/detector.py)是一个轻量级的端点日志监控引擎,专为检测 Android 设备上进行的利用活动而设计。
adb connect 命令直接连接模拟器,实时监控设备日志。adb logcat | python src/detector.py 架构,可与其他 CLI 工具串联。.log)。.env 文件中的 DETECTION_KEYWORDS 变量获取规则。SIGSEGV)、包安装错误(SIGABRT)以及安全应用崩溃(Process has died)等关键利用特征时,立即在终端和日志中生成 [TEHLIKE - ALARM]。Android-rce-analizi/
├── .github/
│ └── workflows/
│ └── detector_test.yml # GitHub Actions (CI/CD) 自动测试配置
├── .gitattributes # GitHub 语言统计与文件属性配置
├── README.md # 项目主文档
├── ROADMAP.md # 项目路线图 (阶段 0-5)
├── start_dashboard.bat # Windows Web 仪表盘启动器
├── start_dashboard.sh # macOS/Linux Web 仪表盘启动器
├── run_poc.bat # Windows 一键 PoC 模拟器
├── run_poc.sh # macOS/Linux 一键 PoC 模拟器
├── .gitignore # Git 忽略文件
├── .env.example # 环境变量模板
├── Dockerfile # Docker 配置
├── docker-compose.yml # 多容器配置
├── LICENSE # 许可证文件
├── mitigation/ # 漏洞缓解与补丁文件
│ ├── cve_2024_0044_patch.diff
│ ├── cve_2024_23706_mitigation.md
│ └── cve_2024_43093_mitigation.md
├── src/ # 源代码
│ ├── detector.py # 端点日志分析代理(实时检测引擎)
│ ├── exploit_sim.py # 红队漏洞利用模拟器
│ └── test_detector.py # 为代理编写的自动单元测试
├── reports/ # 模拟扫描与检测报告
│ ├── nessus_scan.csv # 模拟 Nessus 漏洞扫描输出
│ └── detection_results.json # 检测引擎实时记录的日志输出
├── web/ # Web 仪表盘界面
│ ├── index.html # 主仪表盘 HTML 文件
│ ├── css/style.css # 界面样式
│ └── js/main.js # 界面动态与终端模拟器
├── docs/ # 文档
│ ├── assets/ # 图片与媒体文件(含 Demo GIF)
│ ├── modules/ # 模块文档
│ ├── references/ # 参考资源
│ └── research/ # 深入研究文档
│ ├── 01_zafiyet_analizi.md
│ ├── 02_teknik_mekanizma.md
│ ├── 03_saldirgan_perspektifi.md
│ ├── cve_2024_23706.md
│ ├── cve_2024_43093.md
│ ├── detector_test_output.md # 测试报告输出
│ └── final_rapor.md # 课程提交最终报告
└── honeypot/ # 蜜罐环境文件(模拟器安装指南)
在项目范围内,漏洞分析与防御模拟通过一个包含 4 个基本阶段的网络安全循环进行处理:
graph TD
A["1. 漏洞分析与静态审查"] --> B["2. 隔离实验室环境搭建"]
B --> C["3. 利用模拟与动态日志记录"]
C --> D["4. 关联与可视化仪表盘"]SIGSEGV 等)由 src/detector.py 漏洞检测代理过滤捕获。web/ 界面。# 1. 克隆仓库并进入目录
git clone https://github.com/bfurkanyildiz/Android-rce-analizi.git
cd Android-rce-analizi
# 2. 准备环境变量(没有 .env 则使用默认设置)
cp .env.example .env
无需任何安装或模拟器设置,端到端测试攻击与检测机制:
run_poc.bat
bash run_poc.sh
在 Android 模拟器开启时实时捕获 logcat:
# 启动代理(开始监听 ADB 实时日志)
python src/detector.py
# 在另一个终端触发攻击模拟器
python src/exploit_sim.py
在隔离的 Docker 容器中启动所有依赖项:
docker-compose up -d
测试软件质量与 CI/CD 标准:
python -m unittest src/test_detector.py
任何克隆(git clone)本项目的用户,都可以轻松在本地运行包含分析报告和终端模拟的丰富 Web 界面。
您可以通过以下方法之一查看界面:
在后台启动本地 HTTP 服务器并自动在默认浏览器中打开界面,请根据操作系统运行相应命令:
start_dashboard.bat 文件,或在终端中运行:
start_dashboard.bat
bash start_dashboard.sh
chmod +x start_dashboard.sh
./start_dashboard.sh
无需搭建本地服务器,直接运行:
web/ 目录。index.html 文件,在浏览器中直接打开。如需手动启动 Python 服务器:
python -m http.server 8080
然后在浏览器中访问 http://localhost:8080/web/index.html。
本项目按照符合网络安全标准的软件工程(DevSecOps)原则进行管理。每次向仓库推送或发起拉取请求时,GitHub Actions 将执行以下工作流(Pipeline):
ubuntu-latest 和 windows-latest 系统上测试,验证跨平台兼容性。flake8 工具检查 Python 语法标准(PEP 8)。bandit 工具自动扫描代码中可能存在的关键漏洞模式(所有误报均已按照网络安全标准使用 # nosec 标记)。exploit_sim.py | detector.py 管道,模拟端到端利用-检测循环。detection_results.json 文件会自动打包为 zip 文件并上传至 Actions 输出。
本项目 仅用于学术和教育目的。所有测试均在受控的实验室环境中,在隔离的虚拟机上执行。针对真实设备或第三方系统的任何攻击尝试均 属违法行为,且不在本项目范围之内。
本项目基于 GNU General Public License v3.0 许可。
| 先修课程 | 网络基础, Linux CLI |
| 学期 | 2025-2026 春季 |
| CVE ID | 漏洞类型 | 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 | 本地 (应用安装) |
| 技术 | 用途 |
|---|
| Python 3.x | 检测引擎,攻击模拟 |
| Android SDK / ADB | 模拟器管理,设备通信 |
| Docker | 隔离实验室环境容器化 |
| Flask | Web 监控面板 |
| Logcat | Android 系统日志分析 |