Выс­тупав­шие на ИБ‑кон­ферен­ции в ЮАР сот­рудни­ки ФБР наз­вали тро­ян‑шиф­роваль­щик Ryuk наибо­лее при­быль­ной вымога­тель­ской мал­варью на рын­ке. Что, впро­чем, неуди­витель­но: по дан­ным ком­паний Advanced Intelligence и HYAS, опе­рато­ры тро­яна на сегод­няшний день за­рабо­тали поряд­ка 150 мил­лионов дол­ларов. В этой статье я рас­ска­жу, как устро­ена и как работа­ет эта мал­варь.

Ryuk — прог­рамма‑вымога­тель, которая шиф­рует фай­лы и тре­бует у жер­твы выкуп в крип­товалю­те Bitcoin за пре­дос­тавле­ние клю­чей для дешиф­ровки. Исполь­зует­ся трой исклю­читель­но для целевых атак. Впер­вые этот вымога­тель зап­римети­ли в августе 2018 года в рам­ках кам­пании, которая была нацеле­на на нес­коль­ко пред­при­ятий. Наши экспер­ты про­вели ана­лиз пер­воначаль­ных вер­сий вре­донос­ного ПО и выяви­ли сходс­тва и общие фраг­менты исходно­го кода с прог­раммой‑вымога­телем Hermes. Hermes — вымога­тель мас­сового рас­простра­нения, который про­дает­ся на под­поль­ных форумах и исполь­зует­ся нес­коль­кими груп­пами хакеров.

Для сво­ей вре­донос­ной деятель­нос­ти Ryuk исполь­зует сочета­ние сим­метрич­ного шиф­рования AES (256 бит) и асим­метрич­ного шиф­рования RSA (2048 или 4096 бит). Сим­метрич­ный ключ при­меня­ется для шиф­рования содер­жания фай­лов, а асим­метрич­ный откры­тый ключ — для шиф­рования сим­метрич­ного клю­ча. Пос­ле опла­ты выкупа зло­умыш­ленни­ки пре­дос­тавля­ют соот­ветс­тву­ющий асим­метрич­ный зак­рытый ключ, с помощью которо­го мож­но рас­шифро­вать фай­лы.

Пос­коль­ку Ryuk при­меня­ют для целевых атак, век­торы пер­воначаль­ного зараже­ния под­бира­ются с уче­том осо­бен­ностей жер­твы. Очень час­то эти­ми век­торами ста­новят­ся спир­фишин­говые элек­трон­ные пись­ма, уда­лен­ный дос­туп к сис­темам с помощью похищен­ных учет­ных записей и при­мене­ние извес­тно­го мас­сового вре­донос­ного ПО. В пос­леднем слу­чае для зараже­ния Ryuk час­то исполь­зует­ся сочета­ние Emotet и TrickBot; недав­но так­же было зафик­сирова­но при­мене­ние BazarLoader.

info

Спир­фишинг (spear phishing) — под­вид фишин­га, который нацелен на более узкий круг людей (ком­пания, груп­па ее сот­рудни­ков или отдель­ный человек).

Це­поч­ка зараже­ния Ryuk час­то начина­ется со спир­фишин­гового элек­трон­ного пись­ма, которое содер­жит вре­донос­ную ссыл­ку или документ MS Office. С их помощью хакеры получа­ют воз­можность про­ник­нуть в информа­цион­ную сре­ду жер­твы. В некото­рых слу­чаях такой отправ­ной точ­кой дос­тупа ста­новят­ся компь­юте­ры со ском­про­мети­рован­ным про­токо­лом RDP.

В пер­вом сце­нарии в качес­тве заг­рузчи­ка вре­донос­ного ПО исполь­зует­ся TrickBot или BazarLoader. В резуль­тате их исполне­ния дру­гие хакеры получат воз­можность при­обрести дос­туп к взло­ман­ным машинам. Пос­ле это­го на компь­юте­ры час­то заг­ружа­ется «маячок» Cobalt Strike для похище­ния логинов и паролей поль­зовате­лей и горизон­таль­ного переме­щения по сети с зах­ватом кон­трол­леров домена. В ито­ге пос­редс­твом этих кон­трол­леров бинар­ный код Ryuk рас­простра­няет­ся на все машины. Как же устро­ен этот код? Давай раз­бирать­ся.

 

Общая информация

Ана­лизи­руемый файл — обра­зец нерас­пакован­ной прог­раммы‑вымога­теля семей­ства Ryuk. Иден­тифици­ровать этот обра­зец мож­но с помощью при­веден­ных ниже кон­троль­ных сумм (хешей).

Hash type Value
SHA-1 1EFC175983A17BD6C562FE7B054045D6DCB341E5
SHA-256 8F368B029A3A5517CB133529274834585D087A2D3A 5875D03EA38E5774019C8A

Ко­неч­ная полез­ная заг­рузка Ryuk име­ет раз­мер 148 Кбайт и дату ком­пиляции 30 апре­ля 2021 года.

 

Антиотладка

Ryuk мно­гок­ратно при­меня­ет тех­ники защиты от деком­пиляции для зат­рудне­ния ста­тичес­кого ана­лиза кода прог­раммы.

Прием защиты от дизассемблирования
При­ем защиты от дизас­сем­бли­рова­ния

Кро­ме того, вре­донос­ный код под­держи­вает анти­отла­доч­ные тех­ники с исполь­зовани­ем API ZwQueryInformationProcess и раз­личных приз­наков (фла­гов), нап­ример ProcessDebugFlags, ProcessDebugPort и ProcessDebugObjectHandle. С их помощью прог­рамма‑вымога­тель может опре­делить наличие отладчи­ка и при­нуди­тель­но зак­роет его.

Процесс запроса
Про­цесс зап­роса

В допол­нение к это­му вымога­тель про­веря­ет наличие приз­нака BeingDebugged в PEB-струк­туре про­цес­са с той же целью.

Проверка признаков отладки процесса
Про­вер­ка приз­наков отладки про­цес­са
 

Исполнение

Ryuk триж­ды копиру­ет себя в текущую пап­ку с раз­личны­ми име­нами и запус­кает эти новые исполня­емые фай­лы с раз­ными парамет­рами коман­дной стро­ки. Каж­дое такое исполне­ние под­держи­вает отдель­ную фун­кцию. Имя фай­ла для пер­вой копии вре­донос­ного ПО генери­рует­ся как кон­троль­ная сум­ма текуще­го име­ни поль­зовате­ля, к которой добав­ляет­ся r.exe.

Ес­ли мал­варь не может получить имя поль­зовате­ля, исполь­зует­ся имя по умол­чанию — rep.exe. При исполне­нии это­го фай­ла вре­донос исполь­зует коман­дную стро­ку 9 REP. Этот про­цесс отве­чает за самореп­ликацию Ryuk на дру­гих машинах сети.

Первое исполнение
Пер­вое исполне­ние

Имя вто­рой копии тро­яна генери­рует­ся слу­чай­ным обра­зом, к нему добав­ляет­ся суф­фикс lan.exe. Этой копии соот­ветс­тву­ет коман­дная стро­ка 8 LAN. Дан­ный про­цесс отве­чает за отправ­ку пакетов Wake On Lan на дру­гие компь­юте­ры в сети.

Второе исполнение
Вто­рое исполне­ние

Имя треть­ей копии соз­дает­ся в точ­ности так же, как для вто­рой, исполь­зует­ся та же коман­дная стро­ка.

Исполнение третьей копии
Ис­полне­ние треть­ей копии

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии