Rustredops

RustredOps ist ein Repository, das verschiedene Tools und Projekte im Zusammenhang mit Red Team Operations beherbergt, die in Rust entwickelt wurden. Dieses Repository widmet sich der Bereitstellung effektiver und effizienter Tools für Sicherheitsexperten und Penetrationstester, die Sicherheitsbewertungen und Intrusionstests durchführen möchten.
Inhaltsverzeichnis
- Inhalt
- Ressourcen
- Andere Rostprojekte
- Anforderungen
- Kompilieren
- Das Projekt zusammenstellen
- Hinzufügen von Zielarchitekturen
- Kompilierung für eine bestimmte Architektur
- Wie man anfängt
- Beitrag zu Rustredops
- Referenzen
- Lizenz
Inhalt
Das Repository ist in mehrere Projekte mit jeweils eigenem Zweck und Funktionalität organisiert. Hier sind einige Beispiele für die enthaltenen Projekte:
APC -Injektion
- Dieses Projekt nutzt die APC -Technik (Asynchronous Code Injection) aus, um böswilligen Code in Zielprozessen auszuführen.
API -Haken
- Demonstration der API -Hooking, eine Programmierungstechnik, mit der Sie Anrufe an Windows -API -Funktionen abfangen und manipulieren können.
Anti-Debug
- Techniken Anti-Debugging.
API Hämmern
- Die API -Hämmern besteht darin, verschiedene Maßnahmen auszuführen, um die Malware zu verzögern.
Anti-Analyse
Binäre Info
- Dies ist nur eine einfache Demonstration, falls Sie Metadaten in Ihre Rost -Binärdatum aufnehmen oder das zugehörige Symbol ändern möchten.
Block DLL -Richtlinie
- Vermeiden Sie das Laden von DLLs, die nicht von Microsoft signiert sind.
Fahrer erstellen
- Es ist ein Projekt, um zu demonstrieren, wie man einen einfachen Treiber mit Rost erstellt.
DLL erstellen
- Es ist ein Projekt, um zu demonstrieren, wie DLL mit Rost erstellt wird.
Callback -Codeausführung
- Demonstration der ShellCode -Ausführung per Callback.
Uefi erstellen
- Es ist ein Projekt, um zu demonstrieren, wie man UEFI mit Rost erstellt.
Verschlüsselnde Zeichenfolge kompilieren
- Strings zum Kompilieren von Zeiten verschlüsseln und sie zur Laufzeit entschlüsseln.
WLAN extrahieren
- Das Extrahieren von WLAN -Passwörtern mit WinAPIs ist eine angepasste Form des NETSH -Befehls.
Frühbucher -APC -Injektion
- Es konzentriert sich auf eine Variation der APC -Injektion, die Code ausführt, bevor der Hauptprozess beginnt.
Verschlüsselung (Shellcode)
- Verschlüsseln / entschlüsseln Sie einen Shellcode mit AES und RC4.
Aufzählungsprozess
- Aufzählungsprozesse mit Rost.
Aktivieren Sie alle Token
- Aktivieren Sie alle Privilegien.
Befehl ausführen
- Befehle mit Rost ausführen.
Höllen / Halos / Tartarus -Tor
- Wiederherstellung von SSN durch die Höllen- / Halos / Tartarus -Gate -Techniken
IAT -Verschleierung
- IAT -Verschleierung durch Ersetzen von GetProcaddress und GetModuleHandle.
IAT -Tarnung
- Technik zum Exportieren von APIs (ohne sie auszuführen), um das IAT zu tarnen und ein böswilliges Erscheinungsbild zu vermeiden.
Ldloaddll ausgelöst
- Ein Proof of Concept, um ein Sprungbrett zu injizieren, um EDR -Haken zu umgehen und LDrloadDll zu verwenden.
Lokale Nutzlastausführung
- Dieses Projekt befasst sich mit der direkten Ausführung von böswilligen Nutzlasten in der lokalen Umgebung eines Systems.
Lokale Kartierungsinjektion
- Durchführen von böswilliger Codeinjektion durch Speicherzuordnung in lokale Prozesse.
Lokale Funktion stampfen Injektion
- Es konzentriert sich darauf, lokal laufende Funktionen durch böswilligen Code zu ersetzen und ihr Standardverhalten zu ändern.
Lokaler Thread -Entführer
- Dieses Projekt befasst sich mit der Entführung der Threads von Prozessen, die auf dem lokalen System ausgeführt werden, um böswilligen Code auszuführen.
Lokale PE -Injektion
- Ausführen einer PE -Datei im Speicher.
Minidump-rs
- Dumping des LSass.exe -Prozesss.
Modul stampfen
- Die Modulstamping -Technik konzentriert sich darauf, einen Shellcode in den Einstiegspunkt der kartierten oder geladenen DLL zu injizieren.
Ntdll aushackt
- Ausführen von NTDll durch einen suspendierten Prozess.
Benannter Pipe Server / Client
- Ein einfaches Projekt, das zeigt, wie wir zwischen Prozessen mit benannten Pipes kommunizieren können.
Modulüberlastung
- Das Modulüberladung ist eine Technik, die eine Ziel -DLL ordnet und ihren Inhalt durch eine EXE / DLL -Datei ersetzt und dann ausführt.
Verschleierung Shellcode
- Shellcode -Verschleierung mit IPv4, IPv6, Mac und UUIDs.
PPID -Spoofing
- Demonstration der PPID -Spoofing -Technik.
PE -Header analysieren
- Der Code konzentriert sich auf die Parsen des PE -Headers jeder ausführbaren Windows -Datei.
Patch ETW
Patch AMSI
Nutzlastausführungssteuerung
- Kontrolle der Nutzlastausführung über Mutex, Ereignisse und Semaphoren.
Prozessargument -Spoofing
- Nutzt die Technik, die Argumente eines Prozesses zum Verbergen von böswilligen Aktivitäten zu maskieren oder zu verändern.
Prozessinjektion (DLL)
- Es konzentriert sich darauf, dynamische Verbindungsbibliotheken (DLL) in das Ausführen von Prozessen zum Ausführen von böswilligen Code zu injizieren.
Prozessinjektion (Shellcode)
- Es nutzt die Shellcode -Injektion direkt in laufende Prozesse aus, um böswillige Aufgaben zu steuern oder auszuführen.
Nutzlastplatzierung
- Speichern eines Shellcode im Abschnitt .text und dann ausführen.
Prozesshypnose
- Diese Technik konzentriert sich auf die Steuerung des Ausführungsflusss eines Programms, das debuggediert wird, und das Erhalten relevanter Informationen daraus, z. B. die Erstellung neuer Threads, geladene Module, Ausnahmen und vieles mehr. Oder sogar einen Shellcode ausführen.
Nutzlastausführungsfasern
- Ausführen von Shellcode mit Fasern.
Payload -Staging
- Dieses Projekt konzentriert sich darauf, zu demonstrieren
Prozessgeister
- Laden einer PE -Datei mithilfe der Prozessgeistertechnik.
Prozess Herpader
- Verschleierung der Absichten eines Prozesses, indem der Inhalt der Festplatte nach dem Abbau des Bildes geändert wird.
Fern -Thread -Hijacking
- Es befasst sich mit der Entführung von Threads in Remote -Systemprozessen, um böswillige Aktionen auszuführen.
Remote -Funktion stampfen Injektion
- Es nutzt die Ersetzung von Funktionen in entfernten Systemen zur Durchführung böswilliger Aktivitäten.
Remote -Mapping -Injektion
- Durchführen von böswilliger Codeinjektion durch Speicherzuordnung in Remote -Prozesse.
CRT entfernen
- Es konzentriert sich darauf, die Verwendung der CRT (C -Laufzeitbibliothek) während der Laufzeit zu minimieren und zusätzliche Flags anzuwenden, um unnötige Informationen aus der Binärdatum zu entfernen.
Selbstdeletion
- Technik zum Löschen des laufenden binären.
String Hashing
- Erstellen von String -Hashes, um das Verstecken durchzuführen.
Systems
- Direkter und indirekter Syscall ausführen.
Fadenlose Injektion
- Fadenloser Injektion mit Rost durchführen.
WMI
- Ausfragen von WMI (Windows Management Instrumentation).
WebAssembly ShellCode
- Ausführen von ShellCode über WebAssembly.
Andere Rostprojekte
Hier sind einige andere Beispiele für Projekte, die ich mit Rost durchgeführt habe:
- Windows Kernel Rootkit
- Cofflader
- Ausführen .net
Ressourcen
- Jedes einzelne Projekt kann einen Features -Abschnitt enthalten, in dem die Hauptmerkmale und Funktionen des Projekts beschrieben werden.
- Sie können die Installationsanweisungen, -verwendung und Beispiele für jedes Projekt in ihren jeweiligen Verzeichnissen anzeigen.
Anforderungen
- Rust: Rust ist eine moderne und sichere Programmiersprache, mit der die Tools in diesem Repository entwickelt werden.
- Fracht: Fracht ist Rust's Package Manager und Compiler, der für das Zusammenstellen und Ausführen von Projekten unerlässlich ist.
Kompilieren
Das Projekt zusammenstellen
Verwenden Sie den folgenden Befehl, um die Kompilierung zu starten:
Hinzufügen von Zielarchitekturen
Wenn Sie ein anderes Betriebssystem verwenden oder für eine bestimmte Architektur kompilieren müssen, können Sie alle verfügbaren Zielarchitekturen mit dem folgenden Befehl auflisten:
Wenn Sie die gewünschte Zielarchitektur identifiziert haben, fügen Sie sie mit Rustup hinzu:
rustup target add < arch >
Ersetzen Sie durch die gewünschte Architektur wie x86_64-pc-windows-gnu.
Kompilierung für eine bestimmte Architektur
Kompilieren Sie dann das Projekt für die spezifische Architektur:
cargo build --release --target < arch >
Wie man anfängt
Befolgen Sie diese Schritte, um die Projekte in diesem Repository zu verwenden:
- Klonen Sie dieses Repository auf Ihrer lokalen Maschine:
git clone https://github.com/joaoviictorti/RustRedOps.git
- Navigieren Sie zum Verzeichnis des Projekts, an dem Sie interessiert sind:
cd RustRedOps/ < name-project >
- Befolgen Sie die projektspezifischen Installations- und Nutzungsanweisungen, wie im Readme in diesem Verzeichnis beschrieben.
Beitrag zu Rustredops
Um zu Rustredops beizutragen, befolgen Sie die folgenden Schritte:
- Fork dieses Repository.
- Erstellen Sie einen Zweig:
git checkout -b <branch_name> . - Nehmen Sie Ihre Änderungen vor und begehen Sie sie:
git commit -m '<commit_message>' . - Drücken Sie Ihre Änderungen in Ihren Zweig:
git push origin <branch_name> . - Erstellen Sie eine Pull -Anfrage.
Alternativ wenden Sie sich an die GitHub -Dokumentation zum Erstellen einer Pull -Anfrage.
Referenzen
Ich möchte den Schöpfer von bemerkenswerten Projekten und faszinierenden Techniken, die mir die Werkzeuge und die Inspiration zur Verfügung stellten, um dieses außergewöhnliche Repository zu schaffen, meine aufrichtige Dankbarkeit aussprechen.
- https://github.com/memn0ps
- https://github.com/hasherezade
- https://github.com/vxunderground
- https://github.com/nul0x4c
- https://github.com/mrd0x
- https://github.com/cracked5pider
- https://github.com/trickster0
- https://github.com/blwasp
- https://balwurk.com/shellcode-vasion-using-webassembly-and-rust
- https://github.com/janoglezcampos/rust_syscalls
- https://github.com/microsoft
- https://ired.team
- https://github.com/rust-osdev/uefi-rs
- https://github.com/stephanvanschaik/windows-kernel-rs
- https://discord.gg/rust-lang-community (Discord-Community, die sehr geholfen hat)
- https://github.com/ccob
- https://github.com/anvie/litcrypt.rs
Lizenz
Dieses Projekt ist unter der MIT -Lizenz lizenziert