¿Cómo puedo extraer el sistema de archivos completo (incluidos los archivos temporales) del firmware de un enrutador?

Pregunta:

Soy un novato en ingeniería inversa, así que perdón por mi ignorancia. Estoy tratando de extraer el sistema de archivos completo del firmware de un enrutador Netgear. Usando binwalk , pude extraer el kernel y un sistema de archivos squashfs . Hasta ahora tan bueno. El problema es que el sistema de archivos está incompleto. Muchos directorios (por ejemplo, / etc , / mnt , / var , / www ) son solo enlaces simbólicos a directorios no existentes en / tmp , que en sí mismo está vacío.

Supongo que (como he visto en otros enrutadores) el contenido de / tmp será otro sistema de archivos que se crea al inicio y se almacena en la RAM. ¿Estoy en lo correcto? ¿Y hay alguna forma de determinar el contenido del sistema de archivos temporal a partir del firmware?

Respuesta:

Revisé el firmware más reciente de WNR1000v3 y pude extraer las carpetas /etc y /www sin ningún problema usando binwalk v2.0.0.

Puede obtener mucha información útil sobre todo el sistema si descarga los códigos GPL http://kb.netgear.com/app/answers/detail/a_id/2649/~/netgear—open-source-code- para-programadores- (gpl) .
Como veo en el código GPL, el enrutador comienza con el archivo /sbin/rc , que inicializa los montajes, redes, etc. e inicia los servicios. La carpeta tmp es generalmente una ramfs, que se monta desde rc con la siguiente línea:

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

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım