Rust製チームサーバー、Zigインプラント、間接システムコール、AMSIバイパス、リフレクティブ/PoolPartyインジェクション、インメモリBOF実行、HTTP/DNSトランスポートを備えたモジュラーWindows C2フレームワーク。
Lockjaw は、レッドチームエンゲージメント、敵対的シミュレーション、およびステルス運用向けに設計された、高度でモジュール式のコマンドアンドコントロール (C2) フレームワークです。最新の分割言語アーキテクチャを採用しています。高並行性の Rust Teamserver と、回避型で依存関係のない 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 ランタイム依存がゼロ、.Windows サブシステムで動作します (ヘッドレス、コンソールウィンドウなし)。pic_stager.s) と、軽量な PowerShell ダウンロードクレードル。prompt_toolkit 上に構築された非同期 TUI で、リアルタイムのチェックインアラート、数値インデックス、プレフィックスマッチング、コンテキスト管理、自動ファイルアップロード/ダウンロード同期を備えています。ntdll.dll から直接システムサービス番号 (SSN) を動的に抽出します。ntdll.dll の .text セクション内に存在する正規の syscall; ret ガジェットに直接ジャンプし、ユーザーモード API フック、コールスタック検査、リターンアドレスの発信元チェックを回避します。AddVectoredExceptionHandler) を使用したメモリ内 AMSI 無効化ツール。0xDEADBEEF) をトリガーして、AmsiScanBuffer にデバッグレジスタを設定します。EXCEPTION_SINGLE_STEP をキャッチし、RAX をゼロクリア (AMSI_RESULT_CLEAN = 0) して、呼び出し元にクリーンに実行を戻します。.text メモリのバイトをゼロ変更し、SetThreadContext 検出ベクターを回避します。InLoadOrderModuleList) を辿ってモジュールを解決し、コンパイル時の大文字小文字区別 (djb2) および大文字小文字非区別 (djb2_i) ハッシュを介して関数アドレスを動的に解決します。.Windows サブシステム GUI アプリケーションとして動作します。ShowWindow(hWnd, SW_HIDE) を介してコンソールウィンドウを抑制します。SECURITY_IGNORE_ALL_CERT_ERRORS) により、自己署名 TLS 証明書やドメインフロンティングを使用した運用が可能です。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 を実行トランポリンで上書きし、NtSetInformationWorkerFactory を介して WorkerFactoryThreadMinimum をインクリメントすることでエージェント実行をトリガーします。CreateRemoteThread / NtCreateThreadEx に基づくテレメトリとアラート (例: Sysmon イベント ID 8、ETW 脅威インテリジェンスプロバイダー) を完全に回避します。AMD64 オブジェクトファイルをサポートする組み込み COFF ローダー。IMAGE_REL_AMD64_ADDR64、IMAGE_REL_AMD64_ADDR32、IMAGE_REL_AMD64_ADDR32NB、IMAGE_REL_AMD64_REL32) の完全な内部処理。__imp__<DLL>$<Function> 規約を使用して外部動的依存関係を解決します。BeaconDataParse、BeaconDataInt、BeaconDataShort、BeaconDataLength、BeaconDataExtract。BeaconFormatAlloc、BeaconFormatReset、BeaconFormatFree、BeaconFormatAppend、BeaconFormatPrintf、BeaconFormatToString、BeaconFormatInt。BeaconOutput、BeaconPrintf、BeaconIsAdmin。Host ヘッダードメインフロンティングサポートを備えた WinHTTP ベースのクライアントトランスポート。<base32>.<domain>) 経由で送信します。ps):
IsWow64Process を介して x86 対 x64)。OpenProcessToken と LookupAccountSidA を介してプロセストークンのユーザーと所有者ドメインアカウントを解決します。sc_enum、sc_query):
RUNNING、STOPPED、STARTING、STOPPING)、PID、サービス名、表示名を報告します。sc_query <name>)、バイナリパス、開始タイプ (BOOT_START、SYSTEM_START、AUTO_START、DEMAND_START、DISABLED)、サービスアカウント、サービス種別を詳述します。whoami: 詳細な ID チェックインペイロード。ipconfig: GetAdaptersInfo を介してネットワークアダプター、説明、IP アドレス、サブネットマスク、デフォルトゲートウェイを列挙します。pid: 現在のインプラントプロセス ID を返します。pwd、cd、ls、cat、rm。upload と download。shell <cmd>: ウィンドウを作成せずに匿名パイプを介して cmd.exe /c でコマンドを実行します。requests と prompt_toolkit を含む) — Operator CLI 用.bin シェルコードペイロードを生成する際に必要sudo apt update
sudo apt install -y curl build-essential binutils python3 python3-venv
# Install Rust & Cargo
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"