USD28.2033

Не все так просто с Petya

27-го июня, 2017 года новая кибератака поразила множество компьютерных систем в Украине и других странах. Атака была вызвана зловредом, который ESET определял как Diskcoder.C (aka ExPetr, PetrWrap, Petya, или NotPetya).

Эта атака маскировалась под эпидемию обычного шифровальщика — который шифровал данные на диске и требовал 300$ в биткоинах для восстановления данных. Но на самом деле, план был в нанесении ущерба, поэтому автора сделали все что могли, чтобы усложнить расшифровку данных.

В нашем блоге, мы уже относили эту атаку к группе TeleBots и раскрыли детали другой похожей цепочки атак против Украины. Эта статья раскрывает детали про первичный вектор распространения, который был использован для эпидемии DiskCoder.C.

Итак, рассказ о поддельном обновлении.

На своей страничке в фейсбук, Департамент киберполиции в Украине, сообщил, что на начальной фазе распространения зловреда DiskCoder.C, было использовано популярное программное обеспечение бухгалтерского учета M.E.Doc — практически монополист в этой области на Украине. Но до сих пор нет никаких деталей как именно это было проделано.

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

Файл зараженного модуля ZvitPublishedObjects.dll, написан на .NET Framework, он размером в 5 мегабайт, и содержит большое количество легального кода, который может быть вызван другими компонентами ПО, включая основной файл ezvit.exe

Мы изучили все обновления M.E.Doc, которые были выпущены в 2017 году, и обнаружили как минимум три обновления, содержащих зараженный модуль:

01.175-10.01.176, от 14 апреля 2017
01.180-10.01.181, от 15 мая 2017
01.188-10.01.189, от 22 июня 2017

Распространение Win32/Filecoder.AESNI.C началось через три дня после обновления 10.01.180-10.01.181, а распространение DiskCoder.C началось через 5 дней после обновления 10.01.188-10.01.189.

Что интересно, так это то, что четыре обновления с 24 апреля 2017 по 10 мая 2017 года, и семь обновлений с 17 мая по 21 июня, НЕ содержали троянский модуль.

В обновлениях с 15 мая по 17 мая, троянский модуль есть, но после 17 мая их нет, и это вероятно одна из причин, по которой распространение первого зловреда, а именно Win32/Filecoder.AESNI.C было не таким масштабным.

Возможно, обновление от 17-го мая было неожиданным для атакующих. Но они снова загрузили уязвимость в обновление от 18-го мая, тем не менее большинство пользователей M.E.Doc уже обновились «вчерашним» патчем, и первая атака прошла не особо заметно.

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

Timestamp показывает, что троянский модуль был создан 15 мая.

Читайте также:

Волонтеры узнали путинцев, что воюют на Донбассе

Тут мы видим разницу в классах между зараженным и нормальным модулем, используется .NET декомпилятор the ILSpy. Классы зараженного модуля слева.

Основной класс бэкдора — MeCom, который расположен в пространстве имен ZvitPublishedObjects.Server, как это указано на картинке 3.


Класс MeCom с троянским кодом в ILSpy .NET Decompiler.

Методы класса MeCom вызываются из метода IsNewUpdate в пространстве имен UpdaterUtils и ZvitPublishedObjects.Server. Сам метод IsNewUpdate вызывается периодически, чтобы проверять доступны ли новые обновления. Зараженный модуль от 15 мая работает немного иначе и содержит меньше функций, чем модуль от 22 июня.

Каждая зарегистрированная организация в Украине имеет уникальный код ЕДРПОУ. И это очень важно, так как используя ЕДРПОУ, можно проводить целенаправленную атаку против конкретной компании или организации. Работая изнутри, с компьютера где установлен троянский модуль, можно использовать различную тактику, в зависимости от намерений атакующих.

С тех пор, как M.E.Doc получил большую популярность, его можно найти на компьютере практически каждого бухгалтера. Один M.E.Doc может обслуживать сразу несколько организаций, и однажды установленный троян будет знать о всех ЕДРПОУ на этой машине для отправки их злоумышленникам.

Читайте также:

Куда исчезают украинцы? Население сокращается страшными темпами


Код, который собирает ЕДРПОУ.

Кроме ЕДРПОУ, троян также собирает настройки прокси, почты, включая логины и пароли зараженного приложения M.E.Doc.

Внимание! Рекомендуется сменить пароли для всех прокси и почтовых пользователей, которые пользовались M.E.Doc!!

Также вредоносный код записывает собранную информацию в реестре Windows по адресу HKEY_CURRENT_USER\SOFTWARE\WC, используя имена ключей Cred и Prx. Если на вашем компьютере вы найдете подобную информацию реестре, значит на вашем компьютере как минимум выполнялся троянский код.

И наконец наиболее хитрая часть. Троянский модуль не использовал никаких внешних серверов как контрольных центров. Он пользовался стандартными обновлениями приложения от M.E.Doc с официального сервера upd.me-doc.com[.]ua. Единственное отличие от легальных запросов в том, что троянский код отправлял собранную информацию назад на сервер через cookies.


