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

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

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

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

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

Категории

Все категории
Loading categories
mirth-connect-security-poc — Рабочие PoC для трёх уязвимостей NextGen Connect 4.5.2. | Kitploit
Инструменты/GitHubGitHub/abhinavagarwal07/mirth-connect-security-poc
Оборонительные ИнструментыАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВиртуализация для безопасностиТестирование на ПроникновениеОбучение и Образование
GitHubabhinavagarwal07/mirth-connect-security-poc

Популярное

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

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

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

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

Смотреть все инструменты →

mirth-connect-security-poc

Рабочие PoC для трёх уязвимостей NextGen Connect 4.5.2.

Репозиторий
51 день назадЕщё не проверено
Поделиться

Эксплойты для уязвимостей NextGen Connect 4.5.2

Рабочие proof-of-concept эксплойты для трёх сетевых уязвимостей в NextGen Connect (Mirth Connect) 4.5.2. Стенды запускают официальный контейнерный образ, создают только ту конфигурацию канала, которая нужна для находки, выполняют атаку из отдельного контейнера и завершаются неудачей, если заявленный эффект безопасности не наблюдается.

В этом обзоре использовалась публичная методология Refute-or-Promote и её open-source оркестрационный плейбук. Метод разделяет генерацию кандидатов и состязательный обзор в свежем контексте и требует эмпирического доказательства перед продвижением. Уязвимый исходный код 4.5.2 и метод обзора оба публичны: любой, у кого есть обычный доступ к модели, исходники и возможность безопасно проверить в лаборатории, может применить тот же процесс и мог бы найти эти классы ошибок независимо. Конфиденциальность вокруг одного отчёта не делает лежащую в основе способность к обзору приватной.

Это реальные эксплойты, а не модульные тесты парсера. Они извлекают живой хеш пароля через SQL-инъекцию, эксфильтруют содержимое локальных файлов цели через два различных неаутентифицированных XML-пути и блокируют операции на базе встроенного Derby до перезапуска.

CVEНаходкаАтакующийПродемонстрированное воздействиеCVSS 3.1 / 4.0PoC
CVE-2026-82583Инъекция в _getTables selectLimitАутентифицированный пользователь APIЭкспорт таблицы паролей в публичный веб-корень; зависание встроенного Derby до перезапуска8.3 / 7.2sql-selectlimit-injection/
CVE-2026-78224XXE в XSLT StepНеаутентифицированный клиент каналаOOB-чтение локального файла цели; DoS через медленную сущность в канале8.2 / 8.8xslt-step-xxe/
CVE-2026-82578XXE в XML Batch AdaptorНеаутентифицированный клиент каналаOOB-чтение локального файла цели7.5 / 8.7xml-batch-xxe/

CVSS 3.1 и 4.0 — это разные стандарты; парные оценки не являются сравнением «до и после».

Все три были воспроизведены на:

root@kitploit:~
nextgenhealthcare/connect:4.5.2
sha256:4afa295cfe7c5ffd596efee69594157fea87202e33d66bb4a98a52db4598f836

NextGen приватно сообщила, что проблема XSLT была исправлена в 4.7.1, а проблемы SQL-инъекции и XML Batch — в 4.7.2. Рекомендация CISA ICSMA-26-253-01 считает 4.7.1 и более ранние версии уязвимыми и рекомендует 4.7.2 или более позднюю. Релизы после 4.5 являются проприетарными, поэтому нет публичного исправленного образа, из которого этот репозиторий мог бы предоставить такой же воспроизводимый негативный контроль, как для патч-релиза с открытым исходным кодом.

Что получает атакующий

CVE-2026-82583: раскрытие базы данных и секретов интеграции

Аутентифицированное закрепление в административном API превращается в доступ к данным, которые учётная запись не должна была экспортировать. Упакованный эксплойт записывает живую строку PERSON_PASSWORD под public_html и доказывает, что полученный файл можно скачать без аутентификации. Важен шаг перехода от ограниченного действия API к файлу на диске, который больше вообще не требует сессии атакующего.

В реальной среде интеграции база данных может описывать каналы, конечные точки и учётные данные, используемые для доступа к базам данных, SFTP-серверам, почтовым реле, API и другим клиническим системам. Отдельный контролируемый тест восстановил намеренно внедрённый пароль коннектора из экспортированного XML канала. Это делает примитив полезным для картирования среды и кражи секретов; использование любого восстановленного учётного данных против нижестоящей системы не тестировалось и не заявляется.

Опциональная ветвь отказа в обслуживании замораживает встроенную базу данных Derby. API-вызовы на базе БД затем истекают по таймауту, та же инъекция не может разморозить собственную точку входа, и требуется перезапуск процесса. Это практическая нагрузка на восстановление для установок на базе Derby, а не доказательство того, что внешние производственные базы данных ведут себя так же.

CVE-2026-78224: неаутентифицированное раскрытие серверных файлов и прерывание канала

После развёртывания уязвимого XSLT-канала атакующему не нужна учётная запись Mirth. Входящий XML заставляет сервис прочитать локальный файл цели и отправить его содержимое на контролируемый атакующим callback. Это полезно даже когда обычный ответ канала не содержит преобразованных данных и атакующий не может прочитать историю сообщений.

Автономный клиент принимает выбранный вызывающим однострочный file: URI. Файлы, такие как идентификаторы хоста, токены, фрагменты конфигурации или учётные данные, практически ценны, если учётная запись службы Mirth может их прочитать и сервер может достичь callback. Упакованное доказательство использует только сгенерированный канарейку и не заявляет универсальное восстановление произвольных файлов, многострочную передачу или доступ за пределами учётной записи службы.

