Wulfric Ransomware – шифрувальник, якого немає

Часом так хочеться зазирнути якомусь вірусописачеві у вічі і запитати: навіщо і чому? З відповіддю на питання «як» ми впораємося самі, а ось дізнатися, чим думав керувався той чи інший творець шкідливого ПЗ, було б дуже цікаво. Тим більше коли нам трапляються такі «перлини».

Герой сьогоднішньої статті – цікавий екземпляр шифрувальника. Замислювався він, мабуть, як черговий «вимагач», але його технічна реалізація більше схожа на чийсь злий жарт. Про цю реалізацію сьогодні і поговоримо.

На жаль, простежити життєвий цикл цього енкодера практично неможливо - занадто мало статистики по ньому, оскільки поширення він, на щастя, не отримав. Тому залишимо за дужками походження, методи зараження та інші згадки. Розкажемо лише про наш випадок знайомства з Wulfric Ransomware і як ми допомогли користувачеві врятувати його файли.

I. Як усе починалося

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

Добридень! Були зашифровані файли на файловому сховищі (samba4) із безпарольним входом. Підозрюю, що зараза пішла з комп'ютера дочки (Windows 10 зі штатним захистом Windows Defender). Комп'ютер дочки не вмикали після цього. Файли зашифровані в основному .jpg та .cr2. Розширення файлів після шифрування: .aef.

Ми отримали від користувача зразки зашифрованих файлів, записку про викуп та файл, який, ймовірно, є ключем, необхідним автору шифрувальника для розшифрування файлів.

Ось і всі наші зачіпки:

  • 01c.aef (4481K)
  • hacked.jpg (254K)
  • hacked.txt (0K)
  • 04c.aef (6540K)
  • pass.key (0K)

Погляньмо на записку. Скільки біткоїнів цього разу?

Переклад:

Увага! Ваші файли зашифровані!
пароль є унікальним для вашого ПК.

Заплатіть суму 0.05 BTC на біткоін-адресу: 1ERtRjWAKyG2Edm9nKLLCzd8p1CjjdTiF
Після оплати надішліть мені листа, прикріпивши файл pass.key на [захищено електронною поштою] із повідомленням про оплату.

Після підтвердження я надішлю вам розшифровувач для файлів.

Ви можете оплатити біткоїни онлайн різними способами:
buy.blockexplorer.com - Оплата банківською картою
www.buybitcoinworldwide.com
localbitcoins.net

Про біткоїни:
en.wikipedia.org/wiki/Bitcoin
Якщо ви маєте якісь питання, пишіть мені на [захищено електронною поштою]
Як бонус я розповім, як зламаний ваш комп'ютер і як його захистити у майбутньому.

Пафосний вовк, покликаний показати жертві серйозність ситуації. Втім, могло бути й гірше.

Wulfric Ransomware – шифрувальник, якого немає
Мал. 1. -As a bonus, I буде tell you how to protect your computer in the future. -Seems legit.

ІІ. Приступаємо до роботи

Насамперед ми глянули на структуру надісланого зразка. Як не дивно, він не був схожий на файл, який постраждав від шифрувальника. Відкриваємо шістнадцятковий редактор і дивимося. У перших 4 байтах міститься оригінальний розмір файлу, наступні 60 байт заповнені нулями. Але найцікавіше знаходиться наприкінці:

Wulfric Ransomware – шифрувальник, якого немає
Мал. 2 Аналізуємо пошкоджений файл. Що одразу впадає у вічі?

Все виявилося дуже прикро: 0х40 байт із заголовка були перенесені в кінець файлу. Для відновлення даних досить просто повернути їх у початок. Доступ до файлу відновлено, але зашифровано залишилася назва, і з ним все складніше.

Wulfric Ransomware – шифрувальник, якого немає
Мал. 3. Зашифрована назва Base64 виглядає як безладний набір символів.

Спробуємо розібрати pass.key, надісланий користувачем. У ньому бачимо 162-байтную послідовність символів в ASCII.

Wulfric Ransomware – шифрувальник, якого немає
Мал. 4. 162 символи, залишені на ПК жертви.

Якщо придивитися, можна помітити, що символи повторюються з певною періодичністю. Це може свідчити використання XOR, де властиві повторення, частота яких залежить від довжини ключа. Розбивши рядок по 6 символів і про XOR в деяких варіантах XOR-послідовностей, якого-небудь осмисленого результату ми не досягли.

Wulfric Ransomware – шифрувальник, якого немає
Мал. 5. Бачите повторювані константи в середині?

