Framework C2 Windows modulaire avec un teamserver Rust, un implant Zig, des appels système indirects, un contournement de l'AMSI, une injection reflective/PoolParty, une exécution BOF en mémoire et des transports HTTP/DNS.
Lockjaw est un framework de commande et contrôle (C2) avancé et modulaire, conçu pour les engagements red team, les simulations adverses et les opérations furtives. Il utilise une architecture moderne à langages séparés : un Teamserver Rust à haute concurrence couplé à un implant Zig évasif et sans dépendances, ainsi qu'à des stagers en code position-independent (PIC) en assembleur pur.
CECI EST UN LOGICIEL ALPHA Utilisez-le à vos propres risques. Toutes les fonctionnalités n'ont pas été testées, le code n'a pas été audité. Il y a des bugs et certaines commandes peuvent ne pas fonctionner.
Les éléments suivants ont été testés :
Le support des BOF n'a pas été testé.
+------------------------------------+
| Operator CLI (Python) |
| Async TUI / Prompt-Toolkit |
+-----------------+------------------+
| HTTPS / REST API (Port 50051)
v
+------------------------------------+
| Lockjaw Teamserver |
| (Rust / Tokio) |
| - SQLite Storage (SQLx) |
| - Dynamic Zig Cross-Compiler |
| - Multi-Transport Listener Manager|
+--------+------------------+--------+
| |
HTTPS / HTTP DNS (UDP 53)
(WinHTTP) (Hickory DNS / Base32)
| |
v v
+------------------------------------+
| Lockjaw Implant (Zig) |
| - Indirect Syscalls (Halo's Gate) |
| - Reflective & PoolParty Injection|
| - In-Memory BOF Execution Engine |
| - Ghost AMSI Bypass (HWBP + VEH) |
| - IAT-Clean Dynamic API Resolv. |
| - RC4-Encrypted Communications |
+------------------------------------+
x86_64-windows. Autonome, sans dépendances externes au runtime C, fonctionnant dans le sous-système .Windows (headless, sans fenêtre de console).pic_stager.s) avec architecture safe-stack, préservation du shadow space et parcours dynamique du PEB, accompagné de cradles de téléchargement PowerShell légers.prompt_toolkit offrant des alertes de checkin en temps réel, l'indexation numérique, la correspondance par préfixe, la gestion de contexte et la synchronisation automatique d'upload/download de fichiers.ntdll.dll en mémoire à l'aide du hachage DJB2.syscall; ret résidant dans la section .text de ntdll.dll, contournant les hooks d'API en mode utilisateur, l'inspection de la pile d'appels et les vérifications d'origine d'adresse de retour.AddVectoredExceptionHandler).0xDEADBEEF) pour configurer les registres de débogage sur AmsiScanBuffer.EXCEPTION_SINGLE_STEP, met RAX à zéro (AMSI_RESULT_CLEAN = 0) et retourne proprement l'exécution à l'appelant..text et évite les vecteurs de détection de SetThreadContext.InLoadOrderModuleList) et résout les adresses de fonctions dynamiquement via un hachage sensible à la casse (djb2) et insensible à la casse (djb2_i) à la compilation..Windows.ShowWindow(hWnd, SW_HIDE).SECURITY_IGNORE_ALL_CERT_ERRORS) permettant l'utilisation opérationnelle avec des certificats TLS auto-signés et du domain fronting.ping 127.0.0.1 -n 3 > nul & del /f /q ...) pour effacer de manière sécurisée le binaire du disque.migrate <pid> reflective) :
NtCreateSection + NtMapViewOfSection mappées RW localement et RWX à distance).NtAllocateVirtualMemory / NtWriteVirtualMemory).NtCreateThreadEx.migrate <pid> reflective_poolstomp) :
NtQuerySystemInformation pour découvrir les factories de workers de thread pool existantes (TpWorkerFactory).WorkerFactoryBasicInformation, écrase le StartRoutine de la factory avec un trampoline d'exécution, et déclenche l'exécution de l'agent en incrémentant WorkerFactoryThreadMinimum via NtSetInformationWorkerFactory.CreateRemoteThread / NtCreateThreadEx (par exemple, Sysmon Event ID 8, fournisseurs ETW de threat intelligence).