我是逆向工程的新手,请原谅我的无知。我正在尝试从Netgear路由器的固件中提取完整的文件系统。使用binwalk,我能够提取内核和squashfs文件系统。到现在为止还挺好。问题是文件系统不完整。许多目录(例如/ etc,/ mnt,/ var,/ www)只是到/ tmp中不存在的目录的符号链接,该目录本身是空的。

我猜(如我在其他路由器上所见),/ tmp的内容将是另一个在启动时创建并存储在RAM中的文件系统。我对么?并且有某种方法可以从固件确定临时文件系统的内容吗?

评论

您可能会发现它通过初始化脚本在启动时填充tempf。我通常建议您在/etc/init.d中查找,但是您提到该路径存在于tempfs本身中。如果您可以链接到固件的下载页面,则可以帮助获取更多特定信息。

@booto:有一个初始化文件,我已经怀疑它可能是我要找的东西,但是对于所有这一切,我不确定如何进入。 (顺便说一下,这只是到busybox的链接,因此可能是红色鲱鱼)。

@booto:路由器型号为WNR1000v3。 Netgear支持站点在这里。

#1 楼

我检查了最新的WNR1000v3固件,然后使用binwalk v2.0.0可以毫无问题地提取/etc/www文件夹。

如果下载GPL代码,则可以获得有关整个系统的很多有用信息。 http://kb.netgear.com/app/answers/detail/a_id/2649/~/netgear---open-source-code-for-programmers-(gpl)。
我从GPL中看到代码,路由器以/sbin/rc文件开头,该文件初始化安装,网络等并启动服务。 tmp文件夹通常是一个ramfs,它是从rc通过以下行安装的:

mount("ramfs", "/tmp", "ramfs", MS_MGC_VAL, NULL);


#2 楼

请尝试从firmware-mod-kit->

https://code.google.com/p/firmware-mod-kit/wiki/Documentation?tm=6

评论


谢谢!今晚我将尝试一下,让您知道如何进行。

– P Jones
15年3月23日在13:05

抱歉耽搁了。忙,忙,忙。尽管很高兴能向我展示一个新工具(似乎有一些我想使用的功能),但固件mod套件使我获得了与binwalk基本上相同的结果。我已经解压缩了固件和文件系统。我需要知道如何获取启动时编写的临时文件系统。

– P Jones
2015年4月6日,0:22

#3 楼

如果您可以访问该模型,则可以获取便宜的JTAG界面并遭到黑客入侵。 。

我强烈建议您查看devttys0博客系列“利用嵌入式系统”的第1至4部分。
http://www.devttys0.com/2011/09/exploiting-embedded-systems -part-1 /

在第4部分中,他使用QEMU作为漏洞利用开发环境。好东西!

评论


目前,JTAG接口有点超出我的技能范围,但是我可能会尝试更改它,至于QEMU和devttys0,我将立即进行研究。到目前为止,他的博客非常有帮助。谢谢你的帮助!

– P Jones
2015年4月6日下午0:43