Модульный C2-фреймворк для Windows с teamserver на Rust, имплантом на Zig, косвенными системными вызовами, обходом AMSI, рефлективной инъекцией/PoolParty, выполнением BOF в памяти и транспортами HTTP/DNS.
Lockjaw — это продвинутый модульный фреймворк командования и управления (C2), разработанный для задач red team, симуляции действий противника и скрытных операций. Он использует современную архитектуру с разделением по языкам: высоконагруженный Rust-тимсервер в связке с уклончивым имплантом на Zig без внешних зависимостей и позиционно-независимыми стагерами (PIC) на чистом ассемблере.
ЭТО АЛЬФА-ВЕРСИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Используйте на свой страх и риск. Не все функции протестированы, код не проходил ревью. Есть баги, и некоторые команды могут не работать.
Протестировано следующее:
Поддержка BOF не тестировалась.
+------------------------------------+
| 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. Автономный, без внешних зависимостей от C-runtime, работает в подсистеме .Windows (безголовый режим, без окна консоли).pic_stager.s) с архитектурой безопасного стека, сохранением shadow space и динамическим обходом PEB, а также лёгкие PowerShell-загрузчики.prompt_toolkit с оповещениями о регистрации в реальном времени, числовой индексацией, сопоставлением по префиксу, управлением контекстом и автоматической синхронизацией загрузки/выгрузки файлов.ntdll.dll в памяти с использованием хеширования DJB2.syscall; ret, находящимся в секции .text файла ntdll.dll, обходя хуки API пользовательского режима, инспекцию стека вызовов и проверки происхождения адреса возврата.AddVectoredExceptionHandler).0xDEADBEEF) для настройки отладочных регистров на AmsiScanBuffer.EXCEPTION_SINGLE_STEP, обнуляет RAX (AMSI_RESULT_CLEAN = 0) и корректно возвращает управление вызывающему..text и избегает векторов обнаружения SetThreadContext.InLoadOrderModuleList) и разрешает адреса функций динамически через хеширование с учётом регистра (djb2) и без учёта регистра (djb2_i) на этапе компиляции..Windows.ShowWindow(hWnd, SW_HIDE).SECURITY_IGNORE_ALL_CERT_ERRORS), позволяющий работать с самоподписанными TLS-сертификатами и domain fronting.ping 127.0.0.1 -n 3 > nul & del /f /q ...) для безопасного удаления бинарника с диска.migrate <pid> reflective):
NtCreateSection + NtMapViewOfSection, отображаемых RW локально и RWX удалённо).NtAllocateVirtualMemory / NtWriteVirtualMemory).NtCreateThreadEx.migrate <pid> reflective_poolstomp):
NtQuerySystemInformation для обнаружения существующих фабрик рабочих потоков пула (TpWorkerFactory).WorkerFactoryBasicInformation, перезаписывает StartRoutine фабрики трамплином выполнения и запускает выполнение агента путём инкремента WorkerFactoryThreadMinimum через NtSetInformationWorkerFactory.CreateRemoteThread / NtCreateThreadEx (например, Sysmon Event ID 8, провайдеры ETW threat intelligence).