Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Spartacus — Spartacus: kit de herramientas de secuestro DLL/COM | Kitploit
Herramientas/GitHubGitHub/accenture/spartacus
Herramientas DefensivasGeneración de PayloadsAnálisis de CódigoExplotaciónIngeniería InversaPruebas de PenetraciónAnálisis de BinariosRed TeamingArchived
GitHubaccenture/spartacus

Spartacus

Spartacus: kit de herramientas de secuestro DLL/COM

1.1k15329hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver Repositorio
Compartir

[!CAUTION] Este repositorio no tiene mantenimiento, visita https://github.com/sadreck/Spartacus para la versión más reciente.

Spartacus: Kit de Secuestro de DLL/COM version

¿Por qué "Spartacus"?

Si has visto la película Spartacus de 1960, recordarás la escena donde los romanos piden que Spartacus se entregue. En el momento en que el verdadero Spartacus se levantó, muchos otros también se levantaron y afirmaron ser él usando la frase "¡YO SOY SPARTACUS!".

Cuando un proceso vulnerable al Secuestro de DLL solicita la carga de una DLL, es como si preguntara "¿QUIÉN ES VERSION.DLL?" y directorios aleatorios comienzan a decir "YO SOY VERSION.DLL" y "NO, YO SOY VERSION.DLL". Y así, Spartacus.

¿En qué se diferencia esta herramienta de todas las demás herramientas de secuestro existentes?

  • Spartacus automatiza la mayor parte del proceso. Analiza registros sin procesar de SysInternals Process Monitor, y puedes dejar ProcMon ejecutándose durante horas y descubrir vulnerabilidades de secuestro de DLL/COM de segundo y tercer nivel (por ejemplo, una aplicación que carga otra DLL que a su vez carga otra DLL cuando usas una característica específica de la aplicación principal).
  • Genera automáticamente soluciones de Visual Studio para DLLs vulnerables.
  • Capaz de procesar archivos PML grandes y almacenar todos los eventos de interés en un archivo CSV. Prueba local procesó un archivo de 3 GB con 8 millones de eventos en 45 segundos.
  • Soporta escaneo tanto de vulnerabilidades de secuestro de DLL como de COM.
  • Soporta la generación de certificados autofirmados y la firma de archivos DLL.
  • Al utilizar la funcionalidad de Ghidra, extrae firmas de funciones exportadas y ejecuta tu payload a través de funciones proxy individuales en lugar de ejecutar todo desde DllMain. Esta técnica fue inspirada e implementada a partir del tutorial descrito en https://www.redteam.cafe/red-team/dll-sideloading/dll-sideloading-not-by-dllmain, por Shantanu Khandelwal.
  • [Defensa] Modo de monitoreo que intenta identificar aplicaciones en ejecución que están haciendo proxy de llamadas, como en "Secuestro de DLL en progreso". Esto es solo para obtener cualquier fruta fácil y no debe considerarse confiable.

Tabla de Contenidos

  • Instalación
  • Funcionalidad Soportada
    • Secuestro de DLL
      • Uso
    • Secuestro de COM
      • Uso
    • Generación de Proxy DLL
      • Uso
    • Firma de Archivos DLL
      • Uso
    • Detección de Secuestro de DLL
  • Argumentos de Línea de Comandos
  • Contribuciones
  • Créditos

Instalación

Encuentra y descarga la última versión de Spartacus en Releases. De lo contrario, simplemente clona este repositorio y compila desde el código fuente.

Funcionalidad Soportada

A continuación se describe cada uno de los modos que soporta Spartacus.

Nota: Los argumentos de línea de comandos han cambiado significativamente de v1 a v2.

Secuestro de DLL

