В январе 2019 года мы зафиксировали резкий рост числа обнаружений вредоносных почтовых вложений JavaScript (в 2018 году данный вектор атаки использовался минимально). В «новогоднем выпуске» можно выделить рассылку на русском языке, предназначенную для распространения шифратора Shade (он же Troldesh), который детектируется продуктами ESET как Win32/Filecoder.Shade.

Похоже, что эта атака продолжает спам-кампанию по распространению шифратора Shade, обнаруженную в октябре 2018 года.



Новая кампания Shade


По данным нашей телеметрии, октябрьская кампания шла в постоянном темпе до второй половины декабря 2018 года. Далее последовал перерыв на Рождество, а затем в середине января 2019 года активность кампании удвоилась (см. график ниже). Падения на графике, соответствующие выходным дням, говорят о том, что атакующие предпочитают корпоративные адреса электронной почты.


Рисунок 1. Детектирование вредоносных вложений JavaScript, распространяющих Win32/Filecoder.Shade с октября 2018 года

Как упоминалось ранее, кампания иллюстрирует тренд, который мы наблюдаем с начала 2019 года, – возвращение вредоносных JavaScript-вложений в качестве вектора атаки. Динамика отображена на графике ниже.


Рисунок 2. Обнаружение вредоносных JavaScript, распространяемых во вложениях электронной почты с 2018 года. Вложения детектируются ESET как JS/Danger.ScriptAttachment

Стоит отметить, что кампания по распространению шифратора Shade наиболее активна в России, на которую приходится 52% от общего числа обнаружений вредоносных вложений JavaScript. В числе прочих пострадавших – Украина, Франция, Германия и Япония, как показано ниже.


Рисунок 3. Число обнаружений вредоносных JavaScript-вложений, распространяющих Win32/Filecoder.Shade. Данные с 1 по 24 января 2019 года

Согласно нашему анализу, типичная атака январской кампании начинается с получения жертвой письма на русском языке с ZIP-архивом info.zip или inf.zip во вложении.

Письма маскируются под официальные запросы легитимных российских компаний. Мы видели рассылку от лица «Бинбанк» (с 2019 года объединен с банком «Открытие») и розничной сети «Магнит». Текст на рисунке ниже.


Рисунок 4. Образец спам-рассылки, используемой в январской кампании

В ZIP-архиве находится JavaScript-файл под названием «Информация.js». После извлечения и запуска файл скачивает вредоносный загрузчик, детектируемый продуктами ESET как Win32/Injector. Загрузчик расшифровывает и запускает финальную полезную нагрузку – шифратор Shade.

Вредоносный загрузчик скачивается с URL-адреса скомпрометированных легитимных сайтов WordPress, где маскируется под изображение. Для компрометации страниц WordPress атакующие используют массовую автоматизированную брутфорс-атаку с использованием ботов. Наша телеметрия фиксирует сотни URL, по которым хостится вредоносный загрузчик, все адреса заканчиваются строкой ssj.jpg.

Загрузчик подписан недействительной цифровой подписью, которая, как утверждается, выдана Comodo. Значение поля Signer information и временная метка уникальны для каждого образца.


Рисунок 5. Поддельная цифровая подпись, используемая вредоносным загрузчиком

Кроме того, загрузчик пытается маскироваться, выдавая себя за легитимный системный процесс Client Server Runtime Process (csrss.exe). Он копирует себя в C:\ProgramData\Windows\csrss.exе, где Windows – скрытая папка, созданная загрузчиком; обычно в ProgramData этой папки нет.


Рисунок 6. Вредоносное ПО, представляющее собой системный процесс и использующий сведения о версии, скопированные из легитимного бинарного файла Windows Server 2012 R2

Шифратор Shade


Финальная полезная нагрузка – шифратор Shade (Troldesh). Впервые он был обнаружен in the wild в конце 2014 года, с тех пор неоднократно обновлялся. Shade шифрует широкий спектр файлов на локальных дисков. В новой кампании он добавляет к зашифрованным файлам расширение .crypted000007.

Жертва получает инструкции по оплате на русском и английском языках в ТХТ-файле, сохраняемом на зараженном компьютере. Текст такой же, как в прошлой кампании в октябре 2018 года.


Рисунок 7. Требования выкупа Shade, январь 2019

Индикаторы компрометации


Примеры хешей вредоносных ZIP-вложений
0A76B1761EFB5AE9B70AF7850EFB77C740C26F82
D072C6C25FEDB2DDF5582FA705255834D9BC9955
80FDB89B5293C4426AD4D6C32CDC7E5AE32E969A
5DD83A36DDA8C12AE77F8F65A1BEA804A1DF8E8B
6EA6A1F6CA1B0573C139239C41B8820AED24F6AC
43FD3999FB78C1C3ED9DE4BD41BCF206B74D2C76


Детектирование ESET: JS/Danger.ScriptAttachment

Примеры хешей загрузчиков JavaScript
37A70B19934A71DC3E44201A451C89E8FF485009
08C8649E0B7ED2F393A3A9E3ECED89581E0F9C9E
E6A7DAF3B1348AB376A6840FF12F36A137D74202
1F1D2EEC68BBEC77AFAE4631419E900C30E09C2F
CC4BD14B5C6085CFF623A6244E0CAEE2F0EBAF8C


Детектирование ESET: Win32/Injector

Примеры хешей шифратора Shade
FEB458152108F81B3525B9AED2F6EB0F22AF0866
7AB40CD49B54427C607327FFF7AD879F926F685F
441CFA1600E771AA8A78482963EBF278C297F81A
9023B108989B61223C9DC23A8FB1EF7CD82EA66B
D8418DF846E93DA657312ACD64A671887E8D0FA7


Детектирование ESET: Win32/Filecoder.Shade

Характерная строка в URL-адресах, на которых хостится шифратор Shade
hxxp://[redacted]/ssj.jpg

Комментарии (35)


  1. fmj
    29.01.2019 14:37

    «Информация.js»

    C:\ProgramData\Windows\

    Т.е. в организациях тупо нет админов, которые бы настроили srp или AppLocker.
    Или же используются какие-то уязвимости(но о них в статье ни слова)?


    1. Alexsandr_SE
      29.01.2019 23:53

      Во многих нет.


  1. amarao
    29.01.2019 16:00

    А почему windows исполняет javascript откуда попало?

    Вот так вот выглядит попытка выполнить javascript в linux. Страшно, да?


    1. imanushin
      29.01.2019 16:12

      1. Для Linux будет sh скрипт, а потом что-нибудь из списка.
      2. На обеих системах проблем не будет, если в пользовательской папке есть «запрет на запуск».


      1. amarao
        29.01.2019 16:35

        $ echo 'echo hello' >1.sh
        $ ./1.sh
        bash: ./1.sh: Permission denied


      1. ProgMiner
        30.01.2019 10:07

        NTFS умеет в права на исполнение файлов?


        1. fmj
          30.01.2019 12:06
          +1

          Умеет. Можно явно запретить, например, cscript и wscript, которые и являются по дефолту исполнителями .js.


    1. alex-khv
      29.01.2019 16:13

      Потому что это ru.wikipedia.org/wiki/JScript


      1. amarao
        29.01.2019 16:36

        А почему оно исполняется без выставления exec-флага?


        1. Xalium
          29.01.2019 19:00
          -1

          откуда в винде exec-флаг?


          1. amarao
            29.01.2019 19:07

            Из NTFS.



            Traverse & execute звучит как обычный chmod +x для линуксоида.


            1. Xalium
              29.01.2019 19:21

              ну в таком случае скорее всего из-за того, что в винде js считается все-таки не исполняемым файлом, а просто файлом, открываемым другой исполняемой прогой, которая находится в системной папке.
              По хорошему, в винде надо бы ввести какой-то ключ реестра, указывающий что файлы с такими-то расширениями являются исполняемыми (как раз для того, чтобы от этого Traverse & execute был толк). Но, насколько помню, пока такого нет.


              1. amarao
                29.01.2019 19:36
                -1

                В линуксах этот вопрос давно решён. Интерпретаторы могут исполнять только файлы, помеченные на исполнение. Можно запустить вручную (bash foo.sh), но ./foo.sh будет исполнен только если есть разрешение на запуск.

                А главное: почему у винды ВСЕ файлы всегда исполняемые? Даже иконки и docx-файлы. Что за глупость?


                1. Xalium
                  29.01.2019 19:47

                  Интерпретаторы могут исполнять только файлы, помеченные на исполнение.

                  только для такого исполнения файлов в их начале нужно прописывать путь к интерпретатору.
                  А главное: почему у винды ВСЕ файлы всегда исполняемые? Даже иконки и docx-файлы. Что за глупость?

                  ну скорее не исполняемые, а обрабатываемые тем и так, что прописано в реестре и обработчике конкретного файлового менеджера.


                  1. amarao
                    29.01.2019 20:36

                    1. Прописывать не обязательно, можно зарегистрировать в ядре тип и им обрабатывать (так, например, jar'ники можно делать прям исполняемыми).

                    2. Исполняемые. У них есть разрешение на запуск (execute) — проверьте сами в свойствах любого файла.


                1. Xalium
                  29.01.2019 19:53
                  +1

                  Можно запустить вручную (bash foo.sh), но ./foo.sh будет исполнен только если есть разрешение на запуск.

                  а что-нибудь типа «openoffice ./file.odt» сработает? Если да, то в чем отличие от «bash ./foo.sh»? Во 2-м случае сам bash будет определять права на запуск или все-же система каким-то образом?


                  1. amarao
                    29.01.2019 20:37
                    -1

                    Сработает. Разница в том, что одно — аргумент командной строки другой программы, а другое — само себе «программа» у которой прописан интерпретатор.

                    Именно для решения такой глупости (как не-запуск каких попало файлов) оно отлично и подходит.


                    1. Xalium
                      29.01.2019 21:04
                      +1

                      а другое — само себе «программа» у которой прописан интерпретатор.

                      ну так а кто в случае bash будет определять права на запуск?
                      Т.е. или сам bash или система (т.е. кто из них будет отфутболивать в случае отсутствия прав на запуск).
                      Но в случае системы где-то должно быть прописано, что bash является интерпретатором и обламывать его запуск.


                      1. Xalium
                        29.01.2019 22:07

                        и в случае «bash ./foo.sh» — это тоже аргумент командной строки другой программы.


  1. alexanster
    29.01.2019 20:41

    начинается с получения жертвой письма на русском языке с ZIP-архивом info.zip или inf.zip во вложении.

    В ZIP-архиве находится JavaScript-файл под названием «Информация.js

    Если точнее, то в архиве info.zip находится второй архив — info.zip или inf.zip, а вот уже в нём — Информация.js, и это первый встреченный мною случай, когда атакующие делают двойной архив, потому что уже все (ну разве что за исключением Яндекса), без разбора банят письма, содержащие исполняемые файлы или скрипты в явном виде или в архиве, а вот двойное вложение пока разбирать не научились. Вангую, что со временем все станут и их резать, и тогда появятся вирусы, трижды упакованные в архив.


    1. Alexsandr_SE
      30.01.2019 00:04

      Есть варианты. За последнее время получили несколько десятков этих писем. В иной день приходит около 20шт. Проверил часть, все проверенные из России. Видать боты.
      Но есть вопросы. Откуда взялись адреса нашей небольшой конторы? Возможно чей-то ящик кому мы отправляем почту сломали, но это только вариант.
      Есть варианты с вложением и названием архива и вложения. Есть архив, есть архив-архив и архив-архив-архив. Сегодня к примеру тема поменялась. Было "подробности заказа", стало "уточнение заказа" (если правильно вспомнил, ибо все удалил не глядя особо).
      Сам js постоянно меняется. С утречка ночные версии почти не детектятся, Eset в т.ч. не видит. Только спустя несколько часов ловит. Знаю уже нескольких пострадавших :(
      Можно ли расшифровать данные или они не поддаются расшифровке никем кроме автором вируса? И сколько автор хочет для расшифровки. Последнее просто интересно.


      1. fmj
        30.01.2019 08:04

        Сам js постоянно меняется. С утречка ночные версии почти не детектятся, Eset в т.ч. не видит.


        Не проще ли запретить запуск всего не доверенного?


        1. Alexsandr_SE
          30.01.2019 10:27

          Бывает не проще. Пора работает запрет по вложениям, пару уровней архива видит.


          1. fmj
            30.01.2019 12:04

            Бывает не проще.


            Много кривого софта?


            1. Alexsandr_SE
              30.01.2019 13:02
              +1

              Очень. кривой тупой и древний как мамонт замороженный.


              1. fmj
                30.01.2019 13:13

                По хешу можно в белый список добавить. Или своим сертификатом подписать и создать правило по сертификату.


  1. captd
    29.01.2019 21:06

    Думаю, есть смысл блокировать эту заразу по расширению *.js, на самом почтовом сервере.


    1. Alexsandr_SE
      30.01.2019 00:28

      Многие антивирусы/фильтры не проверяют дальше первого уровня вложения архивов.


      1. Andronas
        31.01.2019 20:46

        Наверное потому что вложенный архив может оказаться многократно вложенным и завалит сервер


        1. Alexsandr_SE
          31.01.2019 21:54
          +1

          Не завалит В конце концов могут быть настройки.


          Сегодня новая модификация появилась. Вместо вложения идет ссылка на облачное хранилище. Думаю как это лочить :(


  1. fgmatrix
    29.01.2019 22:44

    Принудительное открытие .js .hta и .vbs блокнотом поможет от этой заразы?


    1. fmj
      30.01.2019 08:02
      +1

      Еще можно отобрать права на исполнение cscript и wcscript у пользователей(или создать свою группу, включив нужные учетки и выставить запрет группе).
      Или настроить белый список при помощи SRP или AppLocker.


      1. fmj
        30.01.2019 12:10

        Дополню про .hta — его по дефолту выполняет mshta.


  1. Megeon
    30.01.2019 11:44
    +1

    А есть ли способ дешифровки этого шифровальщика?


  1. SnowSin
    31.01.2019 21:23
    +1

    Сегодня по другому начали высылать, офис 365 + office 365 threat protection пропускает.

    image