Вслед за нашумевшей кампанией вируса-шифровальщика WannaCry, которая была зафиксирована в мае этого года, 27 июня более 80 компаний России и Украины стали жертвой новой атаки с использованием шифровальщика-вымогателя Petya. И эта кампания оказалась вовсе не связана с WannaCry. Эксперты Positive Technologies представили детальный разбор нового зловреда и дали рекомендации по борьбе с ним.




Жертвами вымогателя уже стали украинские, российские и международные компании, в частности, Новая Почта, Запорожьеоблэнерго, Днепроэнерго, Ощадбанк, медиахолдинг ТРК «Люкс», Mondelez International, TESA, Nivea, Mars, операторы LifeCell, УкрТелеКом, Киевстар и многие другие организации. В Киеве оказались заражены в том числе некоторые банкоматы и кассовые терминалы в магазинах. Именно на Украине зафиксированы первые атаки.

Анализ образца вымогателя, проведенный нашими экспертами, показал, что принцип действия Petya основан на шифровании главной загрузочной записи (MBR) загрузочного сектора диска и замене его своим собственным. Эта запись – первый сектор на жёстком диске, в нем расположена таблица разделов и программа-загрузчик, считывающая из этой таблицы информацию о том, с какого раздела жёсткого диска будет происходить загрузка системы. Исходный MBR сохраняется в 0x22-ом секторе диска и зашифрован с помощью побайтовой операции XOR с 0x07.

После запуска вредоносного файла создается задача на перезапуск компьютера, отложенная на 1-2 часа, в это время можно успеть запустить команду bootrec /fixMbr для восстановления MBR и восстановить работоспособность ОС. Таким образом, запустить систему даже после ее компрометации возможно, однако расшифровать файлы не удастся. Для каждого диска генерируется свой ключ AES, который существует в памяти до завершения шифрования. Он шифруется на открытом ключе RSA и удаляется. Восстановление содержимого после завершения требует знания закрытого ключа, таким образом, без знания ключа данные восстановить невозможно. Предположительно, зловред шифрует файлы максимум на глубину 15 директорий. То есть файлы, вложенные на большую глубину, находятся в безопасности (по крайней мере для данной модификации шифровальщика).

В случае, если диски оказались успешно зашифрованы после перезагрузки, на экран выводится окно с сообщением о требовании заплатить выкуп $300 (на 27 июня 2017 — примерно 0,123 биткойна) для получения ключа разблокировки файлов. Для перевода денег указан биткоин-кошелек 1Mz7153HMuxXTuR2R1t78mGSdzaAtNbBWX. Через несколько часов после начала атаки на кошелек уже поступают транзакции, кратные запрошенной сумме – некоторые жертвы предпочли заплатить выкуп, не дожидаясь, пока исследователи изучат зловред и попытаются найти средство восстановления файлов.



На данный момент число транзакций увеличилось до 45.



Petya использует 135, 139, 445 TCP-порты для распространения (с использованием служб SMB и WMI). Распространение внутри сети на другие узлы происходит несколькими методами: с помощью Windows Management Instrumentation (WMI) и PsExec, а также с помощью эксплойта, использующего уязвимость MS17-010 (EternalBlue). WMI – это технология для централизованного управления и слежения за работой различных частей компьютерной инфраструктуры под управлением платформы Windows. PsExec широко используется для администрирования Windows и позволяет выполнять процессы в удаленных системах. Однако для использования данных утилит необходимо обладать привилегиями локального администратора на компьютере жертвы, а значит, шифровальщик может продолжить свое распространение только с тех устройств, пользователь которых обладает максимальными привилегиями ОС. Эксплойт EternalBlue позволяет получить максимальные привилегии на уязвимой системе. Также шифровальщик использует общедоступную утилиту Mimikatz для получения в открытом виде учетных данных всех пользователей ОС Windows, в том числе локальных администраторов и доменных пользователей. Такой набор инструментария позволяет Petya сохранять работоспособность даже в тех инфраструктурах, где был учтен урок WannaCry и установлены соответствующие обновления безопасности, именно поэтому шифровальщик настолько эффективен.

В рамках тестирований на проникновение современных корпоративных инфраструктур эксперты Positive Technologies регулярно демонстрируют возможность применения эксплойта EternalBlue (в 44% работ в 2017 году), а также успешное применение утилиты Mimikatz для развития вектора атаки до получения полного контроля над доменом (в каждом проекте).

