Статья WinRAR Path Traversal уязвимость. Создаём Evil архив

Здравствуйте, сегодня вы узнаете, как создать архив эксплуатируя уязвимость Path Traversal архиватора WinRAR до версии 5.61 включительно. Данная уязвимость получила идентификаторы CVE-2018-20250, CVE-2018-20251, CVE-2018-20252 и CVE-2018-20253.
Кому интересны детали, могут почитать эту статью:

Уязвимость позволяет принудительно поместить файл по указанному пути. Для успешной атаки злоумышленнику потребуется просто убедить жертву распаковать вредоносный архив с помощью WinRAR.

Для работы нам понадобится python3. Качаем архив (прикреплён к статье), распаковываем.
Далее нас интересует winrar_exp.py

27862


Мы можем изменять значения rar_filename, evil_filename, target_filename, filename_list

rar_filename - имя результатирующего rar архива
evil_filename - имя файла (полезная нагрузка), который мы будем помещать в нужную нам папку благодаря уязвимости
target_filename - путь, куда будет помещён наш evil_file (полезная нагрузка)
filename_list - список файлов, которые будут помещены в архив обычным способом

Замечание: target_filename в примере есть относительным путём до папки автозагрузки. Есть две папку автозагрузки, одна глобальная для всех пользователей и автозагрузка для конкретного пользователя. Если мы будем пытаться записать файл в глобальную, UAC начнёт спрашивать разрешения на это действие, поэтому нам нужна папка для текущего пользователя. Так как скорее всего мы не знаем имя пользователя, можно надеяться что жертва распакует архив на рабочий стол, или в папку загрузки. Указанный выше путь справедлив относительно них. Если же вы знаете имя пользователя, можно использовать абсолютный путь:
Код:
C:\C:C:\Users\<user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
После того, как вы отредактировали скрипт под себя, запускаем его
Код:
python3 winrar_exp.py
Скриншоты, демонстрирующие работу:

1. Работа скрипта:

27868


2. Сам архив:

27869


3. Результат распаковки:

27870


27871


Всем спасибо за внимание, удачи.
 

Вложения

Добрый день. Подскажите, а как дела обстоят с детектом на почтовых серверах?
 
почему то выдает ошибку при компиляции
 
почему то выдает ошибку при компиляции
Укажите пожалуйста лог ошибок. Прикрепляю работающий скрипт, может у того что в архиве, опечатка. Для правильной работы необходим python 3 версии. Обратите внимание на строку №50
Python:
p = os.popen('python3 acefile.py --headers %s'%(filename))
Она может быть ОС-зависимой, например, у вас возможно должна выглядеть так:
Python:
p = os.popen('py acefile.py --headers %s'%(filename))
 

Вложения

Добрый день. Подскажите, а как дела обстоят с детектом на почтовых серверах?
Если вредоносный архив запаковать в ещё один архив под пароль, то гугл не палит вирусню.
Не предпринимая никаких действий, получим следующее:
28235
 
главное показан рабочий метод, теперь осталось повторить, но с более свежими уязвимостями
другой вопрос если этот архив скомпилировать в инсталлятор, как обычно делают разработчики своего ПО, на него так же АВ будут верещать,
хотя может кто знает какие сигны в самом архиве хексредактором поправить, чтоб обходить антивири?
 
работает на всех версиях .(5.90/91)


атака через архиватор 7zip


p.s оригинал статьи (не реклама ) если кому интересно
495-1.gif
 
  • Нравится
Реакции: kot-gor, mrtyrel и Vertigo
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!