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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-11374-check — Скрипт обнаружения для CVE-2026-11374 | Kitploit
Инструменты/GitHubGitHub/bishopfox/cve-2026-11374-check
Оборонительные ИнструментыСканеры уязвимостейЭксплуатацияВеб-безопасностьТестирование на ПроникновениеРазведка угроз
GitHubbishopfox/cve-2026-11374-check

CVE-2026-11374-check

Скрипт обнаружения для CVE-2026-11374

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

Популярное

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

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

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

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

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

CVE-2026-11374 Сценарий обнаружения предусловия для ManageEngine AD360

Скрипт обнаружения предусловия эксплуатации CVE-2026-11374 — предсказуемой уязвимости SSO-билетов, которая приводит к неаутентифицированному захвату учётных записей во всём комплексе ManageEngine AD360. Четыре продукта, попадающие в область действия, используют общий ManageEngineADSFramework:

ПродуктЗатронутая сборкаИсправленная сборка
ADSelfService Plus≤ 65286529
RecoveryManager Plus≤ 63206321
M365 Manager Plus≤ 48164817
ADAudit Plus≤ 87028703

В затронутых сборках SSO-билет — это просто System.currentTimeMillis() (предсказуемая метка времени), снятая при входе жертвы, поэтому его можно воспроизвести через cookie CUSTOM_SSO_TICKET, чтобы перехватить эту сессию. Исправление заменяет билет на UUID.randomUUID() (достаточно случайный идентификатор). Путь воспроизведения доступен только когда продукт интегрирован с AD360: ADSFilter допускает его при условии isProductIntegrated(). Это условие и есть предусловие, которое проверяет данный инструмент.

ПРИМЕЧАНИЕ: этот детектор подтверждает предусловие, а не саму уязвимость. Результат POTENTIALLY_AFFECTED — это не вердикт «подтверждённо уязвим»; подробнее см. ниже.

Безопасно ли его запускать?

Да. Он предназначен для использования в производственной среде и при оценке безопасности.

  • Ничего не эксплуатируется. Зонд отправляет недействительный SSO-билет (1700000000000 — значение в миллисекундах, достаточно старое, чтобы никогда не оказаться в кэше), поэтому ни одна сессия не восстанавливается. Сервер лишь просит очистить отправленные нами cookie.
  • Состояние цели не меняется. Каждый запрос — обычный GET, и единственные затронутые cookie — одноразовые, которые отправляет инструмент.
  • Никакого перебора или разрешения сессий. Инструмент не предпринимает активное разрешение билета по метке времени, которое доказало бы эксплуатируемость; это уже эксплуатация, а не обнаружение, и она вне рамок данного инструмента (см. Ограничения).

Что этот инструмент может и чего не может сказать

Патч CVE-2026-11374 изменил только способ генерации билета (с миллисекунд на UUID); он не менял путь воспроизведения cookie, который проверяет этот зонд. В результате исправленная установка отвечает побайтово идентично уязвимой на любой неаутентифицированный запрос.

Что инструмент может сделать без аутентификации и без разрушающих воздействий:

  • Подтвердить, что у доступного продукта из области действия активен путь воспроизведения cookie CustomSSO (то есть он интегрирован с AD360), что является предусловием эксплуатации CVE-2026-11374.
  • Определить, какой именно из четырёх продуктов отвечает, по cookie сессии, уникальной для каждого продукта.
  • По возможности извлечь номер сборки актива как подсказку. Это доступно для ADSelfService Plus, ADAudit Plus и M365 Manager Plus; недоступно для RecoveryManager Plus.