HTTP-запрос от трояснкого модуля, который содержит ЕДРПОУ в cookie.

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


Код бэкдора, который добавляет cookie в запрос.

И конечно, атакующий должен был добавить способ контроля зараженной машины. Этот код получал бинарные данные с официального сервера обновления M.E.Doc, расшифровывал их алгоритмом Triple Des, распаковывал из GZip, в результате получался XML файл с набором инструкций. Таким образом, этот троян превращался в полномасштабную платформу для кибершпионажа и киберсаботажа.

Читайте также:

Элитное имение и конный комплекс: как живет скандальный экс-регионал в Германии


Код трояна, который расшифровывает список инструкций для выполнения на зараженной машине.

Таблица возможных команд:

Command назначение

0 – RunCmd Выполнить shell команду
1 – DumpData декодировать Base64 данные и сохранить их в файл
2 – MinInfo Собрать информацию о компьютере — версия ОС, разрядность, текущие привилегии, настройки UAC, настройки прокси и почты (включая логины и пароли)
3 – GetFile Получить файл с зараженного компьютера
4 – Payload Декодировать Base64 данные, сохранить их в исполняемый файл и запустить его
5 – AutoPayload тоже, что и предыдущее, но файл должен быть сохранен в виде библиотеки и предполагался выполняться через rundll32.exe. Вдобавок он должен попытаться перезаписать конкретную DLL.

Можно отметить, что именно команда номер 5, названная автором зловреда как «AutoPayload», полностью подходит под то, каким образом изначально распространялся DiskCoder.C на зеро-пациентах (первых зараженных машинах).


Метод AutoPayload, который использовался для выполнения шифровальщика DiskCoder.C.

Выводы

Как показывает наш анализ, это была очень тщательно спланированная и хорошо выполненная операция. Мы предполагаем, что атакующие имели доступ к исходным кодам M.E.Doc. Что у них было достаточно времени чтобы изучить его код и внедрить скрытую уязвимость. Полный размер установочного пакета M.E.Doc — около 1.5 гигабайта, и нет никакой возможности оперативно проверить его на другие закладки и уязвимости.

Все еще остаются вопросы. Как долго этот троян использовался? Какие другие команды, кроме отправки зловредов DiskCoder.C и Win32/Filecoder.AESNI.C были запущены через этот канал? Какие другие атаки могли пройти задолго до текущей ситуации, но остались незамеченными?

Отдельная благодарность моим коллегам Frédéric Vachon и Thomas Dupuy за их помощь в расследовании.

Indicators of Compromise (IoC)
ESET detection names:
MSIL/TeleDoor.A
Legitimate servers abused by malware authors:
upd.me-doc.com[.]ua
SHA-1 hashes:

7B051E7E7A82F07873FA360958ACC6492E4385DD
7F3B1C56C180369AE7891483675BEC61F3182F27
3567434E2E49358E8210674641A20B147E0BD23C

P.S.
От переводчика:

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

В стране сотни крупных и десятки крупнейших ИТ компаний, которые пишут отличное ПО мирового уровня. И эти компании неоднократно предлагали государству услуги по созданию государственных ИТ сервисов, со всеми аттрибутами — адекватным тендером и привлечением специалистов с экспертизой.

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

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

Сергей Кулик

Очень плохоПлохоСреднеХорошоОтлично (голосов: 2, в среднем: 5,00 из 5)
Загрузка...

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

Чтобы оставить комментарий необходимо

"Вы знаете когда врет политик – когда у него шевелятся губы."

В Днепре на мусорке обнаружили изувеченное тело дворника: подробности

Россию признали агрессором: в ПАСЕ Украина одержала победу

Нам бы так: китайцы за ночь построили железнодорожную развязку

«Украинцы съедают друг друга»: известный художник раскритиковал «страну-помойку»

Безвиз с ЕС: в какие страны украинцы ездят чаще всего

«Должны умереть с голоду»: раскрыта правда об украинских безработных

ВНО-2018: абитуриентов лишили непопулярного предмета

Дивовижна флора і фауна Антарктиди: український полярник вражає відкриттями

Комментарии излишни: как украинцы засоряют Киев «опасными отходами»

Россия обнаглела в ПАСЕ: вице-спикер Госдумы намекнул о захвате Украины

Главное за день: «чертова дюжина» ЦИК и скандальный закон в ПАСЕ

Какими обещаниями Путин будет “кормить” избирателей

На Вінниччині висихають хвойні дерева

Страшная смерть подростка: работникам дендропарка грозит тюрьма

Не розуміє мову – немає ефіру: Ар’єв розповів про казус на російському ТБ

Технологии и аграрии: о чем в Давосе рассказывала невестка Порошенко

Вспышка кори: медики зафиксировали новые смерти

Злочини проти Майдану розслідує прокурор-антимайданівець – Наші гроші

Выборы президента: политолог пояснил тактику главных фаворитов гонки

На Украину свалится “стихийное бедствие”: кому готовиться к худшему