无泄漏,没问题 – 使用 ROP 链绕过 ASLR 以获得 RCE / modzero
在我上一篇关于 ARM 漏洞利用的文章中,我们针对已知漏洞精心设计了一个漏洞利用程序后,我决定继续研究更现代的物联网目标。在这篇后续文章中,我将带您构建一个相当复杂的二进制漏洞利用程序。我们将探索从固件提取和分析到发现先前未知的漏洞及其利用的路径。请跟随我们构建一个 ARM ROP 链来绕过 ASLR 而不会发生地址泄漏,并实现未经身份验证的 RCE。 目标概览 我检查了 IN-8401 2K+,这是一款来自德国制造商 INSTAR 的 IP 摄像机。它是一款现代网络监控摄像头,提供基于网络的用户界面以进行配置和实时查看。我后来发现这个特定型号与 INSTAR 2K+ 和 4K 系列的其他设备共享其固件。据 Shodan 称,公共互联网上可见大约 12,000 个 INSTAR 设备。 INSTAR IN-8401 2K+ 网页界面 敲开外壳 在我们能够有意义地寻找漏洞之前,我们需要获得对设备的访问权限以获取其固件。对固件的访问公开了二进制文件、配置文件、脚本和文件系统布局,并支持静态检查和动态测试。如果没有固件,我们就会陷入对网络接口的盲目模糊测试。 在进入分析模式之前收集尽可能多的信息总是一个好主意。所以我开始阅读一些书。 INSTAR 提供了有关其相机及其功能的相当广泛的文档。我发现一个非常有趣的页面,标题为“固件升级错误后恢复高清摄像头”。该文章解释了相机公开了 UART 接口以及如何访问它来恢复固件映像。 UART 是一种用于串行通信的硬件接口,常见于开发板、嵌入式系统和调试接口。在文档中,看起来可以直接启动到 root shell。 尽管这篇文章是针对高清摄像机型号而不是我的 2K+ 编写的,但我认为它可能值得一试,因为制造商经常在不同的产品版本中重复使用功能和组件。我拆下了外壳的前部,发现了调试接口,如 wiki 页面所示。 我继续将一些 PCBites 连接到接口上,并将它们连接到 FTDI,这是一个小型 USB 转串口转换器。 将 […]
