网络安全的底层硬件之硬盘固件黑客

本文是对公司常用的磁盘控制器固件进行逆向分享,从而找到其中的漏洞。

时间:2022年10月09日

网络安全的底层硬件之硬盘固件黑客

本文是对公司常用的磁盘控制器固件进行逆向分享,从而找到其中的漏洞,供学习参考:

现在一切都准备好,打开硬盘驱动器并使用以下命令运行openocd:openocd-f interface/.cfg-f target/test.cfg

 

test.cfg应该是硬盘控制器使用的CPU的配置,对于大多数marvell CPU,这个配置应该可以工作。我不确定adapter_khz,所以我将我的设置为100(只要这个值低于它应该工作的实际值)。

如果一切顺利,您应该会看到上述内容。现在您可以使用telnet连接到端口4444并发出命令。

硬盘控制器中使用的Marvell芯片没有公开记录。因此,如果您想知道他们的内存映射等信息,您必须签署NDA并可能支付一些钱。相反,我要做的是尽可能多地从固件中找出可能,并可能通过探测电路。

 

当您无法拆焊和转储闪存时,获取固件并不容易,因此我们必须完成启动过程。大多数ARM CPU从地址0xFFFF0000开始执行,这称为复位向量。如果我们从该地址转储65536字节,我们将找到引导代码,这将是一个很好的起点。

 

为了转储内存,我们首先需要停止CPU,这可以通过命令“reset halt”来完成(要求我们首先重置系统,因为我们无法停止超过某个阶段)。如果重置命令由于任何原因不起作用,例如:JTAG的RST引脚未连接任何东西,您需要断开并重新连接硬盘驱动器的电源,然后快速接入JTAG并在短时间内发出停止命令几秒钟。使用命令“dump_image

”转储的内存。

 

当我们对转储的映像进行反汇编时,它是一些相当小的(4 kb)ARM引导代码,应该可以引导我们找到固件的其余部分。

原文地址:https://www.malwaretech.com/2015/04/hard-disk-firmware-hacking-part-2.html

销售专家

告诉我们您需要解决什么问题,我们的销售专家会帮助您找到最合适的解决方案。

周一至周五:9:00-20:30(北京时间)

咨询专业销售

咨询热线

在线咨询

限时折扣