Таким образом, Petya обладает функциональностью, позволяющей ему распространяться на другие компьютеры, причем этот процесс лавинообразный. Это позволяет шифровальщику скомпрометировать в том числе контроллер домена и развить атаку до получения контроля над всеми узлами домена, что эквивалентно полной компрометации инфраструктуры.

О существующей угрозе компрометации мы сообщали более месяца назад в оповещениях об атаке WannaCry и давали рекомендации, каким образом определить уязвимые системы, как их защитить и что делать, если атака уже произошла. Дополнительные рекомендации мы дадим и в данной статье. Кроме того, наша компания разработала бесплатную утилиту WannaCry_Petya_FastDetect для автоматизированного выявления уязвимости в инфраструктуре. Система MaxPatrol выявляет данную уязвимость как в режиме Audit, так и в режиме Pentest. Подробная инструкция указана в наших рекомендациях. Кроме того, в MaxPatrol SIEM заведены соответствующие правила корреляции для выявления атаки Petya.

Эксперты Positive Technologies выявили “kill-switch” – возможность локально отключить шифровальщик. Если процесс имеет административные привилегии в ОС, то перед подменой MBR шифровальщик проверяет наличие файла perfc (либо другого пустого файла с иным названием) без расширения в директории C:\Windows\ (директория жестко задана в коде). Этот файл носит то же имя, что и библиотека dll данного шифровальщика (но без расширения).





Наличие такого файла в указанной директории может быть одним из индикаторов компрометации. Если файл присутствует в данной директории, то процесс выполнения ВПО завершается, таким образом, создание файла с правильным именем может предотвратить подмену MBR и дальнейшее шифрование.



Если шифровальщик при проверке не обнаружит такой файл, то файл создается и стартует процесс выполнения ВПО. Предположительно, это происходит для того, чтобы повторно не запустился процесс подмены MBR.

С другой стороны, если процесс изначально не обладает административными привилегиями, то шифровальщик не сможет выполнить проверку наличия пустого файла в директории C:\Windows\, и процесс шифрования файлов все же запустится, но без подмены MBR и перезапуска компьютера.
Для того, чтобы не стать жертвой подобной атаки, необходимо в первую очередь обновить используемое ПО до актуальных версий, в частности, установить все актуальные обновления MS Windows. Кроме того, необходимо минимизировать привилегии пользователей на рабочих станциях.

Если заражение уже произошло, мы не рекомендуем платить деньги злоумышленникам. Почтовый адрес нарушителей wowsmith123456@posteo.net был заблокирован, и даже в случае оплаты выкупа ключ для расшифрования файлов наверняка не будет получен. Для предотвращения распространения шифровальщика в сети рекомендуется выключить другие компьютеры, которые не были заражены, отключить от сети зараженные узлы и снять образы скомпрометированных систем. В случае, если исследователи найдут способ расшифрования файлов, заблокированные данные могут быть восстановлены в будущем. Кроме того, данный образ может быть использован для проведения анализа шифровальщика, что поможет исследователям в их работе.

В долгосрочной перспективе рекомендуется разработать систему регулярных тренингов сотрудников с целью повышения их осведомленности в вопросах информационной безопасности, основанную на демонстрации практических примеров потенциально возможных атак на инфраструктуру компании с использованием методов социальной инженерии. Необходимо проводить регулярную проверку эффективности таких тренингов. Также необходимо на все компьютеры установить антивирусное ПО с функцией самозащиты, предусматривающей ввод специального пароля для отключения или изменения настроек. Кроме того, необходимо обеспечить регулярное обновление ПО и ОС на всех узлах корпоративной инфраструктуры, а также эффективный процесс управления уязвимостями и обновлениями. Регулярное проведение аудитов ИБ и тестирований на проникновение позволит своевременно выявлять существующие недостатки защиты и уязвимости систем. Регулярный мониторинг периметра корпоративной сети позволит контролировать доступные из сети Интернет интерфейсы сетевых служб и вовремя вносить корректировки в конфигурацию межсетевых экранов. Для своевременного выявления и пресечения уже случившейся атаки необходимо осуществлять мониторинг внутренней сетевой инфраструктуры, для чего рекомендуется применять систему класса SIEM.

Для выявления атаки Petya в инфраструктуре могут быть использованы следующие индикаторы:

  • C:\Windows\perfс
  • Задача в планировщике Windows с пустым именем и действием (перезагрузка)
  • "%WINDIR%\system32\shutdown.exe /r /f"

