cyeezy08/Kimai-CVE-2026-49865-POC

GitHub: cyeezy08/Kimai-CVE-2026-49865-POC

针对 Kimai 时间追踪系统默认 APP_SECRET 硬编码漏洞(CVE-2026-52824)的概念验证利用工具包,提供从资产发现到身份验证绕过的完整利用链。

Stars: 0 | Forks: 0

# Kimai CVE-2026-52824 — 默认 APP_SECRET 身份验证绕过 针对 Kimai 时间追踪系统中硬编码默认 `APP_SECRET` 漏洞(版本 ≤ 2.57.0)的概念验证利用工具包。允许通过在未打补丁的 Docker 部署上伪造 `KIMAI_REMEMBER` cookie 来绕过身份验证。 ## 漏洞概述 | 字段 | 值 | |-------|-------| | **CVE** | CVE-2026-52824 | | **GHSA** | GHSA-jr9p-4h4j-6c58 | | **CVSS** | 9.1 (严重) | | **CWE** | CWE-1188 — 不安全的默认资源初始化 | | **受影响版本** | Kimai ≤ 2.57.0 (Docker 镜像 / `.env.dist`) | | **修复版本** | 2.58.0 | | **鸣谢** | Trent M. (`AzureADTrent`) | ## 工作原理 Kimai 在其 Docker 镜像和 `.env.dist` 中附带了硬编码的默认 `APP_SECRET`: ``` APP_SECRET=change_this_to_something_unique ``` 在 v2.57.0 版本中,remember-me cookie 的 `signature_properties` 为空,导致 `FieldsHash` 成为一个常量 (`SHA256('')`)。结合已知的密钥,任何人都可以为任何用户(包括管理员)伪造有效的 `KIMAI_REMEMBER` cookie。 ### 攻击链 1. 识别运行版本 ≤ 2.57.0 的 Kimai 实例 2. 用户 ID 是连续的 (管理员 = id:1) 3. 已知的 `APP_SECRET` → 计算 HMAC-SHA256 签名 4. 使用管理员的 user_id + 用户名伪造 `KIMAI_REMEMBER` cookie 5. 服务器验证 HMAC → 获得完整的管理员会话 6. 管理员权限允许操纵时间表、创建用户以及潜在的 RCE ### v2.58.0 中发生了什么变化 | 方面 | v2.57.0 (存在漏洞) | v2.58.0 (已修复) | |--------|---------------------|-------------------| | **Dockerfile** | `ENV APP_SECRET=change_this_to_something_unique` | 无硬编码默认值 | | **entrypoint.sh** | 无密钥生成 | 首次启动时生成 `bin2hex(random_bytes(32))` | | **存储** | 不适用 | 持久化存储在 `/opt/kimai/var/data/.appsecret` | ## 工具包内容 | 文件 | 用途 | |------|---------| | `exploit.py` | 单目标利用 — 伪造 cookie 并进行身份验证 | | `batch_pwn.py` | 针对主机列表的多线程批量利用 | | `quick_scan.py` | 两遍扫描器 — 先快速过滤,后深度探测 | | `deep_probe.py` | 通过多个 endpoint 进行版本检测 | | `probe_batch.py` | 从文件探测主机的版本和漏洞 | | `shodan-scanner.py` | 集成 Shodan 以发现 Kimai 实例 | ## 安装 ``` git clone https://github.com/cyeezy08/Kimai-CVE-2026-49865-POC.git cd Kimai-CVE-2026-49865-POC pip install -r requirements.txt ``` ## 用法 ### 单目标利用 ``` python3 exploit.py https://kimai.example.com python3 exploit.py https://kimai.example.com admin --dump ``` ### 批量利用 ``` # 从 URL 文件 python3 batch_pwn.py kimai_hosts.txt results.txt 30 ``` ### Shodan 发现 ``` export SHODAN_API_KEY="your_key" python3 shodan-scanner.py --search --output kimai_hosts.txt ``` ### 版本探测 ``` python3 deep_probe.py kimai_hosts.txt versioned_results.txt python3 quick_scan.py hosts_file.txt ``` ## 依赖要求 - Python 3.8+ - `requests` — HTTP 客户端 - `shodan` — Shodan API 客户端 (仅用于 `shodan-scanner.py`) ## 免责声明 本工具包仅供**授权的安全测试和研究使用**。未经授权访问计算机系统是违法行为。在测试前,请务必获取适当的授权。作者对任何滥用行为不承担责任。 ## 许可证 MIT,不知道,我累了,谢谢
标签:Modbus, PoC, Python, 无后门, 暴力破解, 身份验证绕过, 逆向工具