Donut: Generador de Shellcode en Kali

 

 https://www.onlinetis.com

Donut: Generador de Shellcode en Kali

Parece que estás interesado en Donut, una herramienta de generación de "shellcode" muy popular en el mundo de la ciberseguridad y el "Red Teaming", utilizada frecuentemente en entornos como Kali Linux.

Aquí tienes una guía rápida sobre qué es, para qué sirve y cómo empezar a usarla.


¿Qué es Donut?

Donut es un generador de código de posición independiente (PIC - Position Independent Code) que permite ejecutar archivos VBScript, JScript, EXE, DLL (incluyendo ensamblados .NET) directamente en la memoria de un proceso.

¿Por qué es tan importante?

Lo que hace especial a Donut es su capacidad para "enmascarar" programas normales y convertirlos en shellcode. Esto permite a los investigadores de seguridad:

  • Inyectar herramientas completas en procesos legítimos.

  • Evadir sistemas de detección (EDR/Antivirus) que suelen escanear archivos en disco, pero son menos eficaces analizando memoria volátil.

  • Ejecutar binarios de Windows sin que toquen el disco duro (Fileless Malware).


Cómo instalar Donut en Kali Linux

Aunque Donut es una herramienta de Windows en su núcleo, puedes compilarla y usarla perfectamente en Linux para generar tus cargas útiles.

  1. Clona el repositorio oficial:

    Bash
    git clone https://github.com/TheWover/donut.git
    
  2. Entra al directorio y compila:

    Bash
    cd donut
    make
    

    Nota: Si prefieres usar la versión de Python, puedes instalarla con pip install donut-shellcode.


Uso básico (Ejemplos)

La sintaxis básica de Donut es bastante directa. Aquí te dejo los casos más comunes:

1. Convertir un ejecutable (.exe) a Shellcode

Si tienes un binario llamado herramienta.exe y quieres convertirlo en un archivo de shellcode (payload.bin):

Bash
./donut -i herramienta.exe -o payload.bin

2. Especificar una clase y método (para .NET)

Si estás trabajando con una DLL de .NET, puedes indicar exactamente qué función quieres ejecutar:

Bash
./donut -i mi_libreria.dll -c MiClase -m MiMetodo

3. Generar salida en un formato específico

Donut puede generar el código en varios formatos para facilitar su uso en exploits:

  • C/C++: -f 1

  • Python: -f 3

  • Base64: -f 4


Cómo funciona el flujo de Donut

Cuando ejecutas el shellcode generado por Donut, sucede lo siguiente:

  1. Desencriptado: El shellcode se desencripta a sí mismo en la memoria (usa algoritmos como Chacha20).

  2. Carga del Runtime: Si es un archivo .NET, Donut carga el Common Language Runtime (CLR).

  3. Ejecución: El binario original se carga y se ejecuta desde la memoria, sin dejar rastro en el sistema de archivos.


Aviso de Ética: Esta herramienta debe utilizarse exclusivamente en entornos controlados, laboratorios de aprendizaje o auditorías de seguridad con permiso explícito.

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