Срабатывание правил IDS/IPS:

  • msg: "[PT Open] Unimplemented Trans2 Sub-Command code. Possible ETERNALBLUE (WannaCry, Petya) tool"; sid: 10001254; rev: 2;
  • msg: "[PT Open] ETERNALBLUE (WannaCry, Petya) SMB MS Windows RCE"; sid: 10001255; rev: 3;
  • msg: "[PT Open] Trans2 Sub-Command 0x0E. Likely ETERNALBLUE (WannaCry, Petya) tool"; sid: 10001256; rev: 2;
  • msg: "[PT Open] Petya ransomware perfc.dat component"; sid: 10001443; rev: 1
  • msg:"[PT Open] SMB2 Create PSEXESVC.EXE"; sid: 10001444; rev:1

Сигнатуры:

Поделиться с друзьями
-->

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


  1. gjf
    28.06.2017 19:21
    +21

    Ребята, несколько замечаний к статье.

    1. Статью бы неплохо назвать не сенсационно «Как победить вирус Petya», а более честно «Подборка открытой информации о вирусе Petya и рекомендации по предотвращению заражения». Потому как в статье собрано всё, что уже сутки лежит в свободном доступе, ничего нового не добавлено и уж конечно нет дешифратора, который точно помог бы «победить».

    2. Вашим «экспертам» неплохо бы почувствовать разницу между «kill switch» и «vaccine». Потому как «kill switch», тоже гуляющий в сети уже сутки, не останавливает активную инфекцию, а просто предотвращает заражение — а потому является вакциной — и эту первоначальную ошибку давным давно тоже исправили.

    3. «Экспертам» неплохо было бы также заметить, что обсуждаемая версия Petya (которую ЛК, к примеру, даже считают notPetya по ряду признаков, но то такое, «неэкспертное» :) ) вероятно, больше является вайпером, а не шифровальщиком. А потому «мы не рекомендуем платить злоумышленникам» не только из-за блокировки мэйла, но и просто из чисто технических, «экспертных» точек зрения :)


    1. vilgeforce
      28.06.2017 20:33
      +1

      Не является он вайпером. Файлы он именно шифрует.


      1. gjf
        28.06.2017 20:52

        Вы можете оспорить источник, который я указал — завтра будет организован вебинар на эту тему, где Вы можете представить свои доводы. Детали о вебинаре — по той же ссылке.


        1. tyomitch
          28.06.2017 23:48
          +2

          По ссылке написано, что Петя2017 необратимо затирает 16 секторов MBR — там, где всё равно лежит загрузчик ОС и нет ничего ценного пользователю.
          Файлы пользователя он именно шифрует, предположительно обратимо.

          Но «эксперт» по ссылке, который для округления до килобайтов делит на 0x1024 (вместо 1024==0x400) — такое же посмешище, что и здешний постер.


          1. vilgeforce
            29.06.2017 13:41

            Даже не 16, а 10 секторов. Опять та же ошибка hex<->dec ;-) И затирает не всегда.


    1. Timur_n
      29.06.2017 01:41

      за ссылку спасибо, там кстати рекомендуют делать три файла perfс, perfс.dll, perfс.dat и после записи их в c:\windows в «свойствах» установить «только на чтение»


      1. vilgeforce
        29.06.2017 13:42
        +1

        Нет никакого смысла делать три файла, проверяет он только один. И RO ставить не нужно.


    1. spofp
      29.06.2017 11:55
      -1

      Интересные сведения. То есть, он ничего не шифрует и тупо затирает первые 25 секторов, включая partition table.

      В современных системах разделы выровнены по 4кб блокам (в старых версиях выровнены по цилиндрам и начинались после 64 сектора), значит содержимое диска можно прочитать, но надо знать начальные и конечные сектора разделов.

      Если бы раздел был один, это было бы очень просто: создать новую mbr и partition table с правильной геометрией и правильным начальным сектором, этого достаточно чтобы раздел прочитался.

      Но в windows 7 и более поздних их там два и первым идёт скрытый системный раздел. Надо на такой же системе посмотреть его точный размер, начальный и конечный сектор и начальный сектор второго раздела.

      C помощью линуксового dd и fdisk можно слить имидж с диска, поэкспериментировать с записью разных partition table и попытаться подмонтировать раздел. Чем чёрт не шутит, вдруг откроется.


    1. ptsecurity
      29.06.2017 13:21
      +2

      >вероятно, больше является вайпером, а не шифровальщиком

      Когда вы пишете столь уверенные наезды на экспертов, лучше избегать красивых, но неточных терминов.

      Вирус подменяет MBR и затирает следующие за ним 18 секторов, заменяя их на собственный загрузчик.
      Предположительно, в этих секторах не должно быть ничего важного для пользователя.

      Файлы пользователя шифруются обратимо при условии наличия приватного ключа RSA. Поэтому термин «шифровальщик» вполне корректен.


      1. ptsecurity
        29.06.2017 18:18

        PS. Подробности по шифрованию — в следующем посте Дмитрия Склярова:
        https://habrahabr.ru/company/pt/blog/331962/


  1. gjf
    28.06.2017 19:26
    +1

    Ребята, несколько замечаний к статье.

    1. Статью бы неплохо назвать не сенсационно «Как победить вирус Petya», а более честно «Подборка открытой информации о вирусе Petya и рекомендации по предотвращению заражения». Потому как в статье собрано всё, что уже сутки лежит в свободном доступе, ничего нового не добавлено и уж конечно нет дешифратора, который точно помог бы «победить». Да, и неплохо бы информацию дополнить некоторыми данными — про тот же «M.E.Doc», как наиболее вероятный первичный вектор распространения заразы.

    2. Вашим «экспертам» неплохо бы почувствовать разницу между «kill switch» и «vaccine». Потому как «kill switch», тоже гуляющий в сети уже сутки, не останавливает активную инфекцию, а просто предотвращает заражение — а потому является вакциной — и эту первоначальную ошибку давным давно тоже исправили.

    3. «Экспертам» неплохо было бы также заметить, что обсуждаемая версия Petya (которую ЛК, к примеру, даже считают notPetya по ряду признаков, но то такое, «неэкспертное» :) ) вероятно, больше является вайпером, а не шифровальщиком. А потому «мы не рекомендуем платить злоумышленникам» не только из-за блокировки мэйла, но и просто из чисто технических, «экспертных» точек зрения :)


    1. gjf
      28.06.2017 20:49

      Прошу прощения — почему-то вместо редактирования создался новый комментарий.


  1. 4tune
    28.06.2017 20:02
    +7

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

    Друзья, ну нельзя так тексты писать, это же какой-то кошмар, попробуйте сами прочесть. Канцелярит чистой воды, зомби-язык.


  1. vilgeforce
    28.06.2017 20:34
    +3

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


    1. gjf
      28.06.2017 20:54
      +1

      Эксперты писали )))
      Не смогли даже корректно скопипастить.


  1. Punk_UnDeaD
    28.06.2017 22:02
    +2

    А как помогает метод налить Пете стакан?


  1. gjf
    28.06.2017 23:45
    +3

    1. vilgeforce
      29.06.2017 13:45

      Респект ребятам, они первые и единственные кто понял какие процессы он ищет!


  1. Garrett
    29.06.2017 00:28

    если процесс изначально не обладает административными привилегиями, то шифровальщик не сможет выполнить проверку наличия пустого файла в директории C:\Windows\, и процесс шифрования файлов все же запустится, но без подмены MBR и перезапуска компьютера.


    Я так понимаю оно всё-равно шифрует если MBR'а нету в принципе?


    1. lingvo
      29.06.2017 23:43

      У меня так и произошло. Машина работает, как ни в чем не бывало, а файлы зашифрованы.


  1. Timur_n
    29.06.2017 01:27

    странно, в других источниках приводится файл с расширением perfс.dll


    1. ptsecurity
      29.06.2017 13:14
      +1

      В каталоге C:\Windows должен лежать файл с именем, идентичным наименованию самой DLL, производящей вредоносные действия, только без расширения.

      Если эта библиотека носит название perfc.dat, то должен присутствовать файл C:\Windows\perfc


  1. petro_64
    29.06.2017 09:54

    А что он делает если на диске GPT а не MBR и выполняется UEFI загрузка?


    1. vilgeforce
      29.06.2017 13:46
      -1

      Если там не MBR — затирает первые 10 секторов.


    1. ptsecurity
      29.06.2017 15:46

      В случае GPT, в не legacy режиме загрузки, GPT будет перезаписан, но загрузиться, вероятно, можно будет.

      Проверили на одной из железок. Он затер GPT, но диск с Windows (загрузились с него) позволил восстановить его из резервной копии.


  1. 31415
    29.06.2017 11:49
    +1

    И здесь спрошу. Судя по тому, что я прочитал, вирус работает только с NTFS. И я так и не понял, что будет, если система на FAT32? А если на ReFS?


    1. MTokarev
      29.06.2017 13:56
      +1

      А таргет группа то какая?
      Гики на виндовс 98 + 3-5% вин серверов в общем?


  1. MTokarev
    29.06.2017 13:36
    -2

    Думаю что правильнее было бы этот файл держать не пустой, а к примеру файл какой-то с уникальной меткой (каким нибудь guidom+ соль).


    1. MTokarev
      29.06.2017 20:09

      я как то криво написал коммент. Я имел ввиду что создателям вируса бы стоило создавать это файл не пустым. В этом случае нельзя было бы стопануть инфицирование если бы кто то создал просто пустой файлик. Ну и хорошо что недоперли создатели.


  1. Monty
    29.06.2017 14:18

    Не понял. Как защититься-то? Выключить Самбу, не открывать вложений, обновить винду?


    1. tyomitch
      29.06.2017 14:50
      +1

      … выдернуть шнур, выдавить стекло.


  1. Sergzolo
    29.06.2017 21:25
    +1

    Я для своих сотрудников набросал небольшую инструкцию, как распознать шифровальщики и что нужно делать, если всё таки произошло ЧП. После изучения инструкции они сдают контрольный лист с вопросами и ставят свою подпись, подтверждающую прохождение обучения. С этого момента ответственность за заражение их рабочих ПК лежит на них. Очень способствует внимательности )) Количество обращений «А посмотри что тут мне пришло» возросло, конечно, но это того стоит, ИМХО.
    Если кому интересно, вот инструкция. Критика приветствуется.


    1. cabina
      30.06.2017 14:21

      Идея хорошая но мне кажется плохим решением.
      Много букв и ненужной для людей информации, для людей которым сложно работать с этой терминологией и техникой.
      Все равно есть дырки, например как не показывать или отключить html с письма и те же вложения html.

      У нас сервер проверяет адресатов, складирует.
      Заходит gmail забирает, проверяет на вирусы. Gmail это антивирус и дешевое дисковое пространство. Есть ящики свыше 500 гигов занимают, это ужас их держать на SSD или бекапить.
      На некоторых ящиках обязанность людей раскидывать письма более детально по другим ящикам.
      В день зависает от 5 до 150 писем с вирусами, машин много без антивирусов, с обновлениями, без админских прав, разные ОС от XP до 10 ну и + MAC.


      1. Sergzolo
        01.07.2017 22:16

        Как показала практика, не так уж и много букв. Даже самые отсталые юзеры вполне прилично восприняли инструкцию. Тем более, что половину времени я принимал экзамен, а вторую половину — разжёвывал и объяснял трудные места)) Да и классических «тётенек из бухгалтерии» у нас нет, коллектив довольно молодой, с компьютерами более-менее свободно обращаются. Обучение проводил ещё в феврале, краткий опрос сотрудников после эпидемии «Пети» показал, что большинство основной принцип (не открывать подозрительные письма) усвоили твёрдо.
        Без специальной терминологии довольно трудно обойтись, для того и глоссарий в начале. Я и так уже старался упростить по-максимуму.
        Про дырки согласен, про опасность со стороны html в письмах забыл упомянуть. Дополню.
        Почтового сервера у нас нет, почта на Яндексе (из-за того, что Битрикс24 используем, его админ говорит, что интеграция только с Яндеском есть) через веб-интерфейс, почтовые программы используют единицы. За почти 3 года использования вирусов не было, личную почту запрещено использовать, объёмы ящиков небольшие, т.к. в основном документы пересылаются.
        Спасибо за внимание. Что бы вы ещё могли предложить убрать/дополнить/изменить?


  1. lingvo
    29.06.2017 23:46

    Объясните такую вещь. Сервер с Windows 2003. Обнаружил, что файлы на сервере зашифровались, но сам сервер запускается и работает нормально. Но вот вопрос — почему ни Eset, ни Dr.Web ничего не находят? Вот буквально час назад сканировал со всеми обновлениями. Как так?


    1. Frankenstine
      03.07.2017 10:32

      Вирус одноразовый. После выполнения своих вредоносных действий самоудаляется, оставив в планировщике задачу на перезагрузку.