dwarf2json: Análisis Forense Linux
dwarf2json: Análisis Forense Linux
dwarf2json es una herramienta desarrollada por el equipo de Volatility que se utiliza para convertir información de depuración (en formato DWARF) en un archivo JSON que Volatility 3 puede entender (llamado ISF o Intermediate Symbol Format).
Esto es fundamental si estás realizando análisis de memoria forense en Linux y necesitas crear un perfil para un kernel específico que no está disponible por defecto.
### ¿Para qué sirve dwarf2json?
Cuando analizas la memoria de un sistema Linux, Volatility necesita saber exactamente dónde se encuentran las estructuras de datos en el kernel (como la lista de procesos o las interfaces de red).
El kernel de Linux tiene símbolos de depuración (DWARF).
dwarf2json extrae esos símbolos.
Los convierte a JSON (ISF).
Volatility usa ese JSON para "mapear" la memoria RAM que estás analizando.
### Cómo instalar dwarf2json en Kali Linux
Dado que es una herramienta escrita en Go, necesitarás tener el entorno de Go configurado.
Instalar Go:
Bashsudo apt update sudo apt install golang-goClonar el repositorio e instalar:
Bashgit clone https://github.com/volatilityfoundation/dwarf2json.git cd dwarf2json go buildEsto creará un ejecutable llamado
dwarf2jsonen la carpeta actual.
### Uso básico: Crear un perfil para el Kernel actual
Para generar el archivo JSON del sistema que estás usando actualmente en Kali, sigue estos pasos:
Localizar el archivo vmlinux:
Normalmente, necesitas el archivo del kernel con símbolos de depuración. En Kali/Debian suelen estar en /usr/lib/debug/boot/. Si no los tienes, instálalos:
Bashsudo apt install linux-image-$(uname -r)-dbgEjecutar la conversión:
Bash./dwarf2json linux --elf /usr/lib/debug/boot/vmlinux-$(uname -r) > kali-kernel.jsonUsarlo en Volatility 3:
Mueve ese archivo .json a la carpeta de símbolos de Volatility:
volatility3/symbols/linux/
### Puntos clave a recordar
Compatibilidad: Se usa exclusivamente para Volatility 3. Las versiones antiguas (Volatility 2) usaban archivos
.zipcreados condwarfdump.Símbolos: Sin los símbolos de depuración (
vmlinux), dwarf2json no puede extraer la información necesaria. El archivo comprimidovmlinuz(con 'z') no sirve directamente; debe ser el ELF original.