OfensivePipeline ermöglicht es Ihnen, C#-Tools herunterzuladen und zu erstellen, wobei bestimmte Änderungen vorgenommen werden, um ihre Umgehung für Red-Team-Übungen zu verbessern.
OffensivePipeline ermöglicht es Ihnen, C#-Tools herunterzuladen und zu erstellen, dabei bestimmte Änderungen vorzunehmen, um ihre Umgehungsfähigkeit für Red-Team-Übungen zu verbessern.
Eine übliche Verwendung von OffensivePipeline besteht darin, ein Tool aus einem Git-Repository herunterzuladen, bestimmte Werte im Projekt zu randomisieren, es zu erstellen, die resultierende Binärdatei zu verschleiern und einen Shellcode zu generieren.
Funktionen
Unterstützt derzeit nur C#-Projekte (.Net Framework)
Ermöglicht das Klonen von öffentlichen und privaten (Sie benötigen Anmeldedaten :D) Git-Repositories
Ermöglicht die Arbeit mit lokalen Ordnern
Randomisiert Projekt-GUIDs
Randomisiert Anwendungsinformationen in AssemblyInfo
Erstellt C#-Projekte
Verschleiert generierte Binärdateien
Generiert Shellcodes aus Binärdateien
Es gibt 79 parametrisierte Tools in YML-Vorlagen (nicht alle funktionieren möglicherweise :D)
Neue Tools können mithilfe von YML-Vorlagen hinzugefügt werden
Es sollte einfach sein, neue Plugins hinzuzufügen...
Neues in Version 2.0
Fast vollständige Code-Neuschreibung (neue Fehler?)
Klonen von privaten Repositories möglich (Authentifizierung über GitHub authToken)
Möglichkeit, einen lokalen Ordner zu kopieren, anstatt von einem entfernten Repository zu klonen
Neues Modul zur Generierung von Shellcodes mit Donut
Neues Modul zur Randomisierung von GUIDs von Anwendungen
Neues Modul zur Randomisierung der AssemblyInfo jeder Anwendung
60 neue Tools hinzugefügt
Beispiele
Alle Tools auflisten:```
OffensivePipeline.exe list
root@kitploit:~
- Alle Tools erstellen:```
OffensivePipeline.exe all
Ein Tool erstellen```
OffensivePipeline.exe t toolName
root@kitploit:~
- Bereinigte geklonte und erstellte Tools```
OffensivePipeline.exe
Ausgabebeispiel```
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**: randomisiert die GUID in *.sln*, *.csproj* und *AssemblyInfo.cs*-Dateien
- **RandomAssemblyInfo**: randomisiert die in *AssemblyInfo.cs* definierten Werte
- **BuildCsharp**: C#-Projekt erstellen
- **ConfuserEx**: C#-Tools verschleiern
- **Donut**: Donut verwenden, um Shellcodes zu generieren. Der generierte Shellcode ist ohne Parameter, in zukünftigen Versionen kann dies geändert werden.
## Hinzufügen eines Tools von einem entfernten Git
Die Skripte zum Herunterladen der Tools befinden sich im Ordner **Tools** im ***yml***-Format. Neue Tools können hinzugefügt werden, indem neue *yml*-Dateien mit dem folgenden Format erstellt werden:
- *Rubeus.yml*-Datei:```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:
Wo:
Name: Name des Werkzeugs
Description: Werkzeugbeschreibung
GitLink: Link zum Klonen von Git
SolutionPath: Pfad zur Projektmappe (*.sln-Datei)
Language: verwendete Sprache (derzeit wird nur C# unterstützt)
Plugins: Plugins, die im Build-Prozess dieses Werkzeugs verwendet werden sollen
AuthUser: Benutzername von GitHub (wird nicht für öffentliche Repositories verwendet)
AuthToken: Authentifizierungs-Token von GitHub (wird nicht für öffentliche Repositories verwendet)
Ein Werkzeug aus einem privaten Git hinzufügen```yml
Wobei:
- Name: Name des Tools
- Description: Beschreibung des Tools
- GitLink: Link zum Klonen von Git
- SolutionPath: Pfad zur Lösung (*.sln-Datei)
- Language: verwendete Sprache (derzeit wird nur C# unterstützt)
- Plugins: Plugins, die im Build-Prozess dieses Tools verwendet werden
- AuthUser: Benutzername von GitHub
- AuthToken: Authentifizierungstoken von GitHub (dokumentiert bei GitHub: [Erstellen eines persönlichen Zugriffstokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
))
- toolArguments: Argumente, die in den Donut-Shellcode eingebettet werden sollen
## Ein Tool aus einem lokalen Git-Ordner hinzufügen```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:
Wo:
Name: Name des Tools
Beschreibung: Werkzeugbeschreibung
GitLink: Pfad, in dem sich das Tool befindet
SolutionPath: Pfad zur Projektmappe (*.sln-Datei)
Sprache: verwendete Sprache (aktuell wird nur C# unterstützt)
Plugins: Plugins, die im Build-Prozess dieses Tools verwendet werden
AuthUser: Benutzername von GitHub (wird für lokale Repositories nicht verwendet)
AuthToken: Authentifizierungstoken von GitHub (wird für lokale Repositories nicht verwendet)
toolArguments: Argumente, die in den Donut-Shellcode eingebettet werden sollen
Anforderungen für die Release-Version (Visual Studio 2019/2022 ist nicht erforderlich)
Beschreibung: Ein Tool zur Eskalation von Berechtigungen in einem Active-Directory-Netzwerk, indem es die Authentifizierung von Maschinenkonten erzwingt (Petitpotam) und an den Zertifikatdienst weiterleitet.
Beschreibung: Dieser modifizierte Fork von SafetyKatz lädt dynamisch die neueste vorkompilierte Version von Mimikatz direkt aus dem gentilkiwi-GitHub-Repo, patcht Laufzeitsignaturen und verwendet SharpSploit DInvoke, um es in den Speicher zu laden.
Beschreibung: C#-Tool zum Installieren eines gemeinsam genutzten Netzwerkdruckers unter Ausnutzung des PrinterNightmare-Fehlers, um anderen Netzwerkmaschinen eine einfache Privilegienausweitung zu ermöglichen!
Beschreibung: Enumerate Domain Data soll PowerView ähneln, ist aber in .NET geschrieben. PowerView ist im Wesentlichen das ultimative Domänen-Enumerationstool, und wir wollten eine .NET-Implementierung, an der wir selbst gearbeitet haben. Dieses Tool wurde größtenteils erstellt, indem Implementierungen verschiedener Funktionen aus einer Vielzahl vorhandener Projekte betrachtet und in EDD zusammengeführt wurden.
Beschreibung: Ein kleines Proof-of-Concept-Tool, das die Authentifizierung an einem LDAP/S-Server mit einem Zertifikat ermöglicht, um verschiedene Angriffsaktionen durchzuführen.
Beschreibung: PurpleSharp ist ein Open-Source-Tool zur Adversary-Simulation, das in C# geschrieben ist und Angreifertechniken in Windows Active Directory-Umgebungen ausführt.
Beschreibung: SauronEye ist ein Suchwerkzeug, das entwickelt wurde, um Red Teams beim Auffinden von Dateien mit bestimmten Schlüsselwörtern zu unterstützen.
Beschreibung: Seatbelt ist ein C#-Projekt, das eine Reihe von sicherheitsorientierten Host-Umfragen („Sicherheitschecks“) durchführt, die sowohl aus offensiver als auch aus defensiver Sicherheitsperspektive relevant sind.
Beschreibung: SharpChromium ist ein .NET 4.0+ CLR-Projekt zum Abrufen von Daten aus Google Chrome, Microsoft Edge und Microsoft Edge Beta. Derzeit können extrahiert werden:
Beschreibung: SharpCloud ist ein einfaches C#-Dienstprogramm zum Überprüfen auf das Vorhandensein von Anmeldedatendateien im Zusammenhang mit Amazon Web Services, Microsoft Azure und Google Compute.
Beschreibung: SharpDir ist ein einfacher Codesatz zum Durchsuchen lokaler und entfernter Dateisysteme nach Dateien unter Verwendung desselben SMB-Prozesses wie dir.exe, der TCP-Port 445 verwendet.
Beschreibung: Überprüft laufende Prozesse, Prozessmetadaten, in den aktuellen Prozess geladene DLLs und deren Metadaten, übliche Installationsverzeichnisse, installierte Dienste und deren Binärdatei-Metadaten, installierte Treiber und deren Metadaten – alles auf das Vorhandensein bekannter Verteidigungsprodukte wie Antiviren-, EDR- und Protokollierungstools.
Beschreibung: SharpGPOAbuse ist eine in C# geschriebene .NET-Anwendung, die verwendet werden kann, um die Bearbeitungsrechte eines Benutzers an einem Gruppenrichtlinienobjekt (GPO) auszunutzen, um die von diesem GPO kontrollierten Objekte zu kompromittieren.
Beschreibung: Dieses Projekt verwendet offene Handles zu lsass, um lsass zu parsen oder einen Minidump zu erstellen. Daher müssen Sie kein eigenes lsass-Handle verwenden, um mit ihm zu interagieren. (Dinvoke-Version)
Beschreibung: Diese ausführbare Datei ist für die Ausführung innerhalb einer Cobalt-Strike-Sitzung mit execute-assembly ausgelegt. Sie ruft das LAPS-Passwort aus Active Directory ab.
Beschreibung: Erstellt einen Minidump des LSASS-Prozesses aus dem Speicher (Windows 10 – Windows Server 2016). Der gesamte Prozess verwendet dynamische API-Aufrufe, direkte Syscalls und Native-API-Unhooking, um die AV-/EDR-Erkennung zu umgehen.
Beschreibung: Dieses Projekt ist ein C#-Tool zur Verwendung von Pass-the-Hash für die Authentifizierung an einer lokalen Named Pipe zur Benutzerimitation. Sie benötigen lokale Administratorrechte oder SEImpersonate-Rechte, um dies zu nutzen.
Beschreibung: SharpReg ist ein einfacher Codesatz zur Interaktion mit der Remote-Registry-Dienst-API unter Verwendung desselben SMB-Prozesses wie reg.exe, der TCP-Port 445 verwendet.
Beschreibung: SharpSCCM ist ein Post-Exploitation-Tool, das Microsoft Endpoint Configuration Manager (auch bekannt als ConfigMgr, früher SCCM) für laterale Bewegungen und das Sammeln von Anmeldeinformationen nutzt, ohne dass Zugriff auf die SCCM-Administrationskonsole (GUI) erforderlich ist.
Beschreibung: Schnelle und einfache Binärdatei zum Auflisten von Netzwerkfreigabeinformationen aller Maschinen in der aktuellen Domäne und ob diese lesbar sind.
Beschreibung: SharpSphere gibt Red Teams die Möglichkeit, einfach mit den Gastbetriebssystemen von virtuellen Maschinen zu interagieren, die von vCenter verwaltet werden.
Beschreibung: SharpSpray ist ein einfacher Codesatz zur Durchführung eines Password-Spraying-Angriffs gegen alle Benutzer einer Domäne unter Verwendung von LDAP und ist kompatibel mit Cobalt Strike.
Beschreibung: SharpSvc ist ein einfacher Codesatz zur Interaktion mit der SC-Manager-API unter Verwendung desselben DCERPC-Prozesses wie sc.exe, der mit TCP-Port 135 geöffnet wird und anschließend einen ephemeren TCP-Port nutzt.
Beschreibung: SharpTask ist ein einfacher Codesatz zur Interaktion mit der Taskplaner-Dienst-API unter Verwendung desselben DCERPC-Prozesses wie schtasks.exe, der mit TCP-Port 135 geöffnet wird und anschließend einen ephemeren TCP-Port nutzt.
Beschreibung: Ein Exploit für CVE-2020-1472, auch bekannt als Zerologon. Dieses Tool nutzt eine kryptografische Schwachstelle in Netlogon aus, um die Authentifizierung zu umgehen.
Beschreibung: Während der Treiber von Sysmon bei der Installation umbenannt werden kann, wird er immer auf Höhe 385201 geladen. Ziel dieses Tools ist es, die Annahme in Frage zu stellen, dass unsere defensiven Tools immer Ereignisse sammeln.
Beschreibung: Snaffler ist ein Tool für Pentester und Red Teams, um köstliche Süßigkeiten-Nadeln (hauptsächlich Credentials, aber flexibel) in einem Haufen schrecklicher langweiliger Heuhaufen (einer massiven Windows/AD-Umgebung) zu finden.
Beschreibung: Whisker ist ein C#-Tool zur Übernahme von Active-Directory-Benutzer- und Computerkonten durch Manipulation ihres msDS-KeyCredentialLink-Attributs, wodurch effektiv „Shadow Credentials“ zum Zielkonto hinzugefügt werden.
Beschreibung: Whisker ist ein C#-Tool zur Übernahme von Active-Directory-Benutzer- und Computerkonten durch Manipulation ihres msDS-KeyCredentialLink-Attributs.