F
fallen6601
В феврале 2019-го года специалисты Check Point обнародовали уязвимость, благодаря которому можно распаковать вредоносный файл в произвольное место на жестком диске, игнорируя в обход фактические пути для распаковки WinRAR-архива. Уязвимость в архиваторе угрожала всем пользователям на протяжении 19 лет. В оригинальном видеоотчете для демонстрации уязвимости мы видим, что архив находиться на рабочем столе, пользователь пробует распаковать его туда же, но вместо этого файл попадает в директорию автозапуска и теперь при запуске системы программа запуститься автоматически.
Как оказалось, проблема связана с библиотекой UNACEV2.DLL, которая входила в состав практически всех версий архиватора. Эта библиотека не обновлялась с 2006 года и отвечала за распаковку архивов формата ACE. На момент обнаружения бага у разработчиков WinRAR не было доступа к исходному коду сторонней библиотеки.
Проблему нашли при попытке автоматического тестирования архиватора WinACE - оригинальной программы для архивации в формат ACE. Исследователи обнаружили файл, сохраненный вообще не туда, куда должен был сохраниться файл. Далее немного модифицированный трюк применили на WinRAR.
С момента публикации уязвимости было разработано множество эскплойтов для создания зловредного архива. Все они почти ничем не отличаются друг от друга. Давайте рассмотрим один из эксплойтов в действии. В первую очередь нам понадобиться естественно сам вредонос - вместо трояна, можно взять любой файл, например программу-калькулятор calc.exe. Я для примера эксплуатирую стиллер Azorult, который привязан к моему C2-серверу с веб-панелью. В случае успешного попадания трояна в папку Startup и последующего запуска после перезагрузки системы я получу на своем сервере все пароли от заражённого компьютера. И второе, что необходимо это Python версии 3.7 - он нам необходим для генерации evil-архива. В моем случае в Kali Linux необходимо прописать команду
apt install python3.7
.Скачиваем эксплойт с Гитхаба командой
git clone https://github.com/WyAtu/CVE-2018-20250
Далее открываем файл exp.py в любом текстовом редакторе. Все, что необходимо это изменить вот эти параметры:
- rar_filename отвечает за название предстоящего архива,
- evil_filename - тут нужно указать название вредоносного файла, в моем случае это троян Azorult, который я уже поместил в папку с эксплойтом.
- target_filename отвечает за путь куда будет распакован вредонос, после указания директорий необходимо еще и прописать название вредоносного файла
- параметр filename_list нужен для указания самих файлов, которые якобы хочет разархивировать жертва. Файлы должны быть в папке с эксплойтом.
Сохраням эксплойт и выполняем его командой python3 exp.py. Лично в моем случае, появилась следующая ошибка.
Дело в том, что в файле exp.py имеется команда py, которая отвечает за запуск связанного скрипта acefile. py не является командой для запуска скрипта в Linux, поэтому заменяем значение на python3.
Снова пробуем запустить. Видим, что зловредный архив создался. Проверим работоспособность на Винде.
В случае, если жертва распакует архив, то зловред попадет в Автозапуск, а другие файлы указанные в параметре filename_list в директорию с архивом. После перезарузки троян запуститься автоматически и похитит все сохраненные пароли. Данная техника с распаковкой вредоноса в папку Автозагрузки в первые дни сразу же были реализованы на реальных массовых атаках.
Атака не сработает в двух случаях: 1-ое - это если предполагаемая жертва откроет архив и просто перенесет файлы куда ему необходимо, и 2-е - если просто напросто системным диском будет является не диск C, а например диск D.
Дыра исправлена версией 5.70. Для обновления нужно скачать инсталятор т.к. автоматическое обновление утилита не предоставляет. Как известно уязвимости были подвержены около полумиллиарда пользователей. Вы можете прямо сейчас проверить какая у вас версия - с большой долей вероятностью программа уязвима. Стоит обновиться до версии 5.70.
Видеоверсия:
1.
Ссылка скрыта от гостей
(отчет от Checkpoint)2. Security Week 09: 19-летняя уязвимость в WinRAR (Kaspersky_Lab )
3. Ящик Пандоры: разбираем эксплуатацию уязвимости WinRAR на примере задания NeoQUEST-2019
Последнее редактирование модератором: