Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !
OffensivePipeline — OfensivePipeline vous permet de télécharger et de construire des outils C#, en appliquant certaines modifications afin d'améliorer leur évasion pour les exercices Red Team. | Kitploit
OfensivePipeline vous permet de télécharger et de construire des outils C#, en appliquant certaines modifications afin d'améliorer leur évasion pour les exercices Red Team.
OffensivePipeline vous permet de télécharger et de construire des outils C#, en appliquant certaines modifications afin d'améliorer leur évasion pour les exercices Red Team.
Une utilisation courante d'OffensivePipeline est de télécharger un outil depuis un dépôt Git, de randomiser certaines valeurs dans le projet, de le construire, d'obfusquer le binaire résultant et de générer un shellcode.
Fonctionnalités
Supporte actuellement uniquement les projets C# (.Net Framework)
Permet de cloner des dépôts git publics et privés (vous aurez besoin d'identifiants :D)
Permet de travailler avec des dossiers locaux
Randomise les GUIDs de projet
Randomise les informations d'application contenues dans AssemblyInfo
Construit des projets C#
Obfusque les binaires générés
Génère des shellcodes à partir de binaires
Il y a 79 outils paramétrés dans des modèles YML (tous ne fonctionnent peut-être pas :D)
De nouveaux outils peuvent être ajoutés en utilisant des modèles YML
Il devrait être facile d'ajouter de nouveaux plugins...
Nouveautés de la version 2.0
Réécriture quasi complète du code (nouveaux bugs ?)
Clonage possible depuis des dépôts privés (authentification via authToken GitHub)
Possibilité de copier un dossier local au lieu de cloner depuis un dépôt distant
Nouveau module pour générer des shellcodes avec Donut
Nouveau module pour randomiser les GUIDs des applications
Nouveau module pour randomiser le AssemblyInfo de chaque application
60 nouveaux outils ajoutés
Exemples
Lister tous les outils :```
OffensivePipeline.exe list
root@kitploit:~
- Compiler tous les outils :```
OffensivePipeline.exe all
Construire un outil```
OffensivePipeline.exe t toolName
root@kitploit:~
- Outils clonés et compilés propres```
OffensivePipeline.exe
Exemple de sortie```
PS C:\OffensivePipeline> .\OffensivePipeline.exe t rubeus
Raw Payload: C:\OffensivePipeline\Output\Rubeus_vh00nc50xud\ConfuserEx\Donut\Rubeus.bin
B64 Payload: C:\OffensivePipeline\Output\Rubeus_vh00nc50xud\ConfuserEx\Donut\Rubeus.bin.b64
root@kitploit:~
[+] No errors!
[+] Generating Sha256 hashes
Output file: C:\OffensivePipeline\Output\Rubeus_vh00nc50xud
root@kitploit:~
SUMMARY
Rubeus
- RandomGuid: OK
- RandomAssemblyInfo: OK
- BuildCsharp: OK
- ConfuserEx: OK
- Donut: OK
root@kitploit:~
## Plugins
- **RandomGuid** : randomise le GUID dans les fichiers *.sln*, *.csproj* et *AssemblyInfo.cs*
- **RandomAssemblyInfo** : randomise les valeurs définies dans *AssemblyInfo.cs*
- **BuildCsharp** : compile le projet c#
- **ConfuserEx** : obfusque les outils c#
- **Donut** : utilise Donut pour générer des shellcodes. Le shellcode généré est sans paramètres, dans les futures versions cela pourra changer.
## Ajouter un outil depuis un git distant
Les scripts de téléchargement des outils se trouvent dans le dossier **Tools** au format ***yml***. De nouveaux outils peuvent être ajoutés en créant de nouveaux fichiers *yml* au format suivant :
- Fichier *Rubeus.yml* :```yml
tool:
- name: Rubeus
description: Rubeus is a C# toolset for raw Kerberos interaction and abuses
gitLink: https://github.com/GhostPack/Rubeus
solutionPath: Rubeus\Rubeus.sln
language: c#
plugins: RandomGuid, RandomAssemblyInfo, BuildCsharp, ConfuserEx, Donut
authUser:
authToken:
toolArguments:
Où :
Name: nom de l'outil
Description: description de l'outil
GitLink: lien git pour le clonage
SolutionPath: chemin de la solution (fichier .sln)
Language: langage utilisé (actuellement seul c# est pris en charge)
Plugins: greffons à utiliser lors du processus de génération de cet outil
AuthUser: nom d'utilisateur github (non utilisé pour les dépôts publics)
AuthToken: jeton d'authentification github (non utilisé pour les dépôts publics)
Où :
- Name: nom de l'outil
- Description: description de l'outil
- GitLink: lien git pour cloner
- SolutionPath: chemin de la solution (fichier *.sln*)
- Language: langage utilisé (actuellement seul c# est supporté)
- Plugins: plugins à utiliser sur ce processus de construction de l'outil
- AuthUser: nom d'utilisateur GitHub
- AuthToken: jeton d'authentification GitHub (documenté sur GitHub: [création d'un jeton d'accès personnel](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
))
- toolArguments: arguments à intégrer dans le shellcode donut
## Ajouter un outil depuis un dossier git local```yml
tool:
- name: SeatbeltLocal
description: Seatbelt is a C# project that performs a number of security oriented host-survey "safety checks" relevant from both offensive and defensive security perspectives.
gitLink: C:\Users\alpha\Desktop\SeatbeltLocal
solutionPath: SeatbeltLocal\Seatbelt.sln
language: c#
plugins: RandomGuid, RandomAssemblyInfo, BuildCsharp, ConfuserEx, Donut
authUser:
authToken:
toolArguments:
Où :
Name : nom de l'outil
Description : description de l'outil
GitLink : chemin où se trouve l'outil
SolutionPath : chemin de la solution (fichier .sln)
Language : langage utilisé (actuellement seul c# est pris en charge)
Plugins : plugins à utiliser dans le processus de build de cet outil
AuthUser : nom d'utilisateur GitHub (non utilisé pour les dépôts locaux)
AuthToken : jeton d'authentification GitHub (non utilisé pour les dépôts locaux)
toolArguments : arguments à intégrer dans le shellcode Donut
Prérequis pour la version de publication (Visual Studio 2019/2022 n'est pas requis)
Description : Un outil pour élever les privilèges dans un réseau Active Directory en forçant l'authentification des comptes machines (Petitpotam) et en relayant vers le service de certificats.
Description : Ce fork modifié de SafetyKatz récupère dynamiquement la dernière version précompilée de Mimikatz directement depuis le dépôt GitHub de gentilkiwi, applique des patchs d'exécution sur les signatures détectées et utilise SharpSploit DInvoke pour le charger en mémoire.
Description : Certify est un outil en C# pour énumérer et exploiter les mauvaises configurations dans les services de certificats Active Directory (AD CS).
Description : Outil C# pour installer une imprimante réseau partagée en abusant du bug PrinterNightmare afin de permettre à d'autres machines du réseau une élévation de privilèges facile !
Description : Enumerate Domain Data est conçu pour être similaire à PowerView mais en .NET. PowerView est essentiellement l'outil ultime d'énumération de domaine, et nous voulions une implémentation .NET sur laquelle nous avons travaillé nous-mêmes. Cet outil a été largement assemblé en examinant les implémentations de différentes fonctionnalités à travers un large éventail de projets existants et en les combinant dans EDD.
Description : Un petit outil de démonstration (Proof-of-Concept) qui permet de s'authentifier auprès d'un serveur LDAP/S avec un certificat pour effectuer différentes actions d'attaque.
Description : PurpleSharp est un outil open source de simulation d'adversaires écrit en C# qui exécute des techniques adverses dans les environnements Windows Active Directory.
Description : Seatbelt est un projet C# qui effectue un certain nombre de « vérifications de sécurité » orientées sécurité sur les hôtes, pertinentes tant du point de vue offensif que défensif.
Description : SharpChromium est un projet .NET 4.0+ CLR pour récupérer des données de Google Chrome, Microsoft Edge et Microsoft Edge Beta. Actuellement, il peut extraire
Description : SharpCloud est un utilitaire C# simple pour vérifier l'existence de fichiers d'identifiants liés à Amazon Web Services, Microsoft Azure et Google Compute.
Description : SharpDir est un ensemble de code simple pour rechercher des fichiers sur les systèmes de fichiers locaux et distants en utilisant le même processus SMB que dir.exe, qui utilise le port TCP 445.
Description : Vérifie les processus en cours, les métadonnées des processus, les DLL chargées dans votre processus actuel et les métadonnées de chaque DLL, les répertoires d'installation courants, les services installés et les métadonnées de chaque binaire de service, les pilotes installés et les métadonnées de chaque pilote, le tout pour détecter la présence de produits défensifs connus tels que les antivirus, EDR et outils de journalisation.
Description : SharpGPOAbuse est une application .NET écrite en C# qui peut être utilisée pour tirer parti des droits de modification d'un utilisateur sur un objet de stratégie de groupe (GPO) afin de compromettre les objets contrôlés par ce GPO.
Description : Ce projet réutilise les handles ouverts vers lsass pour analyser ou faire un minidump de lsass, vous n'avez donc pas besoin d'utiliser votre propre handle lsass pour interagir avec lui. (Version Dinvoke)
Description : SharpHose est un outil de pulvérisation de mots de passe en C# conçu pour être rapide, sûr et utilisable via execute-assembly de Cobalt Strike.
Description : Cet exécutable est conçu pour être exécuté dans une session Cobalt Strike en utilisant execute-assembly. Il récupérera le mot de passe LAPS depuis Active Directory.
Description : Crée un minidump du processus LSASS à partir de la mémoire (Windows 10 - Windows Server 2016). L'ensemble du processus utilise des appels API dynamiques, des appels système directs et le dé-hooking de l'API native pour échapper à la détection des AV/EDR.
Description : Ce projet est un outil C# pour utiliser Pass-the-Hash pour l'authentification sur un Named Pipe local pour l'usurpation d'utilisateur. Vous avez besoin d'un administrateur local ou des droits SEImpersonate pour l'utiliser.
Description : SharpReg est un ensemble de code simple pour interagir avec l'API du service Remote Registry en utilisant le même processus SMB que reg.exe, qui utilise le port TCP 445.
Description : SharpSCCM est un outil de post-exploitation conçu pour exploiter Microsoft Endpoint Configuration Manager (alias ConfigMgr, anciennement SCCM) pour le mouvement latéral et la collecte d'identifiants sans nécessiter d'accès à l'interface graphique de la console d'administration SCCM.
Description : Extrait les données de la base de données des notes autocollantes Windows. Fonctionne sur Windows 10 Build 1607 et versions ultérieures. Ce
Description : Binaire rapide et sale pour lister les informations de partage réseau de toutes les machines du domaine actuel et si elles sont lisibles.
Description : SharpSphere donne aux équipes rouges la capacité d'interagir facilement avec les systèmes d'exploitation invités des machines virtuelles gérées par vCenter.
Description : SharpSpray est un ensemble de code simple pour effectuer une attaque de pulvérisation de mots de passe contre tous les utilisateurs d'un domaine en utilisant LDAP et est compatible avec Cobalt Strike.
Description : SharpSvc est un ensemble de code simple pour interagir avec l'API SC Manager en utilisant le même processus DCERPC que sc.exe, qui s'ouvre avec le port TCP 135 et est suivi par l'utilisation d'un port TCP éphémère.
Description : SharpTask est un ensemble de code simple pour interagir avec l'API du service Task Scheduler en utilisant le même processus DCERPC que schtasks.exe, qui s'ouvre avec le port TCP 135 et est suivi par l'utilisation d'un port TCP éphémère.
Description : Un exploit pour CVE-2020-1472, alias Zerologon. Cet outil exploite une vulnérabilité cryptographique dans Netlogon pour contourner l'authentification.
Description : Bien que le pilote de Sysmon puisse être renommé lors de l'installation, il est toujours chargé à l'altitude 385201. L'objectif de cet outil est de remettre en question l'hypothèse selon laquelle nos outils défensifs collectent toujours des événements.
Description : Snaffler est un outil pour les testeurs d'intrusion et les équipes rouges pour aider à trouver de délicieuses aiguilles de bonbon (des identifiants surtout, mais c'est flexible) dans un tas de meules de foin horribles et ennuyeuses (un environnement Windows/AD massif).
Description : Watson est un outil .NET conçu pour énumérer les KB manquants et suggérer des exploits pour les vulnérabilités d'élévation de privilèges.
Description : Whisker est un outil C# pour prendre le contrôle de comptes utilisateur et ordinateur Active Directory en manipulant leur attribut msDS-KeyCredentialLink, ajoutant effectivement des « Shadow Credentials » au compte cible.
Description : Whisker est un outil C# pour prendre le contrôle de comptes utilisateur et ordinateur Active Directory en manipulant leur attribut msDS-KeyCredentialLink.