从BIOS eeprom挂载/读取二进制转储的内容?


0

我现在已经研究了这个主题大约2天了,但是还没能找到符合我要求的解决方案。

一些背景:

我拥有一台廉价的中国CCTV DVR,它运行着一个非常简洁的Linux版本。在这些盒子上配置管理员密码后,它将被写入BIOS eeprom。如果您忘记了密码,那么您的密码非常有限; 你要么尝试使用密码恢复工具(没有一个适用于我),或者你试图用新的覆盖BIOS .bin文件,并希望你有一个能正确启动硬件并识别所有组件的文件。主板。在那里,做到了,没有用(长篇故事!)我已经尝试了3x不同的BIOS图像非常相似,但没有完全识别我的MB上的所有硬件。

我需要弄清楚在原始BIOS文件系统中写入密码的位置,看看我是否可以恢复它。

所以....

我有一个来自这个BIOS芯片的.bin转储。我使用CH341 USB编程器获得了.bin转储。我从主板上取下了芯片,并阅读了它的内容。我想'(假设?)它包含MBR和其他一些分区。

我想'mount'这个.bin文件,并能够读取文件系统的内容。

到目前为止,我尝试了以下方法:

  1. 使用HxD十六进制编辑器读取文件的内容。这显示了我的“一些”信息,但它并不完全有用。
  2. 我用DD将.bin文件写入USB Key
  3. 然后我使用2x不同的文件恢复工具来读取USB密钥的内容。
  4. 不幸的是,虽然我在这个过程中学到了东西,但这只是导致文件恢复实用程序从USB密钥恢复以前删除的照片和视频。而不是实际读取我用DD编写的文件。
  5. 我尝试过启动GParted,并阅读USB Key的内容。它没有识别任何分区。

所以,

如何将此.bin转储并将其写入磁盘或虚拟磁盘文件并读取内容?就像安装Linux分区一样?

你可以在这里找到.bin文件,如果你想玩它。其上没有敏感数据:https//drive.google.com/file/d/19epXpqNXnw5TfAj3lQKDtSYABqXgOM86/view?usp=sharing


虽然这是一个有趣的问题,但如果这个问题适合SU,我就会陷入困境。
Keltari

如果这不适合SU,你能否提出另一个我可以提出这个问题的论坛?我把它提到这里,因为我怀疑在Linux下安装和读取不同类型的文件系统时,社区成员将拥有相当多的知识。原因基本就是这一切; 一个真正简化的Linux发行版。(它必须适合16MB芯片!)
密歇根

这就是为什么我没有投票关闭
Keltari

反向工程.stackexchange.com,并binwalk在那里众所周知。另请注意,这不是“BIOS”,嵌入式Linux系统具有闪存ROM和固件的各个部分(通常是bootloader,R / O文件系统,例如squash-fs,R / W overlay文件系统)。您可以修改的任何内容(如root密码)都可能位于覆盖文件系统上。
dirkt

Answers:


0

好的,所以在进一步研究并咨询其他文件系统专家之后,我们确定这个.bin映像包含一些压缩的cramfs和squashfs分区。

经过更多的挖掘,并尝试各种不同的取证实用程序,我终于找到了工作,并允许我提取cramfs并将它们安装在Ubuntu中。该实用程序称为https://github.com/ReFirmLabs/binwalk

我现在能够读取文件系统,我相信我找到了包含Web界面密码的文件。它似乎是/squashfs-root-0/etc/auth.dat文件。可能是一个java json网络令牌,但还不是100%!


很好的进展!我打算建议你和coreboot / linuxboot人聊聊。他们一直都在做这种事情。也许如果你进入他们的IRC频道,他们可能会有所帮助。freenode上的#coreboot和#libreboot。
对角线
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.