Чего он не может:

  • Отличить уязвимую версию от исправленной. Для этого не существует безопасного, пассивного, неаутентифицированного сигнала. Результат POTENTIALLY_AFFECTED означает, что предусловие выполнено, и вам следует проверить уровень патча, а не то, что хост подтверждённо уязвим.
  • Подтвердить эксплуатируемость. Доказательство фактической эксплуатируемости хоста требует наблюдения за форматом выданного билета (13-значное число — уязвимо, UUID — исправлено; для обоих нужен аутентифицированный доступ или доступ к хосту), локального чтения conf/product.conf либо активного разрешения действующего билета (реальная эксплуатация, намеренно не реализована здесь).
  • Полностью доверять номеру сборки ADSelfService Plus ниже исправленной. Параметр ?build= у ADSSP иногда показывает реальную сборку, а иногда — замороженное значение-заглушку, которое оказывается ниже исправленной сборки, поэтому значение ниже исправленной неоднозначно, и инструмент помечает его как неопределённое. Значение на уровне исправленной сборки или выше по-прежнему является надёжным признаком установки патча, поскольку заглушка всегда слишком низкая, чтобы достичь его.

Требования

  • Python 3.7+ и библиотека requests. Установка: pip install requests.

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

# single host (prefer a URL or host:port; ports differ per product)
./cve_2026_11374_check.py https://adssp.example.com:8888

# multiple hosts (scheme optional: https is tried first, then http)
./cve_2026_11374_check.py host-a:8081 host-b:8365

# scan a list, one target per line ('#' comments allowed), compact output
./cve_2026_11374_check.py -f targets.txt --brief

# machine-readable output for pipelines
./cve_2026_11374_check.py -f targets.txt --json > results.json

Порты по умолчанию различаются для каждого продукта (ADSelfService Plus 8888, ADAudit Plus 8081, M365 Manager Plus 8365, RecoveryManager Plus 8090), поэтому передавайте URL или host:port. Для адреса без порта по умолчанию используется 8888.

Параметры

ФлагОписание
targetsОдин или несколько адресов host, host:port или https://host:port
-f, --targets-file FILEЧитать цели из файла (по одной на строку; комментарии #)
--briefОдна выровненная строка на цель, удобно при сканировании многих хостов
--jsonВыдавать структурированные результаты в JSON
--timeout SECSТаймаут на запрос (по умолчанию: 15)
--no-buildПропускать дополнительный запрос номера сборки при положительном результате
--no-colorОтключить цветной вывод (также учитывает NO_COLOR и не-TTY)

Примеры

Интегрированная с AD360 консоль (подробный режим, используется по умолчанию). Во второй строке поясняется, что это предусловие, а не вердикт об уязвимости; третья — полученная по возможности подсказка о сборке:

$ ./cve_2026_11374_check.py https://adssp.example.com:8888
[!] https://adssp.example.com:8888: POTENTIALLY_AFFECTED
      ADSelfService Plus: AD360-integrated, CustomSSO replay path active - precondition met. Not confirmed vulnerable; verify patch level (fixed build 6529).
      build: 6519 (below fixed 6529 - inconclusive: ?build= may be a stale placeholder or a hotfix)

Автономная установка того же продукта, где путь воспроизведения неактивен:

$ ./cve_2026_11374_check.py https://adssp.example.com:8888
[+] https://adssp.example.com:8888: UNAFFECTED
      ADSelfService Plus: standalone / not AD360-integrated (no cleanup), so the replay path isn't reachable here. Verify build >= 6529 regardless.

Сканирование списка с одной выровненной строкой на хост (--brief). Код возврата равен 1, если хотя бы один хост — POTENTIALLY_AFFECTED, иначе 0; это удобно в скриптах. Завершающая пометка показывает определённый продукт, а при находке — номер сборки:

$ ./cve_2026_11374_check.py -f targets.txt --brief; echo "exit: $?"
POTENTIALLY_AFFECTED  https://host-a:8888  ADSelfService Plus 6519
POTENTIALLY_AFFECTED  http://host-b:8081   ADAudit Plus 8530
UNAFFECTED            http://host-c:8365   M365 Manager Plus
UNAFFECTED            https://host-d:443
INCONCLUSIVE          http://host-e:8888   ADSelfService Plus
ERROR                 host-f:8888  timeout
exit: 1

Машиночитаемый вывод (--json). Каждый результат содержит verdict, а также state и detail, лежащие в его основе, определённый product и — при находке — объект build: build — найденный номер, fixed_build — порог для этого продукта, patch_hint — направленная оценка (likely_patched на уровне исправленной сборки или выше, иначе inconclusive), а note — краткое пояснение:

Скачать инструмент