Skip to content

Automatiza la inyección de DLL en la máquina Eloquia de Hack The Box para obtener una shell interactiva remota mediante carga dinámica de extensiones SQLite.

Notifications You must be signed in to change notification settings

D1se0/Eloquia-DLL-Injection-Exploit-HTB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Eloquia DLL Injection Exploit (HTB)

📌 Descripción

Este script automatiza la explotación de la máquina Eloquia de Hack The Box mediante una inyección de DLL en un entorno Windows aprovechando:

  • Acceso al panel de administración Django
  • Subida de archivos a través de un artículo
  • Ejecución de DLL mediante el SQL Explorer
  • Carga dinámica de extensiones SQLite (load_extension)

El resultado es una shell interactiva remota que permite ejecutar comandos en el sistema Windows de la máquina víctima.

⚠️ Esta herramienta es exclusiva para la máquina Eloquia de Hack The Box y no está diseñada para uso genérico ni fuera de entornos de laboratorio.


⚙️ Funcionamiento general

El flujo del exploit es el siguiente:

  1. El usuario introduce comandos desde una shell interactiva.

  2. Cada comando:

    • Se incrusta en una DLL Windows generada dinámicamente.
    • Se compila usando mingw-w64.
  3. La DLL se sube como archivo adjunto (banner) a un artículo del panel de administración.

  4. La DLL se ejecuta mediante una consulta SQL usando:

    SELECT load_extension('<ruta_dll>');
  5. El comando se ejecuta en el sistema y su salida se guarda en un archivo .txt.

  6. El script descarga y muestra el resultado al usuario.

  7. Se limpian los archivos locales generados.

Todo el proceso está completamente automatizado.


🧠 Características

✔ Shell interactiva remota

✔ Generación automática de DLL por comando

✔ Gestión dinámica de CSRF tokens (sin hardcode)

✔ Soporte para cookies actualizables (útil tras reinicios)

✔ Numeración automática de archivos

✔ Configurable por argumentos

✔ Limpieza automática de archivos


🧩 Requisitos

  • Python 3
  • requests
  • mingw-w64 (compilador para Windows DLL)

En sistemas basados en Debian:

sudo apt install mingw-w64

🚀 Uso

Ayuda

python3 shell.py -h

Ejecución normal (shell interactiva)

python3 shell.py --cookies "csrftoken=XXX; sessionid=YYY"

Ejecutar un comando directamente

python3 shell.py --cookies "csrftoken=XXX; sessionid=YYY" whoami

🧾 Parámetros disponibles

Parámetro	Descripción

-n, --start-number	Número inicial para los archivos generados
-a, --article	ID del artículo del panel admin (por defecto: 105)
-s, --sql-explorer	ID del SQL Explorer (por defecto: 4)
--cookies	Cookies de sesión (csrftoken y sessionid)

Ejemplo completo

python3 shell.py \
  -n 10 \
  -a 105 \
  -s 4 \
  --cookies "csrftoken=NEWTOKEN; sessionid=NEWSESSION"

🍪 Gestión de cookies

Debido a que Hack The Box puede reiniciar la máquina, las cookies de sesión pueden cambiar.

Este script permite:

  • Usar cookies por defecto
  • Sobrescribir cookies manualmente usando --cookies
  • Detectar automáticamente cuando la sesión es inválida

Si las cookies no son válidas, el script fallará explícitamente, evitando falsos positivos.


🛑 Limitaciones

  • Diseñado exclusivamente para Eloquia (HTB)
  • Depende de:
    • Acceso al panel admin
    • SQL Explorer habilitado
    • Capacidad de subir DLLs
  • No es una herramienta genérica de DLL injection

⚠️ Aviso legal

Este proyecto se proporciona únicamente con fines educativos y para su uso en entornos controlados como Hack The Box.

El autor no se hace responsable del uso indebido de esta herramienta fuera de entornos de laboratorio autorizados.


🧪 Entorno probado

Hack The Box: Eloquia Python 3.10+ Kali Linux / Debian-based


✍️ Autor

Autor: d1se0 Desarrollado como parte de la resolución de la máquina Eloquia en Hack The Box.


About

Automatiza la inyección de DLL en la máquina Eloquia de Hack The Box para obtener una shell interactiva remota mediante carga dinámica de extensiones SQLite.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages