
NimicStack is the pure Nim implementation of Call Stack Spoofing technique to mimic legitimate programs
NimicStack es la implementación pura en Nim de la técnica de Call Stack Spoofing para imitar programas legítimos. Todo el proyecto se basa en la PoC compartida por WithSecure Labs
Puedes compilar directamente el código fuente con el siguiente comando:
nim c -d=mingw --app=console --cpu=amd64 -o:NimicStack.exe .\Main.nim
En caso de que obtengas el error "cannot open file", también deberías instalar las dependencias requeridas:
nimble install ptr_math winim
Al igual que el proyecto de referencia, NimicStack puede imitar tres pilas de llamadas de ejemplo, que son WMI, RPC y Svchost, mientras abre el proceso LSASS.
.\NimicStack.exe <--wmi, --rpc, --svchost>
Ejemplo de salida para la pila de llamadas WMI imitada:
PS C:\Users\test\Desktop\NimicStack> .\NimicStack.exe --wmi
███╗ ██╗██╗███╗ ███╗██╗ ██████╗███████╗████████╗ █████╗ ██████╗██╗ ██╗
████╗ ██║██║████╗ ████║██║██╔════╝██╔════╝╚══██╔══╝██╔══██╗██╔════╝██║ ██╔╝
██╔██╗ ██║██║██╔████╔██║██║██║ ███████╗ ██║ ███████║██║ █████╔╝
██║╚██╗██║██║██║╚██╔╝██║██║██║ ╚════██║ ██║ ██╔══██║██║ ██╔═██╗
██║ ╚████║██║██║ ╚═╝ ██║██║╚██████╗███████║ ██║ ██║ ██║╚██████╗██║ ██╗
╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝╚═╝ ╚═════╝╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
@R0h1rr1m
[+] wmi frame is selected!
[+] Required libraries were imported for return address calculation!
[+] SeDebugPrivilege is enabled!
[+] Fake Call Stack was created!
[+] Trying to find LSASS pid...
[+] LSASS pid found!: 756
[+] Registers were set for NtOpenProcess call!
[+] VEH callback was set for the suspended thread!
[+] Thread is resuming...
[+] VEH callback was called!
[+] Redirecting thread to RtlExitUserThread...
[+] Spoof is successful! Handle is 356
[+] You can check the spoofed call stack from Sysmon!
Y la salida de Sysmon para esta llamada:
Solo para pruebas de seguridad autorizadas. El uso indebido de esta herramienta contra sistemas sin permiso explícito es ilegal.