
Spartacus: kit de herramientas de secuestro DLL/COM
[!CAUTION] Este repositorio no tiene mantenimiento, visita https://github.com/sadreck/Spartacus para la versión más reciente.
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.
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.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.
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.
La funcionalidad original de Spartacus era únicamente encontrar vulnerabilidades de secuestro de DLL. Funciona de la siguiente manera:
CreateFile..dll.procmon.exe ni procmon64.exe.Drop Filtered Events para asegurar un tamaño mínimo de salida PML.Auto Scroll.ENTER.ENTER.NAME_NOT_FOUND y PATH_NOT_FOUND.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


Una nueva funcionalidad de Spartacus es identificar vulnerabilidades de secuestro de COM locales. Funciona de la siguiente manera:
RegOpenKey.procmon.exe ni procmon64.exe.Drop Filtered Events para asegurar un tamaño mínimo de salida PML.Auto Scroll.ENTER.ENTER.InprocServer32 y cuyo resultado es NAME_NOT_FOUND.HKEY_CURRENT_USER, busca su GUID en HKEY_CLASSES_ROOT e incluye sus detalles en el CSV de exportación (si se encuentra).proxy.Para el secuestro de COM, Spartacus también soporta el escaneo del sistema local en busca de entradas COM mal configuradas:
HKEY_CLASSES_ROOT, HKEY_CURRENT_USER y HKEY_LOCAL_MACHINE.InProcServer, InProcServer32, LocalServer o LocalServer32.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.