La funcionalidad original de Spartacus era únicamente encontrar vulnerabilidades de secuestro de DLL. Funciona de la siguiente manera:

  1. Genera un archivo de configuración de ProcMon (PMC) sobre la marcha, basado en los argumentos pasados. Los filtros que se establecerán son:
    • La operación es CreateFile.
    • La ruta termina en .dll.
    • El nombre del proceso no es procmon.exe ni procmon64.exe.
    • Habilitar Drop Filtered Events para asegurar un tamaño mínimo de salida PML.
    • Deshabilitar Auto Scroll.
  2. Ejecuta Process Monitor y se detiene hasta que el usuario presione ENTER.
  3. El usuario ejecuta/finaliza procesos, o lo deja funcionando el tiempo que necesite.
  4. Termina Process Monitor cuando el usuario presiona ENTER.
  5. Analiza el archivo de registro de eventos (PML) de salida.
    1. Crea un archivo CSV con todas las DLLs con resultado NAME_NOT_FOUND y PATH_NOT_FOUND.
    2. Compara las DLLs anteriores e intenta identificar las DLLs que realmente se cargaron.
    3. Para cada DLL "encontrada", genera una solución de Visual Studio para hacer proxy de todas las funciones de exportación identificadas de esa DLL.

Uso del Secuestro de DLL

Recolecta todos los eventos y guárdalos en C:\Data\logs.pml. Todas las DLLs vulnerables se guardarán como C:\Data\VulnerableDLLFiles.csv y todas las soluciones de proxy DLL en C:\Data\Solutions.

--mode dll --procmon C:\SysInternals\Procmon.exe --pml C:\Data\logs.pml --csv C:\Data\VulnerableDLLFiles.csv --solution C:\Data\Solutions --verbose

Analiza un archivo de registro PML existente, guarda la salida en CSV y genera soluciones de Visual Studio proxy.

--mode dll --existing --pml C:\MyData\SomeBackup.pml --csv C:\Data\VulnerableDLLFiles.csv --solution C:\Data\Solutions --verbose

Capturas de Pantalla

DLL Runtime

CSV Output

Secuestro de COM

Una nueva funcionalidad de Spartacus es identificar vulnerabilidades de secuestro de COM locales. Funciona de la siguiente manera:

  1. Genera un archivo de configuración de ProcMon (PMC) sobre la marcha, basado en los argumentos pasados. Los filtros que se establecerán son:
    • La operación es RegOpenKey.
    • El nombre del proceso no es procmon.exe ni procmon64.exe.
    • Habilitar Drop Filtered Events para asegurar un tamaño mínimo de salida PML.
    • Deshabilitar Auto Scroll.
  2. Ejecuta Process Monitor y se detiene hasta que el usuario presione ENTER.
  3. El usuario ejecuta/finaliza procesos, o lo deja funcionando el tiempo que necesite.
  4. Termina Process Monitor cuando el usuario presiona ENTER.
  5. Analiza el archivo de registro de eventos (PML) de salida.
    1. Identifica todas las claves de registro faltantes que terminan en InprocServer32 y cuyo resultado es NAME_NOT_FOUND.
    2. Si la clave identificada está en HKEY_CURRENT_USER, busca su GUID en HKEY_CLASSES_ROOT e incluye sus detalles en el CSV de exportación (si se encuentra).
    3. Crea un CSV de salida con toda la información recopilada.
  6. Spartacus no crea automáticamente una solución de Visual Studio para el secuestro de COM, sin embargo, si necesitas crear una DLL proxy, puedes usar el modo proxy.

Para el secuestro de COM, Spartacus también soporta el escaneo del sistema local en busca de entradas COM mal configuradas:

  1. Enumera todo HKEY_CLASSES_ROOT, HKEY_CURRENT_USER y HKEY_LOCAL_MACHINE.
  2. Busca claves de registro llamadas InProcServer, InProcServer32, LocalServer o LocalServer32.
  3. Identifica cualquier ubicación faltante de EXE/DLL, junto con cualquier mala configuración de ACL, como la capacidad de Modificar o Eliminar el archivo por parte del usuario actual.

Uso del Secuestro de COM

Recolecta todos los eventos y guárdalos en C:\Data\logs.pml. Toda la información vulnerable de COM se guardará como C:\Data\VulnerableCOM.csv.

--mode com --procmon C:\SysInternals\Procmon.exe --pml C:\Data\logs.pml --csv C:\Data\VulnerableCOM.csv --verbose

Procesa un archivo PML existente para identificar entradas COM vulnerables.

Descargar herramienta