
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 запустит командную строку и свернёт её в фоновый режим, что позволит атакующему установить бэкдор-соединение.