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
+