Firmware-Mod-Kit en Kali Linux
Firmware-Mod-Kit en Kali Linux
El Firmware-Mod-Kit (FMK) es una herramienta esencial para la ingeniería inversa de firmware de routers y otros dispositivos embebidos. Permite extraer el sistema de archivos de un archivo binario, modificarlo y luego reconstruirlo.
Aquí tienes una guía paso a paso para instalarlo y usarlo en Kali Linux.
1. Instalación en Kali Linux
Dado que FMK depende de varias herramientas de compresión y extracción, primero debemos instalar las dependencias necesarias.
Paso 1: Instalar dependencias
Abre tu terminal y ejecuta:
sudo apt update
sudo apt install git build-essential zlib1g-dev liblzma-dev python3-magic bsdmainutils
Paso 2: Clonar el repositorio
El proyecto original ha tenido varias versiones, pero la más estable para sistemas modernos se encuentra en GitHub:
git clone https://github.com/rampageX/firmware-mod-kit.git
cd firmware-mod-kit
Paso 3: Compilar las herramientas
Dentro de la carpeta, debemos compilar los componentes necesarios (como squashfs):
cd src
./configure
make
cd ..
2. Cómo usar el Firmware-Mod-Kit
El flujo de trabajo típico se divide en tres partes: Extracción, Modificación y Reconstrucción.
A. Extraer el firmware (extract-firmware.sh)
Para descomponer un archivo .bin o .img, usa el script de extracción. Esto creará una carpeta llamada fmk.
./extract-firmware.sh ruta/al/firmware.bin
Resultado: Verás una carpeta
fmk/rootfs/que contiene todos los archivos del dispositivo (binarios, scripts de configuración, páginas web del router, etc.).
B. Modificar los archivos
Ahora puedes navegar por fmk/rootfs/ y realizar cambios. Algunos ejemplos comunes:
Cambiar contraseñas por defecto en
/etc/shadow.Añadir scripts de inicio en
/etc/init.d/.Modificar la interfaz web en
/www/o/var/www/.
C. Reconstruir el firmware (build-firmware.sh)
Una vez hechas las modificaciones, vuelve a empaquetar todo:
./build-firmware.sh fmk/
Resultado: El nuevo firmware modificado se encontrará en
fmk/new-firmware.bin.
3. Herramientas adicionales incluidas
FMK no trabaja solo; a menudo se apoya en otras utilidades que ya vienen integradas o que deberías conocer:
Binwalk: Sirve para analizar qué hay dentro del binario antes de extraerlo. (Kali ya lo incluye por defecto).
UnsQuashFS: Para manejar sistemas de archivos comprimidos.
Devttys0 tools: Herramientas específicas para identificar firmas de firmware.
Notas importantes
Arquitectura: Recuerda que los archivos dentro del firmware suelen ser MIPS o ARM. No puedes ejecutar un binario de un router directamente en tu PC (x86) a menos que uses un emulador como QEMU.
Riesgo: Flashear un firmware modificado incorrectamente puede "brickear" (dejar inservible) tu dispositivo. Ten siempre una copia de seguridad y un acceso serie (UART) a mano.