
Spartacus — Boîte à outils de détournement DLL/COM
[!CAUTION] Ce dépôt n'est plus maintenu, visitez https://github.com/sadreck/Spartacus pour la dernière version.
Si vous avez vu le film Spartacus de 1960, vous vous souviendrez de la scène où les Romains demandent à Spartacus de se rendre. Au moment où le vrai Spartacus s'est levé, beaucoup d'autres se sont levés aussi et ont prétendu être lui en utilisant la phrase « JE SUIS SPARTACUS ».
Lorsqu'un processus vulnérable au détournement de DLL demande le chargement d'une DLL, c'est un peu comme s'il demandait « QUI EST VERSION.DLL ? » et des répertoires aléatoires commencent à clamer « JE SUIS VERSION.DLL » et « NON, JE SUIS VERSION.DLL ». Et donc, Spartacus.
DllMain. Cette technique a été inspirée et implémentée à partir de l'explication sur https://www.redteam.cafe/red-team/dll-sideloading/dll-sideloading-not-by-dllmain, par Shantanu Khandelwal.[Défense] Mode de surveillance tentant d'identifier les applications en cours d'exécution qui mandatent des appels, comme dans « Détournement de DLL en cours ». Ce n'est que pour attraper les fruits tombés et ne doit pas être considéré comme fiable.Trouvez et téléchargez la dernière version de Spartacus sous Releases. Sinon, clonez simplement ce dépôt et compilez à partir des sources.
Voici une description de chacun des modes que Spartacus prend en charge.
Remarque : Les arguments de ligne de commande ont considérablement changé entre la v1 et la v2.
La fonctionnalité originale de Spartacus consistait uniquement à trouver des vulnérabilités de détournement de DLL. Son fonctionnement est le suivant :
CreateFile..dll.procmon.exe ou procmon64.exe.Drop Filtered Events pour garantir une taille minimale du fichier PML.Auto Scroll.ENTRÉE.ENTRÉE.NAME_NOT_FOUND et PATH_NOT_FOUND.Collectez tous les événements et enregistrez-les dans C:\Data\logs.pml. Toutes les DLL vulnérables seront sauvegardées sous C:\Data\VulnerableDLLFiles.csv et toutes les solutions de DLL mandataires dans 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
Analyser un fichier journal PML existant, sauvegarder la sortie au format CSV et générer des solutions Visual Studio mandataires.
--mode dll --existing --pml C:\MyData\SomeBackup.pml --csv C:\Data\VulnerableDLLFiles.csv --solution C:\Data\Solutions --verbose


Une nouvelle fonctionnalité de Spartacus est d'identifier les vulnérabilités de détournement COM local. Son fonctionnement est le suivant :
RegOpenKey.procmon.exe ou procmon64.exe.Drop Filtered Events pour garantir une taille minimale du fichier PML.Auto Scroll.ENTRÉE.ENTRÉE.InprocServer32 et dont le résultat est NAME_NOT_FOUND.HKEY_CURRENT_USER, rechercher son GUID sous HKEY_CLASSES_ROOT et inclure ses détails dans le fichier CSV d'exportation (si trouvé).proxy.Pour le détournement COM, Spartacus prend également en charge l'analyse du système local pour les entrées COM mal configurées :
HKEY_CLASSES_ROOT, HKEY_CURRENT_USER et HKEY_LOCAL_MACHINE.InProcServer, InProcServer32, LocalServer ou LocalServer32.