
NimicStack is the pure Nim implementation of Call Stack Spoofing technique to mimic legitimate programs
NimicStack — это чистая реализация техники спуфинга стека вызовов (Call Stack Spoofing) на языке Nim для имитации легитимных программ. Весь проект основан на PoC, опубликованном WithSecure Labs
Вы можете скомпилировать исходный код напрямую следующей командой:
nim c -d=mingw --app=console --cpu=amd64 -o:NimicStack.exe .\Main.nim
Если вы получите ошибку «cannot open file», вам также следует установить необходимые зависимости:
nimble install ptr_math winim
Как и эталонный проект, NimicStack может имитировать три примера стеков вызовов — WMI, RPC и Svchost — при открытии процесса LSASS.
.\NimicStack.exe <--wmi, --rpc, --svchost>
Пример вывода для имитированного стека вызовов 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!
И вывод Sysmon для этого вызова:
Только для авторизованного тестирования безопасности. Неправомерное использование этого инструмента против систем без явного разрешения незаконно.