fbpx

Наші представництва: 

Замовити зворотній дзвінок
btn

Команда CrowdStrike дослідила програму-вимагач PartyTicket, націлену на українські компанії

Реліз

23 лютого 2022 року було проведено низку руйнівних кібератак, спрямованих на українські організації. Згідно з галузевими звітами, в декількох організаціях, які безпосередньо постраждали від атаки, було виявлено Go-based програму-вимагач під назвою PartyTicket (або HermeticRansom). Разом з нею були ідентифіковані й інші сімейства шкідливих програм, включно з програмою типу Wiper, яку розвідка CrowdStrike відстежує як DriveSlayer (HermeticWiper).

Аналіз програми-вимагача PartyTicket показав, що вона реалізовує досить поверхневе шифрування файлів, неправильно ініціалізуючи ключ шифрування, що дає можливість дешифрувати зашифрований файл з відповідним розширенням .encryptedJB.


Технічний аналіз

Екземпляр програми-вимагача PartyTicket має хеш SHA256 4dc13bb83a16d4ff9865a51b3e4d24112327c526c1392e14d56f20d6f4eaf382. Було помічено, що він пов’язаний з іменами файлів cdir.exe, cname.exe, connh.exe та intpub.exe.

Екземпляр програми-вимагача, написаний за допомогою Go версії 1.10.1, містить багато символів, які посилаються на політичну систему США, включаючи voteFor403, C:/projects/403forBiden/wHiteHousE та primaryElectionProcess.

Програма-вимагач перебирає букви всіх дисків і рекурсивно перераховує файли на кожному диску та його підпапках, за винятком шляхів до файлів, які містять рядки Windows і Program Files, а також шлях до папки C:\Documents and Settings (остання папка була замінена у версіях Windows, Windows XP, на C:\Users). Для шифрування обираються файли з такими розширеннями:


acl, avi, bat, bmp, cab, cfg, chm, cmd, com, contact, crt, css, dat, dip, dll, doc, docx, dot, encryptedjb, epub, exe, gif, htm, html, ico, in, iso, jpeg, jpg, mp3, msi, odt, one, ova, pdf, pgsql, png, ppt, pptx, pub, rar, rtf, sfx, sql, txt, url, vdi, vsd, wma, wmv, wtv, xls, xlsx, xml, xps, zip


Для кожного шляху до файлу, який проходить раніше описані перевірки, ransomware копіює власний екземпляр у той самий каталог, з якого він був запущений, і запускає його через командний рядок, передаючи шлях до файлу як аргумент. Батьківський процес ransomware присвоює імена своїм клонам за допомогою випадкового UUID, створеного загальнодоступною бібліотекою, яка використовує поточну мітку часу та MAC-адреси мережевих адаптерів зараженого хоста.

Розробник шкідливої програми намагався використовувати типи WaitGroup мови Go для реалізації багатопотоковості, але через ймовірну помилку в кодуванні програма створює велику кількість потоків (по одному на перерахований шлях до файлу) і копіює власний двійковий файл в поточний каталог стільки разів, скільки було вибрано файлів. Після завершення всіх потоків шифрування вихідний двійковий файл видаляє себе через командний рядок.

Коли екземпляр отримує шлях до файлу як аргумент, він шифрує його за допомогою AES в режимі Galois/Counter (GCM). Ключ AES генерується за допомогою функції Intn пакета Go rand для вибору зміщення в масиві символів 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ, генеруючи 32-байтовий ключ. Через ймовірну помилку в кодуванні затравка для функції Intn оновилася після генерації ключа, тобто при кожному запуску бінарного файлу та його клонів генерується один і той же ключ AES. Усі файли, зашифровані на хості, шифруються тим самим ключем, і знання ключа відповідного екземпляра PartyTicket дозволяє розшифрувати їх. Сценарій, який використовує цей недолік для відновлення зашифрованих файлів, доступний у Git-репозиторії CrowdStrike.

