修改嵌入式固件失败

时间:2018-07-23 03:23:34

标签: embedded-linux reverse-engineering firmware jffs2 squashfs

我最近一直在玩玩具无人机的固件。
它已经打开了telnet服务,但是由于我不知道其root密码,因此我尝试从闪存芯片中转储其固件。

shadow file
binwalk result
转储成功,但是我无法破解root密码哈希。因此,我对自己说:“为什么不修改密码哈希并将其写回到闪存芯片上呢?”

我知道有一个firmware mod kit,但是它的失败率很高。因此,我决定尝试直接从十六进制编辑器修改密码哈希,而不是修改提取的shadow文件。

Pasword hash in hex editor (这是十六进制编辑器中唯一的密码哈希。)

我用自己的$ 1 $哈希替换了原始哈希,确保固件的总长度没有变化,然后保存并将其写回闪存芯片。
不幸的是,这种方法也失败了。
再次无法登录后,我使用binwalk提取了修改后的固件,发现密码哈希值没有改变!

我确定十六进制编辑成功,从闪存再次读取的固件也包含我自己的密码哈希。但是以某种方式提取后,系统使用的真实密码哈希值没有改变。

greping for password hashes$1$4eVOeCTn$RdB5BTDwK8BlSTB49A4hA1是原始哈希)

我对嵌入式系统不熟悉,但我很好奇。这是由某种压缩引起的吗?
在这种情况下,有什么方法可以完成我想做的事情吗?

0 个答案:

没有答案