Rust teamserver, Zig 임플란트, 간접 시스템 콜, AMSI 우회, reflective/PoolParty 인젝션, 인메모리 BOF 실행, HTTP/DNS 전송을 갖춘 모듈형 Windows C2 프레임워크.
Lockjaw는 레드팀 교전, 적대적 시뮬레이션, 스텔스 작전을 위해 설계된 고급 모듈식 명령 및 제어(C2) 프레임워크입니다. 이는 현대적인 분할 언어 아키텍처를 사용합니다: 고동시성 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 런타임 의존성이 없고, .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를 0으로 설정(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 간접 시스템 콜을 통해 원격 스레드 실행을 시작하기 전에 공유 메모리 내에서 직접 로컬 PE 헤더 복사, 섹션 매핑, 기준 재배치 델타 수정, 임포트 테이블 해석을 수행합니다.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 vs 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: 상세 신원 체크인 페이로드.ipconfig: GetAdaptersInfo를 통해 네트워크 어댑터, 설명, IP 주소, 서브넷 마스크, 기본 게이트웨이를 열거합니다.pid: 현재 임플란트 프로세스 ID를 반환합니다.pwd, cd, ls, cat, rm.upload 및 download.shell <cmd>: 창 생성 없이 익명 파이프를 통해 cmd.exe /c로 명령을 실행합니다.requests 및 prompt_toolkit 포함) — 운영자 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"
# Install Zig Compiler (v0.15.2)
wget https://ziglang.org/download/0.15.2/zig-linux-x86_64-0.15.2.tar.xz
tar xf zig-linux-x86_64-0.15.2.tar.xz
sudo mv zig-linux-x86_64-0.15.2 /opt/zig
sudo ln -s /opt/zig/zig /usr/local/bin/zig
# Setup Python CLI dependencies
python3 -m venv venv
source venv/bin/activate
pip install requests prompt_toolkit