27 июня в сети начали появляться сообщения о быстром распространении вредоносной программы – шифровальщика Petya, выполняющей шифрование данных на компьютере жертвы. Атаке подверглись крупные корпорации России, Украины, ЕС, США и ряда других стран. Специалисты компании BiZone провели подробный анализ работы вредоноса. Ниже приведены результаты исследования, а также рекомендации по его удалению с компьютера жертвы и восстановлению данных.

Распространение


Распространяется изначально несколькими способами, в том числе в виде почтового вложения (фишинговая рассылка).

Для последующего распространения внутри сети использует:
  • Уязвимость MS17-10, также, как и WannaCry;
  • Удаленный доступ к консоли WMI (Windows Management Instrumentation), команды вида
    wmic.exe /node:"<hostname>" /user:"<username>" /password:"<password> process call create "C:\Windows\System32\rundll32.exe \"C:\Windows\perfc.dat\" #1
  • Утилиту PSEXEC от Microsoft (имена и пароли учетных записей собираются на зараженной машине с помощью утилиты, аналогичной по функциональности утилите «Mimikatz»; пароли в открытом виде получаются путем чтения памяти процесса lsass.exe.

Шифрование


Для затруднения последующего анализа Petya очищает системные журналы событий и журнал файловой системы с помощью команды:
wevtutil cl Setup & wevtutil cl System & wevtutil cl Security & wevtutil cl Application & fsutil usn deletejournal /D %c:

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

Шифрование системы может производиться двумя различными способами:

1. Шифрование таблицы размещения файлов $MFT (NotPetya)
Вредоносный файл записывает свой код в MBR и последующие несколько секторов (оригинальный MBR при этом сохраняется в 34 секторе в зашифрованном виде (xor 0x07)). Далее вызывается перезагрузка системы (с помощью команд “schtasks” и “at”)и при последующем включении выводится экран о работе утилиты CHKDSK. На самом деле в этот момент происходит шифрование $MFT с использованием криптографически стойкого шифра Salsa20 (код c схож с оригинальным Petya). Особенность данного способа в том, что шифруются записи о файлах, а не само содержимое файлов. Восстановление данных возможно.

Способы восстановления данных:
  • Вручную. Возможен поиск файлов на диске по сигнатурам, однако данный способ работает только для нефрагментированных файлов, при этом имя файла не восстанавливается. Следующий применимый способ, это поиск файловых записей по сигнатуре “FILE”, получение списка кластеров, принадлежащих файлу, таким образом восстанавливается содержимое и имя файла. Также в ходе наших исследований был разработан метод восстановления выборочных файлов с помощью восстановления нерезидентного списка секторов, принадлежащих файлу (Data Runs). Данный метод основан на следующей концепции: выполняется поиск кластера содержащего начало файла (поиск производится по сигнатуре), далее номер этого кластера используется для поиска нерезидентного списка секторов, принадлежащих файлу. С помощью описанных методов, можно восстановить файлы большого размера, которые нельзя восстановить поиском по сигнатуре и автоматическими средствами.
  • Автоматический: R-Studio, GetDataBack, и др.
  • Восстановление MBR возможно с командой “bootrec /FixMbr” до перезагрузки системы (Vista+, в случае Windows XP можно использовать команду “fixmbr”).
  • Восстановление MBR после перезагрузки, но до шифрования. Необходимо извлечь оригинальный MBR из 34 сектора (0x4400 смещение на диске, размер 0x200) расшифровать (xor 0x07) и записать в начало диска.

2. Шифрование файлов (Misha)
При невозможности получения привилегий в системе для перезаписи MBR, производится шифрование файлов без перезагрузки. Список шифруемых расширений файлов:

3ds, 7z, accdb, ai, asp, aspx, avhd, back, bak, c, cfg, conf, cpp, cs, ctl, dbf, disk, djvu, doc, docx, dwg, eml, fdb, gz, h, hdd, kdbx, mail, mdb, msg, nrg, ora, ost, ova, ovf, pdf, php, pmf, ppt, pptx, pst, pvi, py, pyc, rar, rtf, sln, sql, tar, vbox, vbs, vcb, vdi, vfd, vmc, vmdk, vmsd, vmx, vsdx, vsv, work, xls, xlsx, xvd, zip. 

Способы расшифровки в настоящее время неизвестны, возможно лишь восстановление из резервных копий, например, из Volume Shadow Copy, Restore points, File History.

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

Почему возможно восстановление данных?


NotPetya шифрует только файловую таблицу, но не сами файлы, поэтому восстановить файлы после этого шифровальщика возможно. До шифрования структура файловой системы выглядит следующим образом:



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



Таким образом все методы восстановления данных, основанные на карвинге, (Carving) продолжают работать. Также идентичные записи MFT хранятся в разных частях файловой системы. Они могут попадать в файл hiberfil.sys, в файлы директорий и MFTmirr и т.п. Поэтому, собрав все целостные записи MFT возможно восстановить даже фрагментированные файлы.

Индикаторы


При заражении системы с использованием ПО «PSEXEC» в директории Windows могут присутствовать следующие файлы:

«C:\Windows\perfc.dat»
«C:\Windows\dllhost.dat»

Рекомендации


  1. Установить необходимые для исправления уязвимости MS17-10 обновления Windows
  2. Отключить SMB1

Также для остановки распространения данного вредоносного ПО необходимо заблокировать запуск ПО «PSEXEC.EXE» с помощью средств локальной или групповой политики безопасности на потенциально уязвимых машинах, а также, если возможно, заблокировать, либо отключить удаленный доступ к WMI.

В ходе исследования была выявлена особенность, позволяющая предотвратить заражение через PsExec и WMI. Для этого достаточно создать пустой файл “C:\Windows\perfc”.

UPD: NotPetya и Misha могут действовать вместе, запуск Misha не зависит от успеха заражения MBR. Однако во многих случаях Misha не успевает зашифровать все файлы с перечисленными расширениями на диске.

При использовании на зараженном компьютере GPT вместо MBR, NotPetya записывает произвольные данные на место первых десяти секторов, и таблица разделов в этом случае будет потеряна навсегда. Однако в этом случае главная файловая таблица не шифруется, а смещение раздела можно найти по сигнатуре раздела NTFS (R-Studio автоматически выполняет такую задачу).

Cоздание файла perfc позволяет предотвратить заражение только в том случае, если оригинальный исполняемый файл Petya назывался «perfc.dat». В исследованных нами случаях это действительно так, но изменить данное название не представляет большой сложности, поэтому в следующей волне фишинговых сообщений этот метод может потерять эффективность.
Поделиться с друзьями
-->

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


  1. JekaMas
    28.06.2017 18:52

    Думаю, товарищи из Petya уже сделали удобные ссылочки в onion в замену почты. И собственно какие есть варианты, кроме оплаты, если свежие данные ценнее 300уе?


    1. variable
      29.06.2017 10:10
      -1

      Тут пишут что ключ рандомальный, можно и не платить.
      https://securelist.com/expetrpetyanotpetya-is-a-wiper-not-ransomware/78902/


  1. Jek_Rock
    28.06.2017 19:16

    Есть возможность отличить зашифрованные файлы на диске? Есть несколько частично зашифрованных машин. Необходимо извлечь уцелевшие файлы.


    1. vadimmaslikhin
      28.06.2017 19:16

      В случае шифрованием Петей, файлы не шифрованы, только mft. Способы извлечь файлы в статье описаны.


      1. Jek_Rock
        28.06.2017 19:20

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


        1. vadimmaslikhin
          28.06.2017 19:45

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

          Это общая рекомендация. Если у нас будет что-то, что поможет решить вашу проблему, мы вам сообщим.


          1. Jek_Rock
            28.06.2017 19:52

            Спасибо. Диск был изъят и подключен к другой системе.


      1. Sergey_datex
        28.06.2017 23:46

        изучил 5 зашифрованных машин. На некоторых MFT нешифрован, на некоторых — шифрован. Независимо от шифрования MFT — файлы из списка — зашифрованы также, но не все. В одном каталоге могут быть и зашифрованные и незашифрованные *.doc.


    1. Sergey_datex
      29.06.2017 00:15

      Я по изученным машинам вижу только два способа — по времени модификации и по анализу содержимого. Первый вариант можно отработать любым файловым менеджером сортировкой по дате. Второй — сложнее, нужно использовать инструменты восстановления с валидацией содержимого файлов. Как вариант — можно глянуть Image Explorer от Soft-center.


  1. delvin-fil
    28.06.2017 19:37

    MBR, MBR, MBR… Про GPT ни слова.
    Это значит, что GPT «неуязвимы», или не значит?


    1. vadimmaslikhin
      28.06.2017 19:46

      Мы точно не знаем, есть догадки.


      1. delvin-fil
        28.06.2017 19:51

        То есть никем не проверялось?
        В нескольких статьях здесь и на гике упоминалось или «записывает в MBR» или «шифрует MBR». Много комментариев «у меня в конторе заразились», но никто не упоминает MBR или GPT, хотя это довольно интересно.


        1. vilgeforce
          28.06.2017 20:29

          Проверялось. Херит он GPT, равно как и VBR.


          1. delvin-fil
            28.06.2017 20:34

            Оппа! То есть, вероятность потерять раздел, из wine, имея GPT таки присутствует?


            1. vilgeforce
              28.06.2017 20:36

              Если прав хватит и запустится — да. И я бы сказал не вероятность, у него четкая проверка: не MBR — пишет мусор.


      1. vilgeforce
        28.06.2017 20:28
        +1

        Убивает, а именно переписывает первые 10 секторов мусором в случае не MBR-таблицы. А еще он VBR грохает, вы тушку не смотрели, а уже «Recovery is possible». Фу так делать.


        1. msuhanov
          28.06.2017 20:35
          +1

          Вы еще скажите, что и без MBR нельзя файлы восстановить :-)


    1. Sergey_datex
      28.06.2017 23:48
      +1

      в GPT также присутствует защитный MBR, потому для криптора ситуация ничем не отличается. Кроме того, что он затрет своим телом и баннером первичный GPT.


  1. sumanai
    29.06.2017 16:06

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

    Насколько я помню, в GPT есть резервная таблица в конце диска.


  1. 31415
    30.06.2017 14:04

    А если система на FAT32? А если на ReFS?


    1. sumanai
      30.06.2017 15:48

      Современные ОС на FAT32 не установить.


      1. 31415
        30.06.2017 16:35

        OK. Вы забыли про 2-ю часть вопроса.


        1. sumanai
          30.06.2017 19:27

          Не забыл, проигнорировал.


  1. i_od
    30.06.2017 14:04

    «После шифрования все ссылки на файлы в MFT оказываются зашифрованы, но содержимое файлов остается неизменным»…

    Не соглашусь.

    Жесткий диск с 2мя разделами — С,D. C — системный, D — данные пользователя.
    После заражения вирусом, диск С в WinPE диске отображается как диск в формате RAW, на диске D вижу файлы пользователя, могу скопировать их на флешку например. Но скопированный файл Word отказывается открывать, пишет, что файл поврежден. Т.е. получается, что содержимое файлов все таки изменяется вирусом.


    1. Jek_Rock
      30.06.2017 20:27
      +1

      Файлы шифруются в любом случае. MFT если получится получить админ права и изменить загрузчик. Тут все написано ссылка


  1. Machine79
    03.07.2017 13:13

    Почту Petya заблокировали? Теперь выкуп не перевести если файлы заражены?


    1. vadimmaslikhin
      03.07.2017 13:37

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


  1. Vik_mir
    03.07.2017 13:13

    У меня на виртуальной машине есть вирус до запуска, файлы еще не зашифрованы. Если ее запустить начинается процесс шифрования. На этом этапе можно как-то выделить ключи шифрования и сделать дешифратор?


    1. vadimmaslikhin
      03.07.2017 14:06

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


    1. Machine79
      03.07.2017 15:13

      Расшифруйте файлы, точнее даже не надо расшифровывать. Наткнулся на материал про Petya который возможно работает!