Analistas de malware Detect It Easy en Kali Linux

 

 https://www.onlinetis.com

Analistas de malware Detect It Easy en Kali Linux

Detect It Easy (DIE) es una herramienta esencial para analistas de malware y entusiastas de la ingeniería inversa. Se utiliza para determinar los tipos de archivos, compiladores, empaquetadores (packers) y bibliotecas utilizadas en un archivo binario.

Aquí tienes una guía rápida en español sobre cómo obtenerlo y usarlo en Kali Linux.


1. Instalación en Kali Linux

Aunque Kali tiene muchas herramientas preinstaladas, es posible que necesites descargar la versión más reciente de DIE directamente desde su repositorio oficial de GitHub, ya que a menudo no está en los repositorios estándar de apt.

Opción A: Usando la versión de los repositorios

Puedes intentar buscar si está disponible mediante:

Bash
sudo apt update
sudo apt install detect-it-easy

Opción B: Descargar el binario (Recomendado)

Si no está en el repositorio, descarga el paquete .deb desde la página de GitHub de horsicq:

  1. Descarga el archivo que termine en _amd64.deb.

  2. Instálalo con el siguiente comando:

    Bash
    sudo dpkg -i nombre_del_archivo.deb
    sudo apt install -f  # Para corregir posibles dependencias faltantes
    

2. ¿Para qué sirve?

DIE es extremadamente útil porque no solo te dice qué es un archivo, sino cómo fue construido. Sus funciones principales incluyen:

  • Identificación de Packers: Detecta si un archivo está comprimido o protegido (ej. UPX, Themida).

  • Detección de Compiladores: Identifica si fue escrito en C++, Delphi, Go, .NET, etc.

  • Cálculo de Entropía: Ayuda a visualizar si hay datos cifrados o comprimidos dentro del archivo.

  • Escaneo de Firmas: Utiliza scripts basados en el lenguaje SGA (similar a JavaScript) para identificar firmas específicas.


3. Uso Básico

Interfaz Gráfica (GUI)

Simplemente ejecuta die o die-qt en tu terminal o búscalo en el menú de aplicaciones de Kali.

  1. Arrastra el archivo sospechoso a la ventana.

  2. Haz clic en "Scan".

  3. Revisa la sección "Linker" y "Compiler" para saber el origen del archivo.

Línea de Comandos (CLI)

Si prefieres trabajar desde la terminal, puedes usar la versión diec:

Bash
diec archivo_sospechoso.exe

Esto te dará una salida rápida con la información del compilador y el formato del archivo.


4. Conceptos Clave en Español

  • Entropía: Si el gráfico de entropía es muy alto (cercano a 8), es muy probable que el archivo esté cifrado o "packeado".

  • Secciones: Permite ver las secciones del binario (como .text, .data, .rsrc). Si ves nombres extraños, podría ser un indicio de malware.

  • Signatures (Firmas): Puedes añadir tus propias reglas para detectar variantes específicas de software.

El uso de scripts de firmas es lo que hace que Detect It Easy sea tan potente. A diferencia de otros escáneres que usan firmas estáticas (hexadecimales), DIE utiliza un motor basado en JavaScript (específicamente un subconjunto llamado SGA) que permite lógica condicional.

Aquí te explico cómo funcionan y cómo puedes crear los tuyos.


1. Dónde se encuentran los scripts

En Kali Linux, las firmas suelen estar en una carpeta de base de datos dentro del directorio de instalación o en tu carpeta de configuración:

  • Ruta común: /usr/share/die/db/ o ~/.config/die/db/

La base de datos está organizada por formatos de archivo:

  • PE: Archivos ejecutables de Windows.

  • ELF: Binarios de Linux.

  • MACH: Archivos de macOS.

  • Binary: Firmas genéricas para cualquier archivo.


2. Anatomía de un Script de Firma

Un script básico de DIE tiene una estructura definida. Aquí tienes un ejemplo de cómo se ve una firma para detectar un supuesto compilador:

JavaScript
// Ejemplo de firma personalizada
init("compiler", "Mi Compilador Personalizado");

function detect(bShowType, bShowVersion, bShowOptions) {
    // Busca una cadena de texto específica en el archivo
    if (Binary.compare("'MiFirmaSecreta'")) {
        return _v("1.0", "Prototipo");
    }
    return "";
}

Funciones Principales:

  • init(tipo, nombre): Define qué estamos buscando (compiler, packer, tool) y el nombre que mostrará DIE.

  • Binary.compare(cadena): Busca una secuencia de bytes o texto.

  • _v(versión, opciones): Devuelve la versión detectada a la interfaz.


3. Cómo añadir tu propia firma

Si quieres detectar un patrón específico en archivos que estás analizando en Kali:

  1. Crea el archivo: Ve a la carpeta db/Binary/ (o la que corresponda al formato).

  2. Escribe el script: Crea un archivo con extensión .sg (ejemplo: mi_malware.1.sg).

  3. Usa la lógica de búsqueda: Puedes usar funciones avanzadas para mayor precisión:

    • Binary.isSignaturePresent(offset, tamaño, "f0 de ad ba be"): Busca bytes específicos en un lugar exacto.

    • Binary.getSize(): Útil para detectar archivos modificados por su tamaño.


4. Probando tus firmas (Modo Depuración)

No necesitas reiniciar la aplicación para probar tus scripts. DIE tiene un editor integrado:

  1. Abre la interfaz gráfica de DIE.

  2. Haz clic en el botón "Scripts" o "Log".

  3. En la pestaña de búsqueda o editor, puedes escribir tu código y darle a "Run" para ver si detecta el archivo que tienes cargado actualmente.


5. Ejemplo: Detectar un script de Python empaquetado

Si sueles analizar herramientas de hacking hechas en Python que han sido convertidas a .exe (PyInstaller), podrías usar una firma como esta:

JavaScript
init("packer", "PyInstaller");

function detect(bShowType, bShowVersion, bShowOptions) {
    if (Binary.compare("'pydata'", Binary.getSize() - 1000)) {
        return "Detectado por rastro de datos";
    }
    return "";
}

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux