
PoC для CVE-2024-23997
Доказательство концепции (PoC) для уязвимости CVE-2024-23997.
cf) Прокси-сервер, особенно веб-прокси, выступает в качестве посредника в веб-коммуникации, получая и перенаправляя запросы и ответы от имени других. Таким образом, независимо от используемого порта YANA, прокси может перехватывать передачу данных. Хотя прокси используются для безопасности или ускорения поиска за счет кэширования, многие вредоносные программы используют их для подслушивания веб-коммуникаций пользователей.
Рассмотрим пример с использованием YANA. Я установил Burp Suite, прокси-инструмент, действующий как вредоносное ПО, на Windows 10 для создания учебной среды. Burp Suite — это инструмент диагностики сетевой безопасности от PortSwigger, его сообщественная версия доступна бесплатно. Если вы хотите повторить этот пример, обратите внимание, что для практики потребуется изменить настройки сети, поэтому необходимо будет их восстановить.
Шаг 1) Настоящее вредоносное ПО не меняет настройки Интернета, а прослушивает пакеты с помощью Windows API, Linux API и т.д. Однако из-за сложности эти опции активируются вручную. Нажмите клавишу Windows и найдите «Свойства браузера» (Internet Options).
Шаг 2) Перейдите на вкладку «Подключения» и нажмите кнопку «Настройка сети» (LAN settings).
Шаг 3) Отметьте «Использовать прокси-сервер для локальной сети» и нажмите кнопку «Дополнительно» (Advanced). Чтобы восстановить настройки, просто снимите эту отметку.
Шаг 4) Измените содержимое HTTP в разделе «Серверы» на «127.0.0.1», «8080», а в поле «Исключения» укажите «<-loopback>» и нажмите кнопки ОК для сохранения.
Шаг 5) Откройте Burp Suite.
Шаг 6) Поскольку мы только проверяем, отметьте «Временный проект в памяти» и нажмите кнопку «Далее».
Шаг 7) Выберите «Использовать настройки Burp по умолчанию» и нажмите кнопку «Запустить Burp».
Шаг 8) Перейдите на вкладку «Proxy», затем нажмите «Proxy settings», чтобы проверить, установлен ли прокси на 127.0.0.1:8080 в разделе «Proxy listeners» и убедиться, что отмечено «Running». Также перейдите к «Response interception rules» в разделе «Proxy listeners» и отметьте «Intercept response based on the following rules». При закрытии окна настроек параметры применяются автоматически.
Шаг 9) Перейдите на вкладку «Intercept» в разделе «Proxy» и убедитесь, что «Intercept is on», затем откройте Yana. Когда перехват включен, все HTTP/HTTPS-коммуникации удерживаются и не отправляются другой стороне, пока не будет отключен перехват или нажата кнопка «Forward».
Шаг 10) Нажимая кнопку «Forward», ищите HTML-ответы среди ответов, полученных от фонового сервера Yana. Их легко отличить, так как тег title HTML-документа содержит Yana.
Шаг 11) Вставьте JS-код (“<script>require('child_process').exec('C:/Windows/System32/calc.exe')</script>”) с помощью тега script под тегом body HTML.
Шаг 12) Затем отключите «Intercept is on», и программа Yana Electron получит пакеты и выполнит скрипт, запустив программу «Калькулятор».
Шаг 13) После завершения практики перейдите в «Свойства браузера» (Internet Options) и отключите использование прокси-сервера.
Это связано с тем, что в Yana включена опция nodeIntegration. Даже если эта опция отключена, выполнение кода Node.js из HTML становится возможным с помощью различных других методов. Если код выполняется с правами Yana, а Yana работает с правами администратора или root, внедренный вредоносный код может выполняться с этими правами. Поэтому, как упоминалось ранее, безопаснее получать и отображать HTML-страницы с использованием таких протоколов, как File protocol, которые сложнее перехватить при межпрограммном общении, вместо использования протокола HTTP.