
ENDGAME C2 FRAMEWORK — 전문 레드팀 작전을 위한 AI 기반 명령 및 제어
ENDGAME은 허가된 레드팀 작전, 침투 테스트, 교육용 보안 연구를 위해 구축된 전문 C2(명령 및 제어) 프레임워크입니다. 실제 공격자 기법을 시뮬레이션하고, 탐지 커버리지를 평가하며, 보안 팀이 방어 공백을 이해하도록 돕기 위해 설계되었습니다 — 자연어를 실행 가능한 명령으로 전환하고 모든 결과를 자동으로 분석하는 내장 AI 콘솔을 갖추고 있습니다.
AI로 제작되었으며, 인간이 설계하고 운영합니다.
🌐 endgamec2framework.com · 📄 문서



git clone https://github.com/endgamec2framework/endgame
cd endgame
./install.sh
업데이트하려면 ./install.sh를 다시 실행하세요 — 최신 코드를 가져와 다시 빌드하며 인증서와 운영자 프로필은 유지됩니다.
전체 설정 가이드: 문서 → 설치
ENDGAME의 AI 콘솔은 AI 코파일럿을 운영자 작업 흐름에 직접 통합하는 핵심 기능입니다. 곁다리로 붙은 챗봇이 아닙니다 — 에이전트 터미널과 같은 패널에 위치하며, 전체 C2 명령 세트를 알고 타깃에 대한 실시간 컨텍스트(호스트명, OS, 사용자, 권한, 트랜스포트)를 보유합니다.
🤖 탭이 하단 콘솔 창에 열립니다 — 일반 터미널 탭과 나란히 표시됩니다


