
Collection d'outils offensifs en C#
Ceci est une collection d'outils C# et de preuves de concept (POC) que j'ai créés pour une utilisation lors d'opérations. Chaque projet est conçu pour n'utiliser aucune bibliothèque externe. Ouvrez le fichier .SLN de chaque projet dans Visual Studio et compilez en mode "Release".
| Project | Description | Version minimale .NET |
|---|---|---|
| AbandonedCOMKeys | Énumère les clés COM abandonnées (spécifiquement InprocServer32). Utile pour la persistance car vous pouvez, dans certains cas, écrire à l'emplacement manquant et appeler avec rundll32.exe -sta {CLSID}. Technique référencée dans cet article par @bohops | 4.0 |
| COMHunter | Énumère les serveurs COM configurés dans les clés LocalServer32 et InProc32 d'un système en utilisant WMI | 4.0 |
| CredPhisher | Demande les informations d'identification de l'utilisateur courant via la fonction WinAPI CredUIPromptForWindowsCredentials. Accepte un argument pour fournir le texte du message qui sera affiché à l'utilisateur. | 3.5 |
| DriverQuery | Collecte des détails sur les pilotes du système et permet de filtrer optionnellement pour trouver uniquement ceux qui ne sont pas signés par Microsoft | 3.5 |
| EncryptedZIP | Compresse un répertoire ou un fichier, puis chiffre le fichier ZIP avec une clé fournie en utilisant AES256 CFB. Cet assembly efface également la clé de la mémoire à l'aide de RtlZeroMemory. Utilisez le programme Decrypter inclus pour déchiffrer l'archive. | 3.5 |
| ETWEventSubscription | Similaire aux abonnements aux événements WMI mais utilise le suivi d'événements pour Windows (Event Tracing for Windows). Lorsque l'événement système se produit, actuellement soit lorsqu'un utilisateur se connecte, soit lorsqu'un processus spécifié est démarré, la méthode DoEvil() est exécutée. | 4.6 |
| GPSCoordinates | Suit les coordonnées GPS du système (précises à 1 km actuellement) si les services de localisation sont activés. Fonctionne actuellement sur Windows 10, mais espère couvrir toutes les versions 7 et supérieures. | 4.0 |
| HijackHunter | Analyse l'en-tête PE d'une cible pour trouver des DLL chargées vulnérables au détournement. Fournit des justifications et des techniques d'abus pour chaque opportunité de détournement détectée | 4.0 |
| HookDetector | Détecte les fonctions API natives hookées dans le processus courant, indiquant la présence d'un EDR | 4.0 |
| ImplantSSP | Installe une DLL de fournisseur de support de sécurité (SSP) fournie par l'utilisateur sur le système, qui sera chargée par LSA au démarrage du système. La DLL doit exporter SpLsaModeInitialize. Inspiré par Install-SSP par @mattifestation. | 3.5 |
| InspectAssembly | Inspecte le CIL d'un assembly .NET cible pour les appels aux désérialiseurs et l'utilisation du .NET remoting afin d'aider au triage des escalades de privilèges potentielles. | 4.0 |
| JunctionFolder | Crée un dossier de jonction dans le dossier Démarrage des Accessoires Windows comme décrit dans les fuites Vault 7. Au démarrage ou lorsqu'un utilisateur parcourt le répertoire, la DLL référencée sera exécutée par verclsid.exe en intégrité moyenne. | 3.5 |
| MockDirUACBypass | Crée un répertoire de confiance simulé, C:\Windows \System32\, et déplace un exécutable Windows à auto-élévation dans ce répertoire simulé. Une DLL fournie par l'utilisateur exportant les fonctions appropriées est déposée et lorsque l'exécutable est lancé, la DLL est chargée et exécutée avec une intégrité élevée. Technique découverte par @ce2wells et décrite dans cet article. | 3.5 |
| PhantomService | Recherche et supprime les services non ASCII qui ne peuvent pas être facilement supprimés par les outils Windows intégrés. Référence | 4.0 |
| SessionSearcher | Recherche sur tous les lecteurs connectés les clés privées PuTTY et les fichiers de connexion RDP et les analyse pour obtenir des détails pertinents. Basé sur SessionGopher par @arvanaghi. | 4.0 |
| UnquotedPath | Génère une liste de chemins de service sans guillemets qui ne sont pas dans System32/SysWow64 pour y placer un PE. Référence ATT&CK | 3.5 |