Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Spartacus — Spartacus — Boîte à outils de détournement DLL/COM | Kitploit
Outils/GitHubGitHub/accenture/spartacus
Outils DéfensifsGénération de PayloadsAnalyse de CodeExploitationRétro-ingénierieTests d'IntrusionAnalyse de BinairesRed TeamingArchived
GitHubaccenture/spartacus

Spartacus

Spartacus — Boîte à outils de détournement DLL/COM

1.1k15342il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Voir le dépôt
Partager

[!CAUTION] Ce dépôt n'est plus maintenu, visitez https://github.com/sadreck/Spartacus pour la dernière version.

Spartacus DLL/COM Hijacking Toolkit version

Pourquoi « Spartacus » ?

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.

En quoi cet outil diffère-t-il de tous les autres outils de détournement existants ?

  • Spartacus automatise la plupart du processus. Il analyse les journaux bruts de Process Monitor de SysInternals, et vous pouvez laisser ProcMon tourner pendant des heures et découvrir des vulnérabilités de détournement DLL/COM de 2e et 3e niveau (c'est-à-dire une application qui charge une autre DLL qui en charge une autre lorsque vous utilisez une fonctionnalité spécifique de l'application parente).
  • Génère automatiquement des solutions Visual Studio pour les DLL vulnérables.
  • Capable de traiter de gros fichiers PML et de stocker tous les événements d'intérêt dans un fichier CSV. Benchmark local : a traité un fichier de 3 Go avec 8 millions d'événements en 45 secondes.
  • Prend en charge la recherche de vulnérabilités de détournement DLL et COM.
  • Prend en charge la génération de certificats auto-signés et la signature de fichiers DLL.
  • En utilisant les fonctionnalités de Ghidra, extrait les signatures des fonctions exportées et exécute votre charge utile via des fonctions mandatées individuellement au lieu de tout exécuter depuis 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.

Table des matières

  • Installation
  • Fonctionnalités prises en charge
    • Détournement de DLL
      • Utilisation
    • Détournement COM
      • Utilisation
    • Génération de mandataire DLL
      • Utilisation
    • Signature de fichiers DLL
      • Utilisation
    • Détection de détournement de DLL
  • Arguments de ligne de commande
  • Contributions
  • Crédits

Installation

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.

Fonctionnalités prises en charge

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.

Détournement de DLL

La fonctionnalité originale de Spartacus consistait uniquement à trouver des vulnérabilités de détournement de DLL. Son fonctionnement est le suivant :

  1. Générer un fichier de configuration ProcMon (PMC) à la volée, basé sur les arguments passés. Les filtres qui seront définis sont :
    • L'opération est CreateFile.
    • Le chemin se termine par .dll.
    • Le nom du processus n'est pas procmon.exe ou procmon64.exe.
    • Activer Drop Filtered Events pour garantir une taille minimale du fichier PML.
    • Désactiver Auto Scroll.
  2. Exécuter Process Monitor et s'arrêter jusqu'à ce que l'utilisateur appuie sur ENTRÉE.
  3. L'utilisateur exécute/termine des processus, ou le laisse tourner aussi longtemps que nécessaire.
  4. Arrêter Process Monitor lorsque l'utilisateur appuie sur ENTRÉE.
  5. Analyser le fichier journal d'événements (PML) de sortie.
    1. Créer un fichier CSV avec toutes les DLL en NAME_NOT_FOUND et PATH_NOT_FOUND.
    2. Comparer les DLL ci-dessus et tenter d'identifier les DLL qui ont été effectivement chargées.
    3. Pour chaque DLL « trouvée », générer une solution Visual Studio pour mandater toutes les fonctions d'exportation de la DLL identifiée.

Utilisation du détournement de DLL

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

Captures d'écran

DLL Runtime

CSV Output

Détournement COM

Une nouvelle fonctionnalité de Spartacus est d'identifier les vulnérabilités de détournement COM local. Son fonctionnement est le suivant :

  1. Générer un fichier de configuration ProcMon (PMC) à la volée, basé sur les arguments passés. Les filtres qui seront définis sont :
    • L'opération est RegOpenKey.
    • Le nom du processus n'est pas procmon.exe ou procmon64.exe.
    • Activer Drop Filtered Events pour garantir une taille minimale du fichier PML.
    • Désactiver Auto Scroll.
  2. Exécuter Process Monitor et s'arrêter jusqu'à ce que l'utilisateur appuie sur ENTRÉE.
  3. L'utilisateur exécute/termine des processus, ou le laisse tourner aussi longtemps que nécessaire.
  4. Arrêter Process Monitor lorsque l'utilisateur appuie sur ENTRÉE.
  5. Analyser le fichier journal d'événements (PML) de sortie.
    1. Identifier toutes les clés de registre manquantes qui se terminent par InprocServer32 et dont le résultat est NAME_NOT_FOUND.
    2. Si la clé identifiée se trouve sous HKEY_CURRENT_USER, rechercher son GUID sous HKEY_CLASSES_ROOT et inclure ses détails dans le fichier CSV d'exportation (si trouvé).
    3. Créer un fichier CSV de sortie avec toutes les informations recueillies.
  6. Spartacus ne crée pas automatiquement de solution Visual Studio pour le détournement COM, mais si vous devez créer une DLL mandataire, vous pouvez utiliser le mode 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 :

  1. Énumérer toutes les clés HKEY_CLASSES_ROOT, HKEY_CURRENT_USER et HKEY_LOCAL_MACHINE.
  2. Rechercher les clés de registre appelées InProcServer, InProcServer32, LocalServer ou LocalServer32.
  3. Identifier tout emplacement manquant d'EXE/DLL, ainsi que toute mauvaise configuration des ACL telle que la capacité de modifier ou de supprimer le fichier par l'utilisateur actuel.

Utilisation du détournement COM

Télécharger l’outil