主要观点:安全工程师 RyotaK 发现 OpenWrt 的 sysupgrade.openwrt.org 服务存在安全问题,包括命令注入和 SHA-256 碰撞,通过一系列研究和测试成功利用这些漏洞,并向 OpenWrt 团队报告,团队迅速修复并通知用户。
关键信息:
- 命令注入:服务器使用容器隔离构建环境,但在处理用户提供的包时,Makefile 中对包含用户控制值的变量处理不当,导致可执行任意命令。
- SHA-256 碰撞:用于生成请求哈希的方法中,包的哈希长度被截断为 12 位,容易产生碰撞,通过暴力破解 SHA-256 寻找碰撞。
- 攻击结合:找到具有 12 位哈希碰撞的有效负载,触发命令注入并执行恶意脚本,覆盖生成的构建工件,可迫使用户升级到恶意固件。
- 报告问题:向 OpenWrt 团队报告后,团队迅速停止服务并修复,发布公告通知用户。
重要细节: - 服务器代码位于 openwrt/asu,本地实例用于测试。
- 暴力破解 SHA-256 时自制 OpenCL 程序性能不佳,使用 Hashcat 并进行修改以提高效率。
- 计算哈希空间时曾出错,调整掩码模式后加快了速度。
- Flatt Security 提供安全评估服务和 Shisho Cloud 工具。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。