Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-23700-C2-Server — CVE-2024-23700의 실행 시나리오를 보여주는 C2 서버 데모 소스 코드 | Kitploit
도구/GitHubGitHub/kaitokidc500/cve-2024-23700-c2-server
Android SecurityVulnerability AnalysisExploitationData ExfiltrationInformation GatheringWeb SecurityPenetration TestingMobile SecurityCommand and Control

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Learning & Education
Red Teaming
Payload Development
GitHubkaitokidc500/cve-2024-23700-c2-server

CVE-2024-23700-C2-Server

CVE-2024-23700의 실행 시나리오를 보여주는 C2 서버 데모 소스 코드

저장소 보기
217일 전아직 검토되지 않음

CVE-2024-23700 - C2 Server: 명령 및 정보 수집 서버

[cite_start]이 프로젝트는 CVE-2024-23700 권한 상승 취약점 악용 실험 시나리오를 위한 명령 및 제어(Command & Control - C2 Server) 서버의 설계 및 구축을 보여줍니다[cite: 2]. [cite_start]이 서버는 대상 Android 기기에서 탈취된 민감 데이터를 수신, 처리, 분류 및 표시하는 역할을 합니다[cite: 3].

이 저장소의 문서와 소스 코드는 학습, 보안 분석 및 허가된 환경에서의 테스트 목적으로만 제공됩니다. 합법적인 테스트 범위에 속하지 않는 기기, 계정 또는 데이터에는 사용하지 마십시오.

프로젝트 정보

과목: 모바일 기기 보안

수행 팀: 4명의 팀원으로 구성된 팀이 수행한 프로젝트입니다.

이 C2 Server 설계 프로젝트를 연구하고 완성하는 과정에서 팀은 다음과 같은 작업을 담당했습니다:

  • 데이터 통신 API 제공, 데이터 복호화 및 저장을 위한 Python(Flask 프레임워크) 기반 Backend 구성 요소 구축.
  • 대상 모니터링을 위한 ReactJS 기반 직관적인 관리자 Frontend(Dashboard) 개발.
  • 빠르고 가벼운 PoC 목적에 최적화된 플랫 파일 데이터베이스(flat-file database) data.json 형태의 저장 시스템 설계.
  • 전체 아키텍처(Backend 및 Frontend)를 독립적인 컨테이너로 패키징하고 Docker를 통해 운영.

개요

C2 Server 시스템은 Client-Server 모델을 적용하며, 악성 Android 애플리케이션(PoC)이 Client 역할을 하여 지속적으로 데이터를 서버로 전송합니다. C2 아키텍처는 높은 속도와 유연성을 보장하기 위해 독립적으로 처리되는 두 가지 구성 요소로 나뉩니다.

C2 Server의 주요 동작 흐름:

  1. 위장 및 수신 (Backend): 루트 수신 지점 /은 이중 처리 메커니즘으로 설계되었습니다. GET 메서드(브라우저 스캔)로 접근하면 서버는 회피를 위해 가짜 404 오류를 반환합니다. 악성 코드에서 JSON 형식의 POST 메서드를 수신하면 서버는 이를 수락하고 기기 식별자를 추출합니다.
  2. 지능형 분류 (Smart Classification): 서버는 패킷 내부의 키워드(keys)를 자동으로 검사하여 데이터에 라벨을 지정합니다(예: s_cache, gps_cache).
  3. 저장 및 패키징: 원본 Payload는 실시간 타임스탬프 및 기기 ID와 함께 패키징된 후 data.json의 저장 목록 맨 앞에 푸시됩니다.
  4. Frontend 동기화: Dashboard는 React Hook을 사용하여 /api/data에 GET 요청을 보내 데이터베이스를 읽습니다.
  5. 그룹화 및 표시: Frontend는 동일한 식별자(device_id)를 가진 패킷을 자동으로 그룹화하고, 구조를 깊이 스캔하여 하드웨어 정보(RAM, 배터리, OS)를 추출한 후 레이더에 시각적으로 표시합니다.

CVE 정보

취약점 코드: CVE-2024-23700
Android 심각도: Critical
관련 구성 요소: Android Companion Device Manager
참조 패치: Android Wear Security Bulletin 2024-05-01

이 C2 서버는 실험 네트워크의 일부로 설계되었으며, 위 취약점을 통해 성공적으로 악용된 Android 기기에서 인텔리전스 데이터 스트림을 수신합니다.