Медленная внешняя сущность также занимает стандартный однопоточный канал-жертву. Это может задержать или остановить конкретный клинический интерфейс, привязанный к этому каналу, пока сущность не будет освобождена. Контрольный канал и административный API остаются работоспособными, так что это локальное для канала нарушение, а не отказ всего сервера.

CVE-2026-82578: слепая эксфильтрация файлов через пакетный ввод

Когда включён уязвимый режим XML batch, неаутентифицированный отправитель может использовать сырое тело пакета, чтобы вызвать такой же тип исходящего раскрытия файлов. Сервер возвращает HTTP 500, но атакующий уже получил содержимое файла, доступного только цели, через OOB callback. Это делает уязвимость практически полезной как слепой путь эксфильтрации даже когда тестирование только по коду ответа отбросило бы запрос как сбой парсера.

Пакетная обработка отключена по умолчанию, режим разделения должен достичь парсера на базе XPath, и требуется исходящий трафик сервера. Этот репозиторий не заявляет продемонстрированный отказ в обслуживании для CVE-2026-82578.

Запуск

Требования: Bash, Docker, x86-64 Linux и сетевой доступ для первоначального скачивания образа. Оба образа закреплены по дайджесту. Порт хоста не публикуется; цель и атакующий взаимодействуют только через внутренний Docker-мост, специфичный для задачи.

root@kitploit:~
./run-all.sh

Или запустите одну находку:

root@kitploit:~
./sql-selectlimit-injection/poc/run.sh
./xslt-step-xxe/poc/run.sh
./xml-batch-xxe/poc/run.sh

Каждый вызов создаёт контейнеры с уникальными именами и мостовую сеть, записывает evidence/current-run.log и удаляет свои лабораторные ресурсы при выходе. Закоммиченные файлы evidence/vulnerable-4.5.2.log — это транскрипты воспроизведения на x86-64 Linux.

Что заявляется, а что нет

  • SQL-инъекция продемонстрирована через реальную точку входа REST и встроенную базу данных Derby. PoC экспортирует живую строку PERSON_PASSWORD и извлекает файл без аутентификации. Его опциональная лабораторная ветвь вызывает SYSCS_FREEZE_DATABASE, после чего API-вызовы на базе БД перестают отвечать до перезапуска цели.
  • PoC для XSLT использует фиксированное, установленное администратором тождественное преобразование. Атакующий контролирует только неаутентифицированное входящее сообщение. Содержимое файла возвращается через callback внешнего DTD. Его автономный клиент принимает локальный для цели однострочный file: URI; лабораторная обёртка использует случайную канарейку и точную проверку. Тот же запуск доказывает недоступность канала локально при работоспособном втором канале и admin API, затем проверяет восстановление.
  • PoC для XML Batch включает обычный режим пакетной обработки XML Element Name продукта. Атакующий контролирует только неаутентифицированное тело пакета. Его автономный клиент имеет тот же режим --file-uri и то же ограничение однострочного OOB.
  • Ни один нижестоящий медицинский продукт, запись пациента или сторонняя система не тестировались. Упоминания возможных PHI или нижестоящих учётных данных описывают последствия развёртывания, а не дополнительные продемонстрированные жертвы.
  • Кандидат на путь экспорта в исследовательском чекауте намеренно отсутствует. API предназначен для серверного экспорта, и предоставленный материал не доказал переносимого нарушения границы привилегий или полной цепочки выполнения кода.

Безопасность

Запускайте только в одноразовой лаборатории, которой вы владеете. SQL PoC намеренно замораживает целевую базу данных; восстановление требует перезапуска цели. XXE PoC по умолчанию читают смонтированную канарейку, но их автономные клиенты принимают произвольные URL слушателей и однострочные локальные для цели file URI. Никогда не направляйте их на системы без авторизации.

Митигация

Согласно CISA, обновитесь до Connect 4.7.2 или более поздней версии. Там, где немедленное обновление невозможно, ограничьте административный API доверенными сетями управления, удалите ненужные шаги XSLT, отключите пакетную обработку XML там, где она не требуется, и заблокируйте ненужный исходящий трафик сервера. Эти меры снижают экспозицию, но не исправляют уязвимый код.

Благодарности

Находки 1 и 3 следует приписать Abhinav Agarwal. Находка 2 была независимо обнаружена Abhinav Agarwal и впервые сообщена NextGen компанией Youngdu. NextGen координировала исправления и присвоение CVE.

Предполагаемое защитное использование

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

  • определить, присутствует ли публичное поведение 4.5.2, и понять точные предварительные условия конфигурации;
  • проверить, что средства управления плоскостью управления не позволяют недоверенным учётным записям достичь операции Database Connector;
  • подтвердить, что фильтрация исходящего трафика блокирует протестированный путь callback XXE;
  • построить детектирование для подозрительных запросов _getTables, неожиданного экспорта Derby или процедур заморозки, новых файлов под public_html, входящего XML, содержащего DOCTYPE, и callback, исходящих от Mirth, после ошибок слушателя;
  • приоритизировать ротацию учётных данных коннектора, когда уязвимая административная плоскость могла быть скомпрометирована; и
  • повторно запустить те же проверки против исправленной сборки от вендора в качестве локального негативного контроля, даже несмотря на то, что эта сборка не может быть распространена здесь.

Каждый PoC работает в контейнере, закрепляет свои образы по дайджесту и отказывает закрыто, если случайная канарейка не возвращается. Защитник может воспроизвести фактическую границу безопасности, а не принимать скриншот или число серьёзности на веру. Он существует, чтобы помочь людям узнать, что они запускают, протестировать это и подтвердить, что патч сработал. Он не для того, чтобы его направляли на больницу.

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