Вирішили погуглити константи, бо так, так теж можна! І всі вони в результаті привели до одного алгоритму – Batch Encryption. Після вивчення скрипту стало зрозуміло, що наш рядок – це не що інше, як результат його роботи. Слід згадати, що це зовсім не шифрувальник, а всього лише кодувальник, який замінює символи на 6-байтні послідовності. Жодних тобі ключів чи інших секретів 🙁

Wulfric Ransomware – шифрувальник, якого немає
Мал. 6. Шматок оригінального алгоритму невідомого авторства.

Алгоритм не працював би як слід, якби не одна деталь:

Wulfric Ransomware – шифрувальник, якого немає
Мал. 7. Morpheus approved.

За допомогою зворотної підстановки перетворюємо рядок з pass.key текст з 27 символів. На особливу увагу заслуговує людський (швидше за все) текст 'asmodat'.

Wulfric Ransomware – шифрувальник, якого немає
Рис.8. USGFDG=7.

Нам знову допоможе Google. Після невеликого пошуку знаходимо цікавий проект на GitHub – Folder Locker, написаний на .Net і використовуючи бібліотеку 'asmodat' з іншого облікового запису на «Гіті».

Wulfric Ransomware – шифрувальник, якого немає
Мал. 9. Інтерфейс Folder Locker. Обов'язково перевірили на шкідливість.

Утиліта є шифратором для Windows 7 і вище, який поширюється з відкритим вихідним кодом. При шифруванні використовується пароль, необхідний для подальшого дешифрування. Дозволяє працювати як з окремими файлами, так і з цілими директоріями.

Її бібліотека використовує симетричний алгоритм шифрування Rijndael як CBC. Примітно, що розмір блоку було обрано 256 біт – на відміну від прийнятого в стандарті AES. В останньому розмір обмежується 128 бітами.

Наш ключ формується за стандартом PBKDF2. При цьому паролем виступає SHA-256 від введеного в утиліті рядка. Залишається лише знайти цей рядок, щоб сформувати ключ дешифрування.

Що ж, повернемося до нашого вже розкодованого pass.key. Пам'ятаєте рядок з набором цифр і текстом 'asmodat'? Пробуємо використовувати перші 20 байт рядка як пароль для Folder Locker.

Дивись, працює! Кодове слово підійшло, і все чудово розшифрувалося. Судячи з символів пароля – це HEX-подання певного слова ASCII. Спробуємо відобразити кодове слово у текстовому вигляді. Отримуємо 'shadowwolf'. Вже відчуваєте симптоми лікантропії?

Давайте ще раз поглянемо на структуру ураженого файлу, тепер знаючи механізм роботи локера:

  • 02 - режим шифрування імен;
  • 58 00 00 00 – довжина зашифрованого та закодованого у base64 імені файлу;
  • 40 00 00 00 – розмір заголовка.

Червоним і жовтим виділено саме зашифроване ім'я та перенесений заголовок відповідно.

Wulfric Ransomware – шифрувальник, якого немає
Мал. 10. Червоним виділено зашифроване ім'я, жовтим – перенесений заголовок.

А тепер порівняємо зашифроване та розшифроване імена у шістнадцятковій виставі.

Структура розшифрованих даних:

  • 78 B9 B8 2E – сміття, створене утилітою (4 байти);
  • 0С 00 00 00 - Довжина розшифрованого імені (12 байт);
  • далі йде, власне, ім'я файлу та доповнення нулями до потрібної довжини блоку (паддинг).

Wulfric Ransomware – шифрувальник, якого немає
Мал. 11. IMG_4114 виглядає набагато краще.

ІІІ. Висновки та висновок

Повертаючись на початок. Ми не знаємо, чим керувався автор Wulfric.Ransomware і яку мету він мав. Безумовно, для рядового користувача результат роботи навіть такого шифрувальника здасться великою бідою. Файли не відкриваються. Усі назви зникли. Замість звичної картинки – вовк на екрані. Примушують читати про біткоїни.

Щоправда, цього разу під масою «страшного енкодера» ховалася така ось безглузда спроба здирства, де зловмисник використовує готові програми і залишає ключі прямо на місці злочину.

До речі, про ключі. У нас не було шкідливого скрипта чи трояна, яким можна було б зрозуміти, як виник цей pass.key - Механізм появи файлу на зараженому ПК залишається невідомим. Але, пригадую, у своїй записці автор згадував про унікальність пароля. Так ось, кодове слово для розшифровки настільки ж унікальне, наскільки унікальним є юзернейм shadow wolf

І все-таки, тіньовий вовк, навіщо і чому?

Джерело: habr.com

Додати коментар або відгук