디렉터리 구조

root@kitploit:~
CVE-2024-23700-C2-Server/
├── backend/
│   ├── app.py - API Endpoint 초기화, 위장 처리 및 JSON 분류
│   └── requirements.txt
├── frontend/
│   ├── src/
│   │   ├── pages/
│   │   │   ├── Dashboard.jsx - 기기 개요 레이더 화면
│   │   │   └── DeviceDetails.jsx - Payload 심층 분석 대화상자
│   │   ├── App.jsx
│   │   └── App.css
│   ├── package.json
│   └── nginx.conf - Frontend용 Reverse Proxy 사용자 지정
├── data.json - 레코드 저장용 플랫 파일 DB (볼륨 마운트됨)
├── docker-compose.yml - 컨테이너 및 내부 네트워크 관리
├── .gitignore
└── README.md

주요 구성 요소

데이터 분류 및 해석 메커니즘

복잡한 로직 대신, 서버는 반환된 데이터 블록(cache)을 기반으로 자동으로 인식하고 라벨을 지정하며, Frontend 인터페이스는 스마트 사전(MODULE_MAP 및 COLUMN_TRANSLATIONS)을 통합하여 결과를 표준화하고 "현지화"합니다:

  • SMS_INTERCEPT: SMS 메시지에서 탈취된 데이터 (s_cache).
  • CONTACTS_DUMP: 연락처에서 추출된 데이터 (c_cache).
  • CALENDAR_SPY: 일정 이벤트 추적 데이터 (cal_cache).
  • NOTIFICATIONS_SPY: 알림 도청 데이터 (n_cache).
  • LOCATION_TRACKING: 위치 추적 데이터 (gps_cache).
  • GENERAL_TELEMETRY: 일반적인 시스템 측정 데이터의 기본 라벨.

또한, 시스템은 원시 timestamp를 읽기 쉬운 현지 시간 표준으로 자동 변환하고 숫자 코드를 실제 상태로 해석합니다(예: 통화 유형 1 = "↙️ 수신 전화").

배포 및 운영

전체 C2 인프라는 환경 차이를 제거하고 일관성을 보장하기 위해 docker compose로 운영됩니다. 구조는 두 가지 주요 서비스를 실행합니다:

  • c2_backend (포트 5000): Volume Mapping 기술을 적용하여 물리적 data.json 파일을 컨테이너 내부의 /app/data.json 메모리 영역에 연결합니다. 이를 통해 컨테이너가 삭제되거나 재시작되어도 인텔리전스 데이터가 영구적으로 저장됩니다. 이 서비스는 restart: always 정책을 적용합니다.
  • c2_frontend (포트 80): Nginx 웹 서버 기반으로 실행되며 Reverse Proxy 역할을 합니다. /api/ 접두사가 있는 모든 API 요청은 보안 강화를 위해 Backend로 자동 전달(proxy_pass)됩니다. 이 컨테이너는 초기 연결 오류를 방지하기 위해 Backend 이후에 시작되어야 합니다(depends_on).

참고 사항

  • Docker를 시작하기 전에 물리적 서버에서 data.json 파일에 적절한 읽기/쓰기 권한이 설정되어 있는지 확인해야 합니다.
  • 데이터 파일이 아직 생성되지 않은 경우, Backend는 인터페이스가 중단되지 않도록 자동으로 빈 배열을 반환합니다.
  • 서버의 IP 주소로 직접 접근하면 HTTP 404 위장 메커니즘이 활성화됩니다. 관리자는 Nginx에 구성된 올바른 경로와 포트로 접근해야 합니다.
도구 다운로드
구성 요소설명경로
Backend Flask (app.py)제어 센터(C2), 데이터를 수신, 분류 및 data.json에 저장.backend/app.py
Dashboard Radar중앙 제어판, 대상 그룹화 및 HW/OS 정보, payload 수 표시.frontend/src/pages/Dashboard.jsx
Device Details Modal피해자 데이터 분석 인터페이스(Modal XL), Accordion 시스템 및 동적 데이터 테이블 제공.frontend/src/pages/DeviceDetails.jsx
Docker 구성 파일Reverse Proxy를 통한 Backend(포트 5000) 및 Nginx Frontend(포트 80) 배포 조정.docker-compose.yml