Ollama 인스턴스에서 사용할 수 있는 모든 모델이 작동합니다. 레드팀 환경에 권장되는 모델:
qwen3.6:latest — 기본 · 빠름 · 지시 수행 능력 우수qwen3.6:35b-a3b-coding-mxfp8 — 대형 모델 · 코드/명령 추론 능력 우수deepseek-r1:8b / deepseek-r1:32b — 추론 모델 · 다단계 공격 체인에 강함✓ = 구현됨 · 🔧 = 진행 중 / 계획됨 · — = 사용 불가
Linux용 빌드 (Linux 호스트에서 — 에이전트는 네이티브로 컴파일됩니다):
# Go
GOOS=linux GOARCH=amd64 go build -o agent_linux .
# Rust
cargo build --release --target x86_64-unknown-linux-gnu
# C
make -f Makefile.linux AGENT_SERVER_URL=https://<c2>:<port>
# Nim
./build_linux.sh
에이전트 트랜스포트: HTTP · HTTPS · mTLS · DNS · DoH · SMB 파이프 · TCP
메시 릴레이: 에이전트는 HTTP 또는 TCP 피벗으로 등록할 수 있습니다. 에이전트가 팀서버와의 직접 연결을 잃으면(비콘 3회 이상 연속 실패 시), 자동으로 알고 있는 피어로 폴백하여 해당 에이전트의 기존 트랜스포트를 통해 비콘을 릴레이합니다. 팀서버는 모든 비콘 응답에 피어 목록을 포함시켜 에이전트가 항상 최신 폴백 경로를 유지하도록 합니다. 완전 분산형 P2P 오버레이(libp2p/DHT)와 달리, ENDGAME의 릴레이 경로는 운영자가 지정하고 기록됩니다 — 어떤 에이전트가 피벗 역할을 할지 운영자가 결정하며, 릴레이 체인은 항상 명시적이고 필요 시 즉시 중단할 수 있습니다.
회피: AMSI (VEH/DR0) · ETW 블라인드 · NTDLL 언훅 · Ekko XOR 슬립 마스킹 · 간접 syscall (Hell's Gate) · 스택 스푸핑 · API 해싱 (PEB 워크) · PPID 스푸프 · 안티-샌드박스 · 헤더 삭제 · UDRL 팬텀 DLL · BLOCKDLLS · DNS 카나리 burn 탐지
인젝션: 원격 스레드 · APC early-bird · 스레드 하이재킹 · fork-and-run · 할로잉
포스트 익스플로잇: 스크린샷 · 키로거 · 클립보드 · LSASS 덤프 · 토큰 탈취 · UAC 우회 · 지속성
네트워크 디스커버리: ARP (MAC 반환, Windows에서 권한 상승 불필요) · ICMP 핑 스윕 · TCP 프로브 — 스캔별로 선택 가능
측면 이동: psexec · smbexec · atexec · wmi · dcom · winrm · ssh
MITRE ATT&CK: 12개 전술에 걸쳐 매핑된 50개 이상의 명령 · Navigator 레이어 내보내기 · GUI 내 기술 매트릭스
명령, API 레퍼런스, IOC 목록, 운영자 가이드는 전체 문서를 참조하세요.
ENDGAME은 완전 분산형 P2P 오버레이 대신 통제형 메시 릴레이를 구현합니다. 릴레이 경로는 운영자가 지정합니다: 운영자가 어떤 에이전트를 피벗으로 사용할지 선택하며, 릴레이 체인은 명시적이고, 필요 시 즉시 중단 가능하며, 기록됩니다 — 기업 방화벽이 흔히 차단하는 libp2p 같은 공용 DHT 인프라에 의존하지 않습니다.
크로스 플랫폼 에이전트: 4개 에이전트 모두 이제 Windows와 Linux를 지원합니다. Go 에이전트는 macOS도 추가로 지원합니다. 플랫폼별 기능(Windows 회피, AMSI/ETW 패치, Hell's Gate syscall, 스택 스푸핑, 토큰 탈취, PE 인젝션)은 Windows 전용이며 Linux에서는 컴파일에서 제외됩니다. Linux 빌드는 전체 비콘, 셸, 파일 작업, SOCKS5, 포트 스캔, 지속성, 자격 증명 수집, 피벗 기능을 유지합니다. 기능별 상세 내용은 아래 플랫폼 지원 매트릭스를, Linux 컴파일 방법은 각 에이전트 디렉터리의 build_linux.sh 스크립트를 참조하세요.
DNS 카나리: 각 페이로드 빌드에는 빌드별 고유한 카나리 하위 도메인이 포함됩니다. 샌드박스나 AV 스캐너가 바이너리를 동적으로 분석하면, 에이전트의 시작 시 DNS 조회가 canary.<token>.<c2_domain>을 해석하며 — C2의 권위 있는 DNS 서버가 이를 가로채 — 운영자는 이벤트 스트림을 통해 실시간 burn 알림을 받습니다. 카나리는 빌드별로 데이터베이스에서 추적되며 재사용되지 않습니다.
간접 syscall + 스택 스푸핑 (Nim): syscalls.nim은 Hell's Gate를 통해 런타임에 SSN을 해석하고(ntdll 스텁에서 mov eax,SSN을 읽음), EDR이 패치한 스텁에 대해서는 Halo's Gate로 폴백합니다. ntdll .text에서 syscall;ret 가젯과 call rel32;ret 가젯이 모두 발견되면, 에이전트는 syscall 전에 [RSP]에 가젯 주소를 심는 110바이트 스푸핑 스텁으로 업그레이드하여 — EDR에 보이는 콜 스택이 에이전트 코드가 아닌 ntdll 내부에서 시작된 것처럼 보이게 합니다.
API 해싱 (C): api_resolve.c는 DJB2 해싱과 PEB InLoadOrderModuleList 워크를 사용하여 런타임에 33개의 민감한 WinAPI 함수를 해석합니다. 이 함수들은 바이너리의 임포트 테이블에 나타나지 않습니다.



HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon에 저장된 평문 자격 증명을 식별합니다. 익스플로잇이 필요 없습니다.
이 도구는 허가된 보안 테스트, 교육용 사용, 랩 환경에서만 사용하세요. 명시적인 서면 승인 없이 시스템을 대상으로 사용하는 것은 불법이며 엄격히 금지됩니다. 이 소프트웨어를 사용함으로써 윤리적 사용 정책에 동의하게 됩니다.
EDR/AV 탐지에 관한 이슈는 열지 마세요. 기본 빌드에는 알려진 IOC가 포함되어 있습니다 — IOC 문서를 참조하세요. 공인된 작전의 경우 운영자는 사용자 지정 인증서, 빌드 플래그, malleable 프로필로 재컴파일해야 합니다.
| 기능 | 세부 사항 |
|---|
| 콘솔 창 통합 | 탭으로 열림 — 떠 있는 모달도, 컨텍스트 전환도 없음 |
| 전체 C2 명령 인지 | 시스템 프롬프트에 사용 가능한 모든 명령, 에이전트의 OS/아키텍처/권한, 트랜스포트, 현재 태스크 큐가 포함됨 |
| 스트리밍 응답 | 모델이 토큰을 생성하는 대로 실시간 스트리밍됨 |
| 자동 분석 루프 | 모든 명령 실행 후 출력이 자동으로 AI에 다시 전송되어 해석과 다음 단계 추천을 받음 |
| 멀티 세션 | 여러 에이전트에 대해 동시에 AI 콘솔을 열 수 있음 — 각 탭은 독립적인 대화 기록을 유지함 |
| 공급자 무관 | Ollama(로컬, 오프라인) 또는 Anthropic Claude API와 함께 작동 — AI 탭에서 설정된 것을 사용 |
| 실행 전 확인 | 제안된 모든 명령은 명시적 클릭이 필요함 — AI는 자율적으로 태스크를 전송하지 않음 |
| 구성 요소 | 요약 |
|---|
| 서버 | Go 바이너리 · 다중 운영자 팀서버 · SQLite 작전 로그 · mTLS API :31337 · DNS 카나리 burn 알림 |
| 웹 GUI | 킬체인 그래프(자동 새로고침) · 에이전트 콘솔 · AI 콘솔 · 전리품(loot) 관리자 · AI 어시스턴트 · 다중 운영자 |
| 에이전트 (Go) | Windows · Linux · macOS · 7개 트랜스포트 · 전체 회피 제품군 · API 해싱(PEB 워크, IAT에서 22개 함수) · Kerberos 작업 · 인라인 PE 로더 · CONFIG 런타임 · ~13 MB |
| 에이전트 (Nim) | Windows · Linux · SMB 파이프 포함 7개 트랜스포트 · 간접 syscall(Hell's Gate) · 스택 스푸핑 · NTDLL 언훅 · API 해싱(PEB 워크, IAT에서 22개 함수) · 인라인 PE 로더 · BOF + .NET CLR · 키로거 · SOCKS5 · ISHELL · 브라우저 자격 증명 · 측면 이동 · 안티-샌드박스 · ~1 MB |
| 에이전트 (Rust) | Windows · Linux (x64) · 7개 트랜스포트 · 간접 syscall(Hell's Gate) · AMSI 패치 · 슬립 마스킹 · API 해싱 · 스택 스푸핑 · NTDLL 언훅 · 안티-샌드박스 · 근무 시간 · DNS 카나리 · Kerberos 작업 · 인라인 PE 로더 · BOF + .NET CLR · ISHELL · 화면 감시 · 전체 인젝션 제품군 · BLOCKDLLS · PEB 스푸프 · ETW 패치 · 브라우저 자격 증명 · 키로거 · SOCKS5 · 측면 이동(8가지 방법) · ~507 KB |
| 에이전트 (C) | Windows · Linux (x64) · 7개 트랜스포트 · EXE + DLL 형식 · API 해싱(PEB 워크, IAT에서 35개 함수) · PPID 스푸프 · 안티-샌드박스 · Kerberos 작업 · 인라인 PE 로더 · NTDLL 언훅 · 키로거 · SOCKS5 · ISHELL · 브라우저 자격 증명 · .NET CLR · BOF · 측면 이동 · ~130 KB |
| 로더 | C / Go / Nim / 셸코드 스텁 |
| 리포트 | HTML · JSON · CSV · MITRE ATT&CK Navigator 레이어 · AI 경영진 요약 |
| Go (Ekko) | Nim | Rust | C |
|---|
| 플랫폼 | Win · Linux · macOS | Win · Linux | Win · Linux | Win · Linux |
| 크기 | ~13 MB | ~1.2 MB | ~507 KB | ~130 KB |
| 트랜스포트 | HTTP · HTTPS · mTLS · DNS · DoH · SMB · TCP | HTTP · HTTPS · mTLS · DNS · DoH · SMB · TCP | HTTP · HTTPS · mTLS · DNS · DoH · SMB · TCP | HTTP · HTTPS · mTLS · DNS · DoH · SMB · TCP |
| DLL 형식 | ✓ | ✓ | ✓ | ✓ |
| 셸 / 파일 작업 / 시스템 정보 | ✓ | ✓ | ✓ | ✓ |
| 업로드 / 다운로드 | ✓ | ✓ | ✓ | ✓ |
| 스크린샷 | ✓ | ✓ | ✓ | ✓ |
| 화면 감시 (실시간) | ✓ | ✓ | ✓ | ✓ |
| 키로거 | ✓ | ✓ | ✓ | ✓ |
| 클립보드 모니터링 | ✓ | ✓ | ✓ | ✓ |
| LSASS 덤프 (MINIDUMP) | ✓ | ✓ | ✓ | ✓ |
| AMSI 패치 | ✓ (VEH / DR0) | ✓ | ✓ xor-ret patch | ✓ |
| ETW 블라인드 | ✓ | ✓ + NtSetInfoProcess | ✓ EtwEventWrite patch | ✓ |
| NTDLL 언훅 | ✓ | ✓ | ✓ | ✓ |
| 간접 syscall | ✓ Hell's Gate + Halo's Gate | ✓ Hell's Gate + Halo's Gate | ✓ Hell's Gate + Halo's Gate | ✓ Hell's Gate + Halo's Gate |
| 스택 스푸핑 | ✓ call-preceded RET gadget | ✓ 110바이트 스푸핑 스텁 | ✓ 110바이트 스푸핑 스텁 | ✓ 110바이트 스푸핑 스텁 |
| API 해싱 (IAT 제거) | ✓ DJB2 + PEB 워크 · 22개 함수 | ✓ DJB2 + PEB 워크 · 22개 함수 | ✓ DJB2 + PEB 워크 · 21개 함수 | ✓ DJB2 + PEB 워크 · 35개 함수 |
| 슬립 마스킹 | ✓ Ekko XOR + NOACCESS | ✓ XOR 비-실행 섹션 + NtDelayExecution | ✓ XOR + NtDelayExecution | ✓ XOR + NOACCESS |
| 안티-샌드박스 | ✓ 12가지 검사 점수 모델 | ✓ CPU/RAM/디스크/유휴 검사 (-d:SandboxChecks) | ✓ CPU/RAM/디스크/사용자명 점수 | ✓ 점수 모델 |
| CONFIG 런타임 | ✓ 슬립 · 지터 · 근무 시간 · 인젝션 방법 | ✓ 슬립 · 지터 · 근무 시간 | ✓ 슬립 · 지터 | ✓ 슬립 · 지터 · 근무 시간 |
| 근무 시간 게이팅 | ✓ | ✓ | ✓ | ✓ |
| DNS 카나리 | ✓ 시작 시 burn 조회 | ✓ 시작 시 burn 조회 | ✓ 시작 시 burn 조회 | ✓ 시작 시 burn 조회 |
| PE 헤더 삭제 | ✓ | ✓ | ✓ | ✓ |
| HWBP 제거 | ✓ | ✓ | ✓ | ✓ |
| PPID 스푸프 | ✓ | ✓ | ✓ | ✓ |
| BLOCKDLLS / PEB 스푸프 | ✓ | ✓ | ✓ | ✓ |
| EDR 무력화 (ETW/훅) | ✓ | ✓ | ✓ | ✓ |
| 훅 + HWBP 탐지 | ✓ | ✓ | ✓ | ✓ |
| Kerberos (klist · ptt · purge) | ✓ LSA API | ✓ LSA API | ✓ LSA API | ✓ LSA API |
| 인라인 PE 실행 | ✓ 전체 PE64 로더 | ✓ 전체 PE64 로더 | ✓ 전체 PE64 로더 | ✓ 전체 PE64 로더 |
| 프로세스 인젝션 | ✓ remote · APC · hijack · fork-and-run · hollow | ✓ remote · APC | ✓ remote · APC · hijack · fork-and-run · hollow | ✓ remote · APC |
| BOF / .NET CLR | ✓ | ✓ BOF + .NET CLR | ✓ BOF + .NET CLR | ✓ BOF + .NET CLR |
| 토큰 탈취 / 가장 | ✓ | ✓ | ✓ | ✓ |
| 토큰 금고 (저장 · 재사용) | ✓ | ✓ | ✓ | ✓ |
| GETSYSTEM / UAC 우회 | ✓ | ✓ | ✓ | ✓ |
| 지속성 | ✓ | ✓ | ✓ | ✓ |
| 측면 이동 | ✓ psexec · smbexec · atexec · wmi · dcom · winrm · ssh · runas | ✓ psexec · smbexec · atexec · wmi · dcom · winrm · ssh · runas | ✓ psexec · smbexec · atexec · wmi · dcom · winrm · ssh · runas | ✓ psexec · smbexec · atexec · wmi · dcom · winrm · ssh · runas |
| SOCKS5 / 포트 포워딩 | ✓ | ✓ | ✓ | ✓ |
| 리버스 SOCKS | ✓ | ✓ | ✓ | ✓ |
| 포트 스캔 | ✓ | ✓ | ✓ | ✓ |
| 메시 릴레이 피벗 | ✓ HTTP + TCP | ✓ HTTP + TCP | ✓ HTTP + TCP | ✓ HTTP + TCP |
| 자격 증명 수집 | ✓ GPP · WiFi · 브라우저 · NTDS | ✓ GPP · WiFi · 브라우저 · NTDS | ✓ WiFi · 브라우저 | ✓ GPP · WiFi · 브라우저 · NTDS |
| 레지스트리 작업 | ✓ | ✓ | ✓ | ✓ |
| ADS (읽기 · 쓰기 · 목록 · 삭제) | ✓ | ✓ | ✓ | ✓ |
| COM 하이재킹 | ✓ | ✓ | ✓ | ✓ |
| 타임스탬프 위조 | ✓ | ✓ | ✓ | ✓ |
| 인터랙티브 셸 (ISHELL) | ✓ | ✓ | ✓ | ✓ |
| MITRE ATT&CK | 50개 이상 명령 · 12개 전술 | 회피 · 포스트 익스플로잇 · 측면 이동 | 회피 · 포스트 익스플로잇 · 측면 이동 | 회피 · 포스트 익스플로잇 · 측면 이동 |
| 기능 | Windows (모든 에이전트) | Linux (Go · Rust · C · Nim) | macOS (Go만) |
|---|
| 비콘 + 비콘 통신 (HTTP/HTTPS/mTLS/TCP/DNS) | ✓ | ✓ | ✓ |
| 셸 / 파일 작업 / 업로드 / 다운로드 | ✓ | ✓ | ✓ |
| SYSINFO / PS / ENV | ✓ | ✓ | ✓ |
| 포트 스캔 | ✓ | ✓ | ✓ |
| SOCKS5 / 리버스 SOCKS / 포트 포워딩 | ✓ | ✓ | ✓ |
| 메시 릴레이 피벗 (HTTP + TCP) | ✓ | ✓ | ✓ |
| 지속성 | ✓ 레지스트리/서비스/schtask | ✓ cron / systemd user | ✓ LaunchAgent |
| 스크린샷 | ✓ GDI | ✓ ImageMagick (X11 사용 시) | ✓ |
| 자격 증명 수집 | ✓ 브라우저 · WiFi · GPP · NTDS | ✓ 브라우저 (Linux 경로) | ✓ 브라우저 |
| Windows 전용 (회피) | |||
| AMSI 패치 / ETW 블라인드 | ✓ | — | — |
| 간접 syscall (Hell's Gate) | ✓ | — | — |
| 스택 스푸핑 (110바이트 스텁) | ✓ | — | — |
| API 해싱 / IAT 제거 | ✓ | — | — |
| 슬립 마스킹 (XOR + NOACCESS) | ✓ | — | — |
| NTDLL 언훅 | ✓ | — | — |
| PPID 스푸프 / BLOCKDLLS / PEB 스푸프 | ✓ | — | — |
| 토큰 탈취 / UAC 우회 | ✓ | — | — |
| 프로세스 인젝션 | ✓ | — | — |
| 인라인 PE 실행 / .NET CLR | ✓ | — | — |
| 키로거 / 클립보드 모니터링 | ✓ | — | — |
| 측면 이동 (8가지 방법) | ✓ | — | — |
| Kerberos (klist/ptt/purge) | ✓ | — | — |