Сергей Попов
Администратор
- 30.12.2015
- 6 275
- 6 981
- Специализация
- OSINT
- Веб-безопасность
- Статус верификации
- ✓ Verified
9 июня 2026 года Ivanti выпустила advisory по двум критическим уязвимостям в Sentry. Через двое суток CISA внесла CVE-2026-10520 (OS Command Injection, CVSS 10.0) в каталог KEV с дедлайном на патч в три дня - до 14 июня. Вся индустрия бросилась закрывать command injection с максимальным баллом. А CVE-2026-10523 с CVSS 9.9 - auth bypass, через который можно создать произвольный админский аккаунт в Sentry, - осталась в тени.
И вот тут интересно. С точки зрения атакующего, приоритеты ровно обратные: тихое создание легитимной админской учётки даёт устойчивую персистенцию, которую не видит ни IDS, ни стандартный threat hunting. Разовая команда с правами root - громкая. Админский аккаунт, созданный через альтернативный API-путь, - нет. SOC ищет шеллы, а бэкдор сидит в базе пользователей.
Бизнес-логика: зачем атакующему Ivanti Sentry и захват mobile gateway устройств
Ivanti Sentry (бывший MobileIron Sentry) - inline-шлюз между корпоративным мобильным парком и внутренними ресурсами: Microsoft Exchange, SharePoint, внутренние API. Sentry рулит ActiveSync-трафиком, шифрует канал между устройствами и бэкендом, а совместно с Ivanti EPMM решает, кого пускать - только зарегистрированные и policy-compliant устройства получают доступ к корпоративным сервисам. Подробнее - в нашем статье о cve эксплойт разработка.Компрометация Sentry - не просто один взломанный сервер. Это контроль над всем мобильным трафиком организации: email, вложения, данные MDM-профилей, корпоративные приложения. Атакующий получает возможность модифицировать политики доступа, создавать бэкдор-аккаунты - Valid Accounts (T1078, Initial Access / Persistence / Privilege Escalation) - и использовать Sentry как pivot-точку для lateral movement во внутренние сервисы через Exploitation of Remote Services (T1210). Одна скомпрометированная Sentry-нода в крупной организации - доступ к трафику тысяч мобильных устройств.
А CVE-2023-38035 - предыдущий auth bypass в Sentry - уже в CISA KEV с пометкой RANSOMWARE, эксплуатируется в дикой природе с августа 2023 года. Паттерн повторяется.
Анатомия CVE-2026-10523: обход аутентификации Ivanti Sentry через CWE-288
CVE-2026-10523 классифицирована как CWE-288 - Authentication Bypass Using an Alternate Path or Channel. Определение MITRE CWE: «The product requires authentication, but the product has an alternate path or channel that does not require authentication». Тут нет ни брутфорса, ни SQL-инъекции в форму логина. CWE-288 - это когда в архитектуре приложения есть альтернативный маршрут к защищённой функциональности, который просто не проверяет, кто ты такой.По данным NVD, уязвимость позволяет удалённому атакующему создавать произвольные административные учётные записи и получать полный административный доступ к Ivanti Sentry. Затрагивает Ivanti Standalone Sentry версий до R10.5.2, R10.6.2 и R10.7.1.
Вектор CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H - разберём каждый компонент:
| Компонент | Значение | Интерпретация |
|---|---|---|
| AV:N | Network | Эксплуатация по сети, без физического доступа |
| AC:L | Low | Сложных условий для атаки не требуется |
| PR:L | Low | Нужен минимальный уровень привилегий |
| UI:N | None | Действия пользователя не требуются |
| S:C | Changed | Импакт выходит за пределы уязвимого компонента |
| C:H/I:H/A:H | High | Полная компрометация конфиденциальности, целостности и доступности |
Тут есть нюанс, на который стоит обратить внимание: описание CVE говорит об «unauthenticated attacker», но CVSS-вектор указывает PR:L (Low Privileges Required). Расхождение между текстом advisory и вектором. Вероятная интерпретация в контексте CWE-288: атакующему нужен некий минимальный контекст (доступ к определённому API-эндпоинту, базовый сессионный токен), но не полноценная административная аутентификация. Именно поэтому CISA SSVC указывает Automatable: no - в отличие от CVE-2026-10520 (Automatable: yes, PR:N).
Где живёт уязвимый код и предусловия эксплуатации
Ivanti Sentry - Java-приложение на Tomcat. Приложение сидит под контекстным путём/mics (EPMM использует /mifs). Админский интерфейс доступен по /mics/login.jsp.[Технические детали ниже - гипотетическая реконструкция, не подтверждённая вендором или NVD.] Предположительно, уязвимый код связан с API-эндпоинтами обработки конфигурационных сообщений. Точный класс, метод и параметры эксплуатации официально не раскрыты. Оба CVE (10520 и 10523) исправлены в одном релизе. Логика CWE-288 подсказывает вероятный вектор CVE-2026-10523: альтернативный API-путь к административным функциям (создание учёток, управление конфигурацией), обходящий стандартную аутентификацию через
/mics/login.jsp.Работает если:
- Ivanti Standalone Sentry версий до R10.5.2, R10.6.2 или R10.7.1
- Административный интерфейс Sentry доступен по сети (порт 8443 или настроенный порт)
- Sentry в unmanaged state или эндпоинты доступны извне
- Установлены патчи R10.5.2 / R10.6.2 / R10.7.1
- Используется mTLS между Sentry и EPMM - взаимная аутентификация блокирует неавторизованные API-вызовы
- HTTPS-доступ к Sentry ограничен firewall-правилами или VPN
- Административный порт изолирован от атакуемого сетевого сегмента
Цепочка атаки: от Ivanti Sentry auth bypass до root через связку с command injection
CVE-2026-10523 сама по себе даёт создание админских аккаунтов. Серьёзно, но полный импакт раскрывается в связке с CVE-2026-10520 (OS Command Injection, CVSS 10.0, CWE-78):- Initial Access - Exploit Public-Facing Application (T1190): атакующий обнаруживает Sentry на периметре - порт 8443, характерный интерфейс
/mics/login.jsp - Auth Bypass (CVE-2026-10523): через альтернативный API-путь создаётся административная учётная запись. Тише, чем прямая эксплуатация pre-auth RCE
- Persistence - Valid Accounts (T1078): созданный аккаунт - легитимная админская учётка, переживает перезагрузку, не палится как типичный web shell
- Command Injection (CVE-2026-10520): через административный доступ к
handleMessageатакующий отправляет payload с командой ОС. Метод разбирает строку и при значении command =executeпередаёт value на обработку - Root RCE: команда исполняется с правами root - полный контроль над Sentry-нодой
- Lateral Movement (T1210): с позиции Sentry атакующий видит внутренние сервисы (Exchange, EPMM), может модифицировать MDM-политики и перенаправлять трафик устройств
Контекст применения
[Применимо: внешний пентест, при доступности порта 8443 Sentry из интернета]На внешнем пентесте Sentry - одна из первых целей при обнаружении Ivanti-инфраструктуры на периметре. Fingerprinting через
/mics/login.jsp идентифицирует продукт за секунды.[Применимо: внутренний пентест, при сетевом доступе к management-сегменту]
На внутреннем пентесте Sentry может оказаться в management VLAN. Auth bypass + command injection дают pivot-точку для атаки на мобильную инфраструктуру и доступ к credentials (Credentials In Files, T1552.001) - конфигурационные файлы Sentry содержат параметры подключения к EPMM и backend-сервисам.
Разведка и воспроизведение: практический подход к эксплуатации Ivanti Sentry
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Ответ
400 с телом "Message is empty or null" - эндпоинт доступен. Ответ 401/403 - аутентификация работает (патч применён или эндпоинт защищён). Ответ 200 с "Message handled successfully" - эндпоинт обрабатывает input без аутентификации. Бинго.Шаг 4: Burp Suite. В Proxy перехватываем запросы к
/mics/. В Repeater модифицируем POST-запросы к handleMessage, варьируя параметр message. В Intruder фаззим paths под /mics/api/ и /mics/services/ общими списками admin/API-эндпоинтов (SecLists, FFUF wordlists) и Sentry-специфичных путей (/mics/services/configservice/, /mics/services/MICSLogService). Цель - найти эндпоинты, возвращающие 200 без аутентификационных заголовков: это и есть «alternate path» из CWE-288.Шаг 5: верификация. При обнаружении alternate path - проверяем возможность вызова административных функций (создание учётки, чтение конфигурации) без стандартного session cookie. Каждый шаг документируем для отчёта.
Детектирование уязвимости Ivanti Sentry auth bypass
Сетевое детектирование строится на мониторинге запросов к API-эндпоинтам Sentry. Исторически (включая CVE-2023-38035) отслеживали POST-запросы к административным API-путям Sentry (/mics/services/[I], /mics/api/[/I]) со статусом 200. Для CVE-2026-10523 и CVE-2026-10520 добавляем путь /mics/api/v2/sentry/mics-config/handleMessage.
Код:
# Пример для демонстрации концепции - адаптируйте под свой SIEM
index=web sourcetype=proxy OR sourcetype=waf
| where match(url, "/mics/(api/v2/sentry|services)")
AND status=200 AND http_method="POST"
| stats count by src_ip, url, user_agent
| where count > 3
- Появление новых административных учётных записей в Sentry (прямой артефакт CVE-2026-10523)
- POST-запросы к
/mics/api/v2/sentry/mics-config/handleMessageс нехарактерным user-agent или из нетипичных подсетей - Обращения к admin-API с IP-адресов вне management-подсети
- Запросы к External Remote Services (T1133) - Sentry как внешне доступный сервис должен мониториться отдельно
Когда детектирование не работает
Ограничение 1: уничтожение логов. Если атакующий уже получил root через CVE-2026-10520, он спокойно подчистит логи Sentry. Собственно, именно так и делают - сначала root, потом зачистка следов.Ограничение 2: обход сигнатурных правил. WAF-правила на основе URL-путей обходятся через path normalization на Tomcat - двойное URL-кодирование, добавление
/./ в путь, нестандартные HTTP-методы. Tomcat исторически допускает вариации нормализации, и это боль для всех, кто пишет WAF-правила под Java-приложения.Ограничение 3: шум. Детектирование auth bypass на основе URL-путей генерирует массу false positive - без baseline обращений к admin-API и белых списков IP правило будет срабатывать на каждый легитимный запрос от EPMM. Аналогичный риск сохраняется для любых сетевых правил по CVE-2026-10523.
Паттерн Ivanti: CVE-2023-38035 и повторяющаяся CVSS 9.9 уязвимость Ivanti
CVE-2026-10523 - не первый auth bypass в Ivanti Sentry. CVE-2023-38035 (CVSS 9.8, CWE-863 - Incorrect Authorization) позволяла обходить аутентификацию MICS Admin Portal из-за недостаточно ограничительной конфигурации Apache HTTPD. Добавлена в CISA KEV 22 августа 2023 года с пометкой RANSOMWARE - эксплуатируется в реальных атаках с шифрованием данных. По данным EPSS, вероятность эксплуатации CVE-2023-38035 в 30-дневном окне - 0.9995 (percentile 99.97%).Параллельно с Sentry, Ivanti EPMM тоже получил два CVE: CVE-2026-6973 (Improper Input Validation, CVSS 7.2) - уже в CISA KEV как actively exploited - и CVE-2026-10727 (OS Command Injection, CVSS 7.2). Итого: четыре критических CVE в двух связанных продуктах (Sentry + EPMM) за один advisory cycle. Для одного вендора - многовато.
EPSS-скоринг подтверждает приоритеты:
| CVE | CVSS | EPSS | Percentile | CISA KEV | Automatable |
|---|---|---|---|---|---|
| CVE-2026-10520 | 10.0 | 0.9990 | 99.97% | Да, actively exploited | Да |
| CVE-2026-10523 | 9.9 | 0.5187 | 98.86% | Нет | Нет |
| CVE-2023-38035 | 9.8 | 0.9995 | 99.97% | Да, RANSOMWARE | Да |
| CVE-2026-6973 | 7.2 | 0.3445 | 98.27% | Да, actively exploited | Нет |
Паттерн: Ivanti Sentry систематически страдает от проблем аутентификации в administrative API. В 2023 - недостаточно ограничительная конфигурация Apache (CWE-863). В 2026 - альтернативный путь, обходящий аутентификацию (CWE-288). Архитектурно разные CWE, но корневая причина общая: административные API-эндпоинты Sentry не изолированы от неаутентифицированного доступа. Три критических CVE (два auth bypass и один command injection, эксплуатируемый через тот же административный API) за три года в одном компоненте (MICS admin API) - устойчивый паттерн, который вряд ли исчерпал себя.
Три критических auth bypass за три года в одном продукте - и индустрия каждый раз реагирует одинаково: CISA ставит дедлайн, вендор выпускает патч, все бегут обновляться. А через полгода на Shodan висят те же непатченные Sentry на порту 8443.
Проблема глубже: MDM-шлюзы как класс устройств выпадают из стандартного цикла vulnerability management. Они не на радаре SOC, потому что не генерируют endpoint-телеметрию. Они не под контролем IT-ops, потому что управляются мобильной командой. И они стоят на периметре, потому что так написано в deployment guide. Классический blind spot между SOC и mobile team, где можно месяцами оставаться незамеченным.
Я убеждён, что в ближайший год мы увидим волну атак на MDM/UEM-шлюзы - не из-за новых CVE (хотя и это неизбежно), а потому что атакующие этот blind spot уже нащупали. CISA SSVC для CVE-2026-10523 сейчас - «Track» (мониторить), не «Act». С EPSS 0.52 и историей CVE-2023-38035 с ransomware-пометкой - это вопрос недель, не месяцев. Если хочешь отработать разведку и эксплуатацию auth bypass на edge-инфраструктуре - на HackerLab есть лабы с Tomcat-based шлюзами, где подобная цепочка собирается end-to-end.