
Автоматизированный эксплойт RCE для Joomla JCE (CVE-2026-48907) с интерактивной оболочкой, пакетным выполнением команд, скачиванием файлов и поддержкой прокси для авторизованных тестов на проникновение.
Профессиональная утилита командной строки для авторизованного тестирования на проникновение, контролируемого исследования уязвимостей и защитной валидации.
Только авторизованное использование. Запускайте этот проект исключительно против систем, которыми вы владеете или на тестирование которых у вас есть явное разрешение. По возможности используйте контролируемую лабораторную среду.

JCEzploit — это утилита командной строки для исследований в области безопасности, предназначенная для оценки функциональности импорта профилей компонента Joomla Content Editor (JCE) в средах, где у тестировщика есть явная авторизация. Она разработана для профессиональных пентестеров, исследователей безопасности и специалистов по защите, которым необходимо воспроизвести и подтвердить заявленное условие удалённого выполнения кода в контролируемой среде.
Проект предоставляет структурированный рабочий процесс командной строки, настраиваемую поддержку прокси, несколько режимов выполнения, диагностический вывод и интерактивный интерфейс сеанса. Его следует использовать только против целей, принадлежащих оператору или покрытых письменным разрешением на тестирование.
Примечание о публикации: Перед публикацией или распространением этого README сверьте идентификатор CVE проекта, диапазон затронутых версий, исправленную версию, статус раскрытия и тестовую матрицу с авторитетной записью в базе данных вендора или уязвимостей. Приведённые ниже метаданные отражают предоставленную информацию о проекте и не должны рассматриваться как независимое подтверждение уязвимости.
Это программное обеспечение может привести к несанкционированному доступу, раскрытию данных, нарушению работы сервисов или компрометации системы при использовании против несогласованной цели. Сопровождающие не дают разрешения на тестирование сторонних систем, публичной инфраструктуры или систем без документально подтверждённого разрешения.
Используя этот проект, вы соглашаетесь с тем, что:
Тестируете только те системы, на которые у вас есть явное письменное разрешение.
Определяете и соблюдаете согласованные рамки, временное окно, ограничение скорости и правила взаимодействия.
Избегаете доступа к ненужным данным, их изменения, выгрузки или хранения.
Немедленно прекращаете тестирование, если действия создают риск нарушения работы сервисов или затрагивают посторонних пользователей.
Соблюдаете все применимые законы, нормативные акты, договоры и организационные политики.
Принимаете на себя ответственность за последствия использования программного обеспечения.
Автор и участники предоставляют этот проект «как есть» и не несут ответственности за неправомерное использование, ущерб, потерю данных, юридические претензии или иные последствия, возникающие в результате его использования.
Следующие сведения были предоставлены вместе с проектом и требуют независимой проверки перед использованием в бюллетене безопасности или производственной оценке.
| Поле | Предоставленные сведения о проекте |
|---|---|
| Идентификатор уязвимости | CVE-2026-48907 |
| Заявленная проблема | Удалённое выполнение кода без аутентификации |
| Заявленные затронутые версии | JCE 1.0.0–2.9.99.4 |
| Заявленная исправленная версия | JCE 2.9.99.5 |
| Предоставленная тестовая среда | Joomla 3.10.11, JCE 2.9.15, Apache 2.4, PHP 7.4 |
| Заявленная степень серьёзности | Критическая; возможна полная компрометация системы |
Для защитных работ сначала подтвердите развёрнутые версии Joomla и JCE, получите авторизацию, создайте план отката и по возможности предпочитайте неразрушающий метод валидации.
JCEzploit включает следующие возможности, описанные в материалах проекта:
| Область | Возможность |
|---|---|
| Рабочий процесс | Автоматизированная подготовка запросов и рабочий процесс валидации уязвимости |
| Интерфейс сеанса | Интерактивная командная сессия с историей, автодополнением и цветным выводом |
| Режимы выполнения | Интерактивный, одиночной команды, пакетный, тихий, подробный и ориентированный на отладку режимы |
| Обнаружение | Обнаружение CSRF-токена с несколькими резервными шаблонами |
| Сетевой контроль | Поддержка прокси HTTP/HTTPS для контролируемой проверки запросов |
| Надёжность | Пул соединений, тайм-ауты и обработка ошибок |
| Файловые операции | Функциональность извлечения файлов для авторизованных сценариев оценки |
| Поддержка платформ | Среды Linux, macOS и Windows с Python 3.6+ |
Интерактивный интерфейс поддерживает такие команды, как приведённые ниже. Используйте только неразрушающие команды в одобренных тестовых средах.
$> whoami # Display the execution identity
$> id # Display user and group information
$> pwd # Display the current working directory
$> exit # Close the session
| Требование | Минимальное или поддерживаемое значение |
|---|---|
| Python | 3.6 или новее |
| Менеджер пакетов | pip |
| Операционные системы | Linux, macOS или Windows |
| Сетевой доступ | Требуется только для установки зависимостей и доступа к авторизованной тестовой цели |
Точный набор зависимостей определён в requirements.txt. Используйте виртуальное окружение, чтобы изолировать зависимости проекта от основной системы.
git clone https://github.com/CerberusMrXi/JCEzploit-CVE-2026-48907.git
cd JCEzploit-CVE-2026-48907
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
chmod +x jcezploit.py
git clone https://github.com/CerberusMrXi/JCEzploit-CVE-2026-48907.git
Set-Location JCEzploit-CVE-2026-48907
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
Если политики выполнения PowerShell препятствуют активации, обратитесь к политике управления конечными точками вашей организации, а не ослабляйте глобальные средства контроля безопасности. Скрипт также можно вызывать напрямую через интерпретатор виртуального окружения.
pip install pipenv
pipenv install requests rich
pipenv shell
python jcezploit.py --help
Если репозиторий содержит поддерживаемый Dockerfile, соберите и запустите его в изолированной авторизованной лабораторной среде:
docker build -t jcezploit .
docker run --rm -it jcezploit --help
Не монтируйте в контейнер чувствительные каталоги хоста, производственные учётные данные или неограниченные сетевые ресурсы хоста.
Всегда начинайте с проверки рамок цели и вывода встроенной справки:
python jcezploit.py --help
Предоставленный интерфейс командной строки обобщён ниже.
usage: jcezploit.py [-h] -u URL [--proxy PROXY] [-v] [-q]
[--cmd CMD] [--interactive] [--batch FILE]
[--no-confirm]
JCEzploit - Joomla JCE security testing utility
options:
-h, --help Show this help message and exit
-u, --url URL Authorized target base URL (required )
--proxy PROXY HTTP proxy, for example http://127.0.0.1:8080
-v, --verbose Enable diagnostic output
-q, --quiet Suppress non-essential output
--cmd CMD Execute one approved test command and exit
--interactive Start an interactive test session
--batch FILE Read approved test commands from a file
--no-confirm Skip the confirmation prompt; use only in automation
Следующие примеры демонстрируют шаблоны вызова. Замените цель на явно авторизованную лабораторную или оценочную конечную точку.
# Start an interactive assessment session.
python jcezploit.py --url http://authorized-lab.example --interactive
# Execute a low-impact identity check.
python jcezploit.py --url http://authorized-lab.example --cmd "id"
# Route requests through a local inspection proxy.
python jcezploit.py \
--url http://authorized-lab.example \
--proxy http://127.0.0.1:8080 \
--interactive \
--verbose
Создайте файл команд, содержащий только предварительно одобренные неразрушающие шаги валидации:
# commands.txt
whoami
id
pwd
Запустите пакетный файл против одобренной цели:
python jcezploit.py --url http://authorized-lab.example --batch commands.txt
Используйте --verbose при поиске и устранении неполадок в потоке запросов в контролируемой среде или при сборе доказательств для отчёта об оценке. Используйте --quiet при интеграции вывода в одобренный конвейер автоматизации. Избегайте хранения секретов, токенов сеанса, тел ответов или личных данных в общих журналах.
Проект принимает конфигурацию через командную строку. Следующее соглашение о переменных окружения может использоваться обёртками или локальными runbook-сценариями при условии, что реализация явно его поддерживает:
TARGET_URL=http://authorized-lab.example
PROXY=http://127.0.0.1:8080
VERBOSE=true
QUIET=false
Не сохраняйте в систему контроля версий файлы .env, учётные данные, токены, перечни целей, перехваченные ответы или результаты оценки. Добавьте локальные файлы конфигурации в .gitignore и используйте менеджер секретов там, где это уместно.
JCEzploit/
├── jcezploit.py # Main command-line program
├── requirements.txt # Runtime dependencies
├── README.md # Project documentation
├── LICENSE # MIT License
├── .gitignore # Ignored local and generated files
├── setup.sh # Optional setup helper
├── sample_commands.txt # Example command file
├── Dockerfile # Container build definition
├── verify.py # Dependency verification helper
└── docs/
├── vulnerability_details.md
├── pentest_guide.md
└── changelog.md
Приведённое выше дерево отражает предоставленную структуру проекта. Обновляйте его при добавлении, удалении или переименовании файлов.
Устанавливайте зависимости для разработки только в том случае, если репозиторий предоставляет поддерживаемый файл requirements-dev.txt:
pip install -r requirements-dev.txt
python -m pytest tests/
Перед открытием pull request убедитесь, что изменения задокументированы, тесты проходят, обработка ошибок остаётся понятной, а в коммиты не включены данные о целях или секреты. Добавьте регрессионные тесты для разбора, проверки ввода, обработки прокси, поведения тайм-аутов и безопасных путей отказа.
Профессиональная оценка должна по возможности использовать выделенную тестовую среду. Сделайте резервную копию или снимок перед валидацией, определите процедуру экстренной остановки, контролируйте состояние приложения и хоста и координируйте действия с владельцем системы на протяжении всего окна тестирования.
Инструмент не должен использоваться для закрепления в системе, развёртывания дополнительного вредоносного ПО, обхода мониторинга, доступа к посторонним учётным записям, выгрузки чувствительных файлов или горизонтального перемещения. Сбор доказательств должен быть ограничен тем, что необходимо для демонстрации находки, и должен соответствовать требованиям заказчика по обработке данных.
Если тестирование выявляет ранее неизвестную проблему, не публикуйте детали эксплойта немедленно. Уведомите затронутого вендора или проект в частном порядке, предоставьте воспроизводимые защитные доказательства, дайте разумное время на устранение и координируйте любое публичное раскрытие. Обратитесь к Центру безопасности Joomla за опубликованными рекомендациями проекта по сообщению об уязвимостях.
Приветствуется вклад специалистов по безопасности и разработчиков, поддерживающих ответственные защитные исследования. Пожалуйста, откройте issue до внесения значительных изменений, чтобы можно было обсудить рамки и ожидания по безопасности.
Типичный рабочий процесс вклада:
git checkout -b feature/documentation-improvement
# Make and test your changes
git add .
git commit -m "Improve documentation"
git push origin feature/documentation-improvement
Pull request-ы должны объяснять решаемую проблему, описывать изменение, указывать тестовое покрытие и документировать любые последствия для совместимости или безопасности. Следуйте PEP 8 для Python-кода, предпочитайте понятные сообщения об ошибках, избегайте встраивания секретов и сохраняйте защитные механизмы этичного использования проекта.
Первоначальный выпуск проекта.
Добавлен заявленный рабочий процесс тестирования безопасности JCE.
Добавлена поддержка интерактивных сеансов.
Добавлена функциональность извлечения файлов для авторизованного тестирования.
Добавлена пакетная обработка команд.
Добавлена поддержка прокси.
Добавлен расширенный вывод командной строки.
Добавлена кроссплатформенная поддержка.
Расширить покрытие защитной валидации.
Улучшить тестирование совместимости с поддерживаемыми версиями Joomla и JCE.
Добавить структурированный вывод отчёта об оценке.
Добавить более строгую проверку ввода и более безопасное поведение по умолчанию.
Добавить автоматизированные модульные и интеграционные тесты.
Предоставить документированную лабораторную настройку для воспроизводимых исследований.
Этот проект распространяется под лицензией MIT. Полный текст лицензии см. в LICENSE.
MIT License
Copyright (c) 2024 Sudeepa Wanigarathna
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Sudeepa Wanigarathna
Исследователь безопасности и пентестер
Проект следует обновить прямой ссылкой на запись об уязвимости после того, как метаданные CVE будут независимо проверены в 4. Общие рекомендации по защитному тестированию доступны в 3.
Используйте этот проект ответственно, законно и только при наличии явной авторизации.