image

Иранский исследователь 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

  1. Run perl code: perl poc.pl
  2. Right Click on any file and select «add to archive...»
  3. Select «Create SFX archive»
  4. Go to the Advanced Menu and select «SFX options...»
  5. Go to the «Text and icon» Menu
  6. Copy this perl output (HTML) and past on «Text to display in SFX window»
  7. Click OK — OK
  8. Your SFX file Created
  9. Just open sfx file
  10. Your Link Download/Execute on your target
  11. Successful reproduce of the code execution vulnerability!


image

Хотя архивы в настоящее время и так являются одним из популярных средств доставки вредоносного кода, и представители 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)


  1. Agel_Nash
    30.09.2015 15:36
    -6

    Никогда не понимал людей, которые открывают архивы двойным кликом. Лет 15 назад уже были популярны фокусы с подделкой иконки и двойным расширением. Поэтому я все время всем рекомендую открывать и распаковывать архивы только через контекстное меню.


    1. vlreshet
      30.09.2015 15:45
      +10

      Зачем же 15 лет, до сих пор на вирусных сайтах скачиваются файлы типа «referat_po_angliyskomy.rar.exe» с иконкой winrar. Достаточно просто включить отображения расширений файлов и можно перестать бояться даблклика.


      1. Agel_Nash
        30.09.2015 16:12
        +4

        Отображение расширений файлов не решает проблему. Тем более, если речь идет о мамах/бабушках и прочих домохозяйках, для которых .exe пустой звук.


        1. KindDragon
          30.09.2015 17:39
          +5

          Для них и «архив» пустой звук


      1. GoldKeeper
        30.09.2015 16:43
        +2

        нуну, а вы не забыли про управляющие символы юникода?
        создаём файл gpj.exe
        ставим пенрвым символом символ юникода RLO
        и файл выглядит как exe.jpg


        1. cruzo
          30.09.2015 16:49
          +1

          Почтовые сервера и антивирусы уже давно понимают, что RLO в имени файла — это вредоносная сущность.


          1. GoldKeeper
            30.09.2015 16:51

            ну это не отменяет факта существования


        1. pehat
          30.09.2015 17:37
          +4

          Я даже не знаю, что большее зло – символ RLO или тот факт, что «exe» – это палиндром.


    1. pehat
      30.09.2015 15:59
      +5

      А чтобы не ловиться на двойное расширение, просматривать файлы исключительно в FAR.


      1. InteractiveTechnology
        30.09.2015 16:05
        +2

        и под msdos? )


        1. pehat
          30.09.2015 16:07
          +5

          FAR 3.0 работает под Windows и даже поддерживает UTF-8.


          1. InteractiveTechnology
            30.09.2015 16:54
            +7

            pehat я понял, что у меня нет чувства юмора)


          1. Iv38
            30.09.2015 18:06
            +2

            Да FAR Manager вообще изначально виндовая программа. Консольная, но виндовая.


        1. Duti_Fruti
          30.09.2015 16:42
          +2

          И даже для x64


      1. stardust_kid
        30.09.2015 17:14
        +1

        В hex-редакторе.


  1. InteractiveTechnology
    30.09.2015 15:46
    +8

    Вектор атаки интересный, если не брать в расчёт, что это sfx-архив, то рендер html без ограничений в кастомный алерт это просто сверх наивности :)
    Но и иранский исследователь видно, что применял это уже в корыстных целях судя по POC, который редиректит на удалённый сервер, а там генерит на VB сам payload с шеллкодом =)
    P.S.: код правда «индуский»…


  1. grokinn
    30.09.2015 16:18
    +9

    Но sfx это же и так исполняемый файл, зачем использовать такой вектор атаки если можно просто распространять вирус? Если это попытка обмануть антивирус, то добавить необходимые сигнатуры так же просто как и для обычного вируса.


  1. xforce
    30.09.2015 16:23

    а если тыкнуть правой кнопкой ->открыть как архив эксплойт выполнится? А то тут действительно может просто изменение самого SFX модуля.


  1. Plone
    30.09.2015 16:43
    +17

    По-моему, «эксплоит» ни о чем. Фича это. Я такой же эксплоит у С++ знаю. Пишешь вирус, компилишь, выкладываешь. Скачиваешь, запускаешь — вуаля!
    Любой исполняемый файл может быть вирусом. И не важно, что использовать при его подготовке — ассемблер или RAR.


    1. amarao
      30.09.2015 17:32
      +3

      Поправка, компилировать не обязательно, можно попросить это сделать пользователя.


      1. AlexeyKovyazin
        30.09.2015 20:46
        +2

        Вредоносные действия тоже можно попросить выполнить пользователя. Талибанский вирус это называется :)


      1. pehat
        01.10.2015 00:30

        Ну это уже GNU получается.


    1. Klaster
      03.10.2015 13:30

      Опасность состоит в том, что пользователь, даже заподозрив и проверив файл антивирусом скорее всего не сможет обнаружить «скрытый сюрприз» во вложении архива.


      1. mayorovp
        03.10.2015 15:11

        Что мешает антивирусу выругаться на HTML-страницу в архиве?


        1. Klaster
          03.10.2015 18:26

          Я не знаю, но что то мешает, в этом соль статьи как я понимаю. Или нет?


      1. Plone
        05.10.2015 12:32

        Я повторю свою идею — зачем городить огород с содержимым архива, если вы отдаете пользователю _исполняемый_ архив? Чем такой вариант хуже?


        1. baldr
          05.10.2015 13:16

          Да не хуже — именно так обычно все и делают, еще добавляют иконку WinRAR и вперед. Вы все правильно описали, у меня такой же вопрос сразу возник.
          Видимо, просто рассказывается о возможной разновидности атак, когда, например, антивирус распознал самораспаковывающийся архив как архив и полез проверять содержимое, а текст комментария к архиву проигнорировал. Именно к этому привлекается внимание.
          Можно пытаться распаковывать exe-архивы правым кликом — извлечь (если открывать папку в WinRAR или 7zip или чем там еще пользуются). Тогда вы можете избежать случайного запуска исполняемого кода. Я не знаю будет ли тогда показываться этот текст (очень возможно что будет) и будет ли работать уязвимость.


  1. amarao
    30.09.2015 17:30
    +6

    Стоп. Какой «RCE»? RCE, это когда я вашей машине посылаю хитросвёрнутый в бутылку Клейна IP-пакет (или несколько пакетов), а в ответ на это ваша машина принимает позу покорности и начинает меня слушаться.

    Как можно что-то послать winrar'у по сети, если он на порту не слушает?


    1. vanxant
      30.09.2015 19:49
      +4

      Через LFTP.
      (lamer file transfer protocol).
      Хотя винрар тут не нужен.


  1. schastny
    30.09.2015 17:32
    +2

    Да на самом деле помню еще в нулевых было много подобных фишек с прикреплением вредоносного кода к SFX.


  1. dewil
    30.09.2015 18:10

    Планомерно переучиваю окружающих с WinRar на 7zip.
    Смысла в Rar не вижу вообще.


    1. 0xff80ff
      30.09.2015 18:47
      +1

      У меня 7zip игнорирует настройку папки для временных файлов почему-то, и всегда разворачивает архив на системный раздел, а потом копирует туда, куда надо. Перешел на PeaZip.


    1. baldr
      30.09.2015 18:55
      +2

      Переучивать надо открывать .exe файлы, скачанные из интернета, что бы там ни обещали. А использовать можете хоть Arj.


    1. Klaster
      03.10.2015 18:31

      У меня винрар где то вдвое быстрее распаковывает большие файлы.


      1. vlivyur
        05.10.2015 11:52

        И жмёт чаще всего быстрее, но всё равно он денег просит.


  1. r3L4x
    30.09.2015 18:56
    +8

    Комментарий разработчика: forum.ru-board.com/topic.cgi?forum=5&topic=32358&start=4860#20


  1. nickolaym
    30.09.2015 20:54
    -1

    Товарищам, которые говорят «это и я могу: написать virus.exe и переименовать в open-me-please.rar.exe»:
    вектор атаки чуть более коварный, чем может показаться.

    Антивирусы, да и сам винрар, без труда могут проверить целостность архива и отсутствие вредоносного кода в упакованных файлах.
    Но хватает ли фантазии антивирусам проверить отсутствие вредоносного кода в тексте приветствия?

    Юный гик скачивает какой-нибудь там cool-game-installer.rar.exe, — но он же весь такой опытный, проверяет антивирусом, перед тем, как развернуть. Казалось бы, всё в порядке…
    Открывает — но не винраром, а 7зипом (винрар показывает установочный скрипт). Мать мать мать, там вагон файлов, просто распаковать недостаточно, надо устанавливать.
    Ну и запускает. И тут внезапно!


    1. ValdikSS
      30.09.2015 21:33
      +5

      Лол. Злоумышленнику никогда ничто не мешало просто заменить стандартный SFX-модуль, добавив в него свою вредоносную функциональность. Это, во-первых, гораздо надежней, а во-вторых, функциональности больше можно добавить.

      А антивирусы могут определить вредоносный код в рантайме, те, которые сеть проверяют. Страница же из сети подгружается.


  1. denis_g
    30.09.2015 23:40

    А что, кто-то еще пользуется WinRAR'ом?! У него же триальный режим уже должен был закончиться…


    1. JerleShannara
      01.10.2015 01:07

      Ну ладно, признаюсь, нажрался, увидел свою кредитку, решил открыть архив, а тут эта сволочь всплакнула, что триал экспиред… Проснулся с головой болью и Single User PC License.


    1. dMetrius
      01.10.2015 08:20

      У меня уже давно лицензия.


  1. Gordon01
    01.10.2015 05:28
    +4

    Коротко об уязвимости:
    «Запуск exe приводит к исполнению кода.»
    Увы, но от такого может спасти только шапочка из фольги, новость уровня fishki.ru


  1. 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.


  1. vitektm
    01.10.2015 09:52

    Я жду опцию в архиваторах скрывать и\или не распаковывать файлы определенных расширений внутри архива.
    А то куда чаще трояны упаковывают в zip.
    Win-rar'ом не пользовался с верси 3.2, не подскажите может уже есть такие кастомные опции?

    HaoZip 3.0 использую, жму в обычный zip (по умолчанию), редко слышу про аброказябры в имени если двойной клик по архиву, а так ни кто не жалуется.

    По двойному расширению пишу программку, она уже файлы двойным расширением просто не даст запустить.
    Ну и еще различные параметры такие как путь\хеш\дата и т.д.

    Ни и конечно пользователям лучше не давать качать\запускать exe из не доверенных источников.


  1. ollisso
    01.10.2015 13:52
    +4

    Радует одно.

    Если ЭТО — самый крупный баг в WinRAR за последние много лет, то WinRAR — очень безопасная программа.


  1. vah13
    02.10.2015 10:06
    +1

    новый вид уязвимости, можно на блэкхат поехать — self RCE


  1. neko_nya
    03.10.2015 12:28

    А зачем вообще пользоваться винраром, а точнее, форматом .rar?


    1. baldr
      03.10.2015 14:17

      Например для того, чтобы распаковать архив .rar


      1. REU
        05.10.2015 10:39
        +2

        7z тоже распаковывает.