Для кожного файлу ключ шифрування AES сам шифрується за допомогою RSA-OAEP використовуючи відкритий ключ RSA, який має такі параметри:

Modulus (N): 0xcbb94cb189a638b51e7cfe161cd92edb7145ecbd93989e78c94f8c15c61829286fd834d80c931daed4acaba14835fd3a6721602bcaa7193245fc6cf8e1d3261460ff3f1cbae3d44690beb989adee69ac486a932ee44dbdf0a44e772ab9822a16753cd08bdbb169f866f722114ee69c0cf1588fdaf8f7efd1c3ed243786078593f9b0cd867bab2b170c1843660d16e2181ae679137e2650551a41631398e027206e22a55858c741079ceafd50d5bd69546d4d52f5a33b0a576e1750d3f83afa1ce4403d768cbd670b443f61794b44705a8b1132c0c0ce77dbd04053ba20aec9baf23944270f10d16ad0727ed490c91c7f469278827c20a3e560f7c84015f7e1b
Exponent (E): 0x10001


Перед шифруванням програма-вимагач перейменовує файл у форматі <original file name>.[[email protected][.]com].encryptedJB ("JB", ймовірно, означає ініціали президента США Джозефа Байдена, враховуючи політичний зміст бінарного файлу). Потім програма-вимагач перезаписує вміст зашифрованими даними. PartyTicket шифрує лише перші 9437184 байта (9,44 МБ) файлу. Якщо розмір файлу, переданого як аргумент, більший за ліміт, всі дані, що перевищують обмеження, залишаються незашифрованими. Після шифрування вмісту файлу PartyTicket додає до кінця файлу ключ AES, зашифрований за допомогою RSA .

Перед початком шифрування програма пише викупну HTML-нотатку в каталог робочого столу користувача з назвою read_me.html (рисунок 1). Якщо це не навмисні помилки, граматичні конструкції в нотатці свідчать про те, що вона, ймовірно, не була написана або вичитана людиною, яка вільно володіє англійською.

Рисунок 1. Викупна записка


Аналіз

Спочатку аналітична служба CrowdStrike не приписувала діяльність програми PartyTicket конкретному зловмиснику.

Програма-вимагач містить помилки в реалізації, що робить її шифрування повільним та легко зламним. Цей недолік говорить про те, що автор шкідливої програми або не мав досвіду написання мовою Go, або доклав замало зусиль для її тестування, можливо через обмежений час розробки. Зокрема, PartyTicket не такий досконалий, як DriveSlayer, який реалізує низькорівневу схему аналізу NTFS. Відносна незрілість та політична спрямованість цієї програми-вимагача, час її розгортання та орієнтація на українські організації дозволяють припустити, що вона використовується як додаткове корисне навантаження до DriveSlayer, а не як стандартна програма-вимагач.


Сигнатури YARA

Для виявлення PartyTicket можна використати наступне правило YARA:


Сценарій для розшифровування файлів

Через вище описані помилки в генерації ключа AES, використовуваного PartyTicket в процесі шифрування, його можна розшифрувати. Наведений нижче скрипт Go розшифровує файли, зашифровані екземпляром PartyTicket 4dc13bb83a16d4ff9865a51b3e4d24112327c526c1392e14d56f20d6f4eaf382. Скрипт приймає файл для розшифровування як аргумент через flag "-p" і зберігає розшифрований результат у "decrypted.bin" у тому ж каталозі. Сценарій може бути створений у вигляді файлу, запущеного за допомогою пакета Go run; він був протестований за допомогою Go версії 1.16.6.


Дізнайтеся, як захистити свою організацію від сучасних кібератак за допомогою продуктів CrowdStrike.


iIT Distribution – офіційний дистриб'ютор рішень від CrowdStrike, які дозволяють компаніям використовувати передові технології в галузі побудови безперебійного захисту своїх IT-інфраструктур. Ми тісно співпрацюємо з нашими клієнтами, надаючи повний комплекс послуг із супроводу проєктів.


Назад

Mobile Marketing
+