Иранский исследователь Mohammad Reza Espargham обнаружил уязвимость RCE (remote code execution) в одной из популярнейших утилит для создания архивов — WinRAR. Данной утилитой пользуются порядка 500 миллионов пользователей по всему миру, что делает уязвимость достаточно распространенной.
Уязвимость содержится в недостаточной обработке данных из панели модуля «Text», вкладки «Text to display in SFX window». Атакующий может снабдить sfx архив дополнительной полезной нагрузкой (payload) для атаки на целевую систему. Опасность состоит в том, что пользователь, даже заподозрив и проверив файл антивирусом скорее всего не сможет обнаружить «скрытый сюрприз» во вложении архива.
Уязвимость связана с возможностью модификации самораспаковывающихся архивов (SFX) WinRAR таким образом, чтобы в момент запуска они запускали исполняемый код.
Описание уязвимости достаточно простое: http://seclists.org/fulldisclosure/2015/Sep/106
- Run perl code: perl poc.pl
- Right Click on any file and select «add to archive...»
- Select «Create SFX archive»
- Go to the Advanced Menu and select «SFX options...»
- Go to the «Text and icon» Menu
- Copy this perl output (HTML) and past on «Text to display in SFX window»
- Click OK — OK
- Your SFX file Created
- Just open sfx file
- Your Link Download/Execute on your target
- Successful reproduce of the code execution vulnerability!
Хотя архивы в настоящее время и так являются одним из популярных средств доставки вредоносного кода, и представители WinRAR указали на то, что самораспаковывающийся SFX архив сам по себе достаточно опасен, тем не менее уязвимость такого рода открывает злоумышленникам дополнительные возможности для компрометации информационных систем.
«We can say that limiting SFX module HTML functionality would hurt only those legitimate users, who need all HTML features, making absolutely no problem for a malicious person, who can use previous version SFX modules, custom modules built from UnRAR source code, their own code or archived executables for their purpose. We can only remind users once again to run .exe files, either SFX archives or not, only if they are received from a trustworthy source.»
Пример демонстрации атаки:
Комментарии (49)
InteractiveTechnology
30.09.2015 15:46+8Вектор атаки интересный, если не брать в расчёт, что это sfx-архив, то рендер html без ограничений в кастомный алерт это просто сверх наивности :)
Но и иранский исследователь видно, что применял это уже в корыстных целях судя по POC, который редиректит на удалённый сервер, а там генерит на VB сам payload с шеллкодом =)
P.S.: код правда «индуский»…
grokinn
30.09.2015 16:18+9Но sfx это же и так исполняемый файл, зачем использовать такой вектор атаки если можно просто распространять вирус? Если это попытка обмануть антивирус, то добавить необходимые сигнатуры так же просто как и для обычного вируса.
xforce
30.09.2015 16:23а если тыкнуть правой кнопкой ->открыть как архив эксплойт выполнится? А то тут действительно может просто изменение самого SFX модуля.
Plone
30.09.2015 16:43+17По-моему, «эксплоит» ни о чем. Фича это. Я такой же эксплоит у С++ знаю. Пишешь вирус, компилишь, выкладываешь. Скачиваешь, запускаешь — вуаля!
Любой исполняемый файл может быть вирусом. И не важно, что использовать при его подготовке — ассемблер или RAR.amarao
30.09.2015 17:32+3Поправка, компилировать не обязательно, можно попросить это сделать пользователя.
AlexeyKovyazin
30.09.2015 20:46+2Вредоносные действия тоже можно попросить выполнить пользователя. Талибанский вирус это называется :)
Klaster
03.10.2015 13:30Опасность состоит в том, что пользователь, даже заподозрив и проверив файл антивирусом скорее всего не сможет обнаружить «скрытый сюрприз» во вложении архива.
Plone
05.10.2015 12:32Я повторю свою идею — зачем городить огород с содержимым архива, если вы отдаете пользователю _исполняемый_ архив? Чем такой вариант хуже?
baldr
05.10.2015 13:16Да не хуже — именно так обычно все и делают, еще добавляют иконку WinRAR и вперед. Вы все правильно описали, у меня такой же вопрос сразу возник.
Видимо, просто рассказывается о возможной разновидности атак, когда, например, антивирус распознал самораспаковывающийся архив как архив и полез проверять содержимое, а текст комментария к архиву проигнорировал. Именно к этому привлекается внимание.
Можно пытаться распаковывать exe-архивы правым кликом — извлечь (если открывать папку в WinRAR или 7zip или чем там еще пользуются). Тогда вы можете избежать случайного запуска исполняемого кода. Я не знаю будет ли тогда показываться этот текст (очень возможно что будет) и будет ли работать уязвимость.
amarao
30.09.2015 17:30+6Стоп. Какой «RCE»? RCE, это когда я вашей машине посылаю хитросвёрнутый в бутылку Клейна IP-пакет (или несколько пакетов), а в ответ на это ваша машина принимает позу покорности и начинает меня слушаться.
Как можно что-то послать winrar'у по сети, если он на порту не слушает?
schastny
30.09.2015 17:32+2Да на самом деле помню еще в нулевых было много подобных фишек с прикреплением вредоносного кода к SFX.
dewil
30.09.2015 18:10Планомерно переучиваю окружающих с WinRar на 7zip.
Смысла в Rar не вижу вообще.0xff80ff
30.09.2015 18:47+1У меня 7zip игнорирует настройку папки для временных файлов почему-то, и всегда разворачивает архив на системный раздел, а потом копирует туда, куда надо. Перешел на PeaZip.
baldr
30.09.2015 18:55+2Переучивать надо открывать .exe файлы, скачанные из интернета, что бы там ни обещали. А использовать можете хоть Arj.
r3L4x
30.09.2015 18:56+8Комментарий разработчика: forum.ru-board.com/topic.cgi?forum=5&topic=32358&start=4860#20
nickolaym
30.09.2015 20:54-1Товарищам, которые говорят «это и я могу: написать virus.exe и переименовать в open-me-please.rar.exe»:
вектор атаки чуть более коварный, чем может показаться.
Антивирусы, да и сам винрар, без труда могут проверить целостность архива и отсутствие вредоносного кода в упакованных файлах.
Но хватает ли фантазии антивирусам проверить отсутствие вредоносного кода в тексте приветствия?
Юный гик скачивает какой-нибудь там cool-game-installer.rar.exe, — но он же весь такой опытный, проверяет антивирусом, перед тем, как развернуть. Казалось бы, всё в порядке…
Открывает — но не винраром, а 7зипом (винрар показывает установочный скрипт). Мать мать мать, там вагон файлов, просто распаковать недостаточно, надо устанавливать.
Ну и запускает. И тут внезапно!ValdikSS
30.09.2015 21:33+5Лол. Злоумышленнику никогда ничто не мешало просто заменить стандартный SFX-модуль, добавив в него свою вредоносную функциональность. Это, во-первых, гораздо надежней, а во-вторых, функциональности больше можно добавить.
А антивирусы могут определить вредоносный код в рантайме, те, которые сеть проверяют. Страница же из сети подгружается.
denis_g
30.09.2015 23:40А что, кто-то еще пользуется WinRAR'ом?! У него же триальный режим уже должен был закончиться…
JerleShannara
01.10.2015 01:07Ну ладно, признаюсь, нажрался, увидел свою кредитку, решил открыть архив, а тут эта сволочь всплакнула, что триал экспиред… Проснулся с головой болью и Single User PC License.
Gordon01
01.10.2015 05:28+4Коротко об уязвимости:
«Запуск exe приводит к исполнению кода.»
Увы, но от такого может спасти только шапочка из фольги, новость уровня fishki.ru
egyp7
01.10.2015 07:40+9Автору треда: lukasafonov очевидно матерые хакеры из DefconRu не смогли разобраться в том, что это не эксплоит а рипнутый скрипт кидисами bullshit.
Во-первых, это не уязвимость, а возможности винрара встраивать произвольный HTML код. Во-вторых, данный «эксплоит» это ремейк CVE-2014-6332/MS14-064(декодируем код полезной нагрузки из base64). Proof №1:
github.com/rapid7/metasploit-framework/blob/3347b90db7e6ebc143aa9b4a46ac0da10240db17/modules/exploits/windows/browser/ms14_064_ole_code_execution.rb.
Вот тут очереднойскрипткидисR-73eN заявляет что он и есть настоящий автор этого крутого «эксплоита»: www.darknet.org.uk/2015/10/winrar-vulnerability-is-complete-bullshit/#comment-164931
На самом деле настоящий автор данного вектора — китайский исследователь yuange. Этот RCE для Microsoft Internet Explorer Windows OLE Automation Array он наресерчил еще в 2009 году. Proof №2:
twitter.com/yuange75/status/532407606644457472.
Для тех кто еще не понял в чем суть, попытаюсь объяснить на пальцах:
1) Проблема вовсе не связанна с WinRAR напрямую — это баг OLE компонента MSIE.
2) Уязвимость CVE 2014-6332 работает только на не пропатченных тачках.
3) С таким же успехом можно запилить тонны фуфловых эксплоитов для большинства программ, которые юзают стандартный компонент Web браузера (ПО написанное с использование таких сред как Delphi, Visual C++ Builder и т.п).
LTR;DR.
vitektm
01.10.2015 09:52Я жду опцию в архиваторах скрывать и\или не распаковывать файлы определенных расширений внутри архива.
А то куда чаще трояны упаковывают в zip.
Win-rar'ом не пользовался с верси 3.2, не подскажите может уже есть такие кастомные опции?
HaoZip 3.0 использую, жму в обычный zip (по умолчанию), редко слышу про аброказябры в имени если двойной клик по архиву, а так ни кто не жалуется.
По двойному расширению пишу программку, она уже файлы двойным расширением просто не даст запустить.
Ну и еще различные параметры такие как путь\хеш\дата и т.д.
Ни и конечно пользователям лучше не давать качать\запускать exe из не доверенных источников.
ollisso
01.10.2015 13:52+4Радует одно.
Если ЭТО — самый крупный баг в WinRAR за последние много лет, то WinRAR — очень безопасная программа.
Agel_Nash
Никогда не понимал людей, которые открывают архивы двойным кликом. Лет 15 назад уже были популярны фокусы с подделкой иконки и двойным расширением. Поэтому я все время всем рекомендую открывать и распаковывать архивы только через контекстное меню.
vlreshet
Зачем же 15 лет, до сих пор на вирусных сайтах скачиваются файлы типа «referat_po_angliyskomy.rar.exe» с иконкой winrar. Достаточно просто включить отображения расширений файлов и можно перестать бояться даблклика.
Agel_Nash
Отображение расширений файлов не решает проблему. Тем более, если речь идет о мамах/бабушках и прочих домохозяйках, для которых .exe пустой звук.
KindDragon
Для них и «архив» пустой звук
GoldKeeper
нуну, а вы не забыли про управляющие символы юникода?
создаём файл gpj.exe
ставим пенрвым символом символ юникода RLO
и файл выглядит как exe.jpg
cruzo
Почтовые сервера и антивирусы уже давно понимают, что RLO в имени файла — это вредоносная сущность.
GoldKeeper
ну это не отменяет факта существования
pehat
Я даже не знаю, что большее зло – символ RLO или тот факт, что «exe» – это палиндром.
pehat
А чтобы не ловиться на двойное расширение, просматривать файлы исключительно в FAR.
InteractiveTechnology
и под msdos? )
pehat
FAR 3.0 работает под Windows и даже поддерживает UTF-8.
InteractiveTechnology
pehat я понял, что у меня нет чувства юмора)
Iv38
Да FAR Manager вообще изначально виндовая программа. Консольная, но виндовая.
Duti_Fruti
И даже для x64
stardust_kid
В hex-редакторе.