Введение.
По данным компании Check Point, к концу первого полугодия 2022 года 1 из 40 организаций по всему миру подвергались атакам шифровальщиков, что представляет собой тревожный рост на 59% за последний год. Бизнес шифровальщиков продолжает расти в гигантских масштабах благодаря огромным выплатам, которые требуют - и часто получают - киберпреступные группировки. С добавлением тактики двойного вымогательства атаки шифровальщиков стали еще более финансово привлекательными: даже если жертва отказывается платить, украденные данные могут быть проданы на Darknet-форуме за значительную сумму.
Прошли те времена, когда кибератаки совершались энтузиастами-одиночками, которым иногда помогали друзья и единомышленники. Как показала недавняя утечка данных банды вымогателей Conti, бэкенд современной громкой киберпреступной операции напоминает структуру гигантских IT-компаний, сотрудники которых могут находиться по всему миру и иметь четко определенные роли и обязанности. Судя по вниманию к деталям, которое мы наблюдали в недавнем инциденте с Black Basta, замеченном командой Check Point Incident Response Team, операторы, стоящие за этим шифровальщиком, также имеют впечатляющую организационную структуру.
С мая 2022 года было зафиксировано более 89 случаев вымогательства со стороны группировки Black Basta в отношении известных организаций. Данные свидетельствуют о явной геоспецифической ориентации группировки на США и Германию; 49% жертв, перечисленных на сайте утечек группировки - это американские аккаунты. Сумма выкупа в некоторых случаях превышала 1 миллион долларов США.
Рис. 1: Топ-10 стран-жертв по данным сайтов утечек.
В статье ниже мы описываем внутреннюю работу кампании Black Basta и уделяем особое внимание этапу доставки, на котором происходит основная подготовка к беспрепятственному выполнению вредоноса. Мы объясняем все многочисленные уловки и приемы противодействия анализу вредоноса, которые не позволяют эмуляторам и песочницам обнаружить и проанализировать угрозу в автоматическом режиме. В каждой соответствующей записи мы даем ссылки на наши энциклопедии Anti-Debug и Evasions: эти сайты являются основными источниками информации о многочисленных техниках, сгруппированных по категориям, с примерами кода и возможными мерами противодействия. Наконец, но не в последнюю очередь, мы представляем обзор того, как Black Basta шифрует файлы в системе и как он осуществляет латеральное перемещение.
Технические подробности.
Прежде чем начнется собственно выполнение шифрования, вредонос необходимо доставить на машину жертвы. Благодаря творческому подходу и развитым социальным навыкам членов киберпреступного синдиката, существуют различные способы доставки дроппера на машину выбранной жертвы. Также возможно последовательное выполнение модулей (мы наблюдали комбинацию QakBot и Cobalt Strike), что в конечном итоге приводит к выполнению вредоносного кода.
Рис. 2: Возможные способы доставки Black Basta на машину жертвы.
Мы заметили, что дропперы могут быть гораздо более сложными, чем технически несложный код самого шифровальщика. Ниже мы опишем последний этап доставки вымогателя Black Basta.
Этап доставки.
Дроппер Black Basta имитирует приложение для создания загрузочных USB-накопителей, размещенное на сайте:
Рис. 3: Иконка и описание дроппера Black Basta.
Приложение имеет цифровую подпись с тем же сертификатом (выданным «Akeo Consulting»), который используется для легитимных исполняемых файлов с сайта Rufus:
Рис. 4: Цифровая подпись дроппера Black Basta и издатель сертификата.
Подробнее о том, как возможно создать вредоносное приложение с проверенной цифровой подписью, читайте в специальной статье исследовательской группы Check Point.
Приемы уклонения и противодействия анализу.
В дроппере Black Basta реализовано довольно много антиотладочных приемов, перечисленных ниже и сгруппированных по категориям.
Рис. 5: Техники защиты от отладки и уклонения в дроппере Black Basta.
Если какая-либо из этих техник успешно обнаруживает отладчик и/или среду эмуляции, дроппер прекращает свое выполнение и закрывается, не запуская Black Basta.
Системные флаги.
Данная группа антиотладочных техник полагается на внутрипроцессные структуры для проверки статуса ведения отладки.
- PEB: присутствует ли отладчик
- PEB: идет отладка
- PEB: NtGlobalFlag
- CheckRemoteDebugger
- Проверка отладчика ядра
Регистры процессора.
Методы, сгруппированные ниже, используют регистры процессора для проверки отладки процесса.
- Установка флага ловушки
- Проверка флага ловушки, как описано выше. Флаг не устанавливается, просто проверяется
- Проверка точек останова HW (метод 1 в ссылке)
Инструкции процессора.
Методы используют инструкции процессора через прямые вызовы или обертки, чтобы проверить, ведется ли отладка процесса.
Проверка времени.
Методы выполняют проверку времени, чтобы увидеть различия между отлаживаемым процессом и тем, который выполняется без отладчика.
Проверки библиотек.
Техника основывается на предположении, что в обычной системе есть некоторые общие системные библиотеки, которые могут быть загружены без проблем, и что есть также некоторые необычные библиотеки, которые не должны присутствовать в обычной системе. Однако в среде песочницы при попытке загрузить необычную библиотеку может быть возвращен заранее определенный код вместо того, который возвращается в таких случаях на обычной машине. Разница в возвращаемом коде может быть достаточна для выявления песочницы.
Библиотеки, которые должны быть загружены:
• kernel32.dll
• networkexplorer.dll
• NlsData0000.dll
Библиотеки, которые не должны быть загружены:
• NetProjW.dll
• Ghofr.dll
• fg122.dll
Проверки Windows API.
Следующая группа приемов использует функции Windows API для определения того, отлаживается ли процесс.
- VirtualAlloc в сочетании с GetWriteWatch
- CloseHandle с плохим дескриптором
- OutputDebugString для проверки последней системной ошибки
Загрязнение журнала.
Техника на самом деле не является антиотладочной, но усложняет анализ логов. Суть в том, чтобы сделать случайное количество вызовов функции kernel32.beep. Вы можете увидеть больше в анализе песочницы.
Неудачные проверки из-за ошибки разработки.
Эти проверки должны использовать особенности либо среды эмуляции, либо отлаженного процесса, но не работают должным образом из-за ошибок в кодировании.
- FindWindow (имя класса: ▬unAwtFrame) - Первый символ в имени неверен; должно быть SunAwtFrame.
- NtQueryInformationProcess, проверка DebugPort - Не работает из-за неверного имени dll.
Скрытый дамп.
После того, как этап уклонения успешно пройден, у дроппера Black Basta имеется еще один трюк. Black Basta не просто распаковывается и исполняется в памяти; перед PE-заголовком располагаются данные, чтобы помешать автоматическим сканерам легко определить вредоносную нагрузку.
Рис. 6: Данные, расположенные перед PE-заголовком для предотвращения автоматического анализа памяти.
Как и ожидалось, команда.imgscan в WinDbg не смогла обнаружить PE-модуль Black Basta в памяти процесса дроппера.
Рис. 7: Отсутствие модуля Black Basta при сканировании памяти WinDbg.
После прохождения всех этих шагов выполняется собственно Black Basta.
Вредоносная нагрузка Black Basta.
В начале выполнения шифровальщика создается мьютекс, чтобы обеспечить активность только одной копии вредоносной программы:
Рис. 8: Создание мьютекса в Black Basta.
В описанном нами примере имя мьютекса – «dsajdhas.0».
Затем вредонос устанавливает обои и назначает пользовательский значок файлам с расширением «.basta».
Рис. 9: Изображения, сброшенные Black Basta.
Изображения берутся из каталога TEMP, куда Black Basta их распаковывает.
Вредонос также пытается удалить все теневые копии томов, как показано на рисунке ниже:
Рис. 10: Команды, выполняемые для удаления копий теневых томов.
Шифрование.
Создается несколько потоков для многопоточного шифрования:
Рис. 11: Потоки, созданные для шифрования.
Вредонос шифрует все файлы, найденные на дисках, за исключением тех, в путях к которым содержатся следующие строки:
- $Recycle.Bin
- Windows
- Documents and Settings
- Local Settings
- Application Data
- txt
- Boot
- txt
- jpg
- DAT
- ico
Потоковый шифр ChaCha20 (который, как сообщается в независимых исследованиях, быстрее AES) используется для шифрования с ключом, генерируемым случайным образом для каждого зашифрованного файла. Этот ключ затем передается для шифрования RSA с жестко закодированным открытым ключом для получения 512 байт зашифрованного ключа ChaCha20. Этот ключ добавляется в конец зашифрованного файла:
Рис. 12: Начало зашифрованного ключа в конце файла (слева); оригинальный файл (справа).
В конце блока также находится длина зашифрованного ключа (0x200):
Рис. 13: Длина ключа в самом конце зашифрованного файла.
Обратите внимание, что шифруется не весь файл. Вредонос нацелен на каждый третий блок из 64 байт:
Рис. 14: Блоки, зашифрованные Black Basta (слева); оригинальный файл (справа).
Для обработки файла используются обычные функции kernel32:
• CreateFile
• ReadFile
• WriteFile
• MoveFile (для переименования зашифрованного файла).
В качестве примечания следует отметить, что используется мини GMP-реализация RSA.
После завершения шифрования вредонос сбрасывает на Рабочий стол записку с требованием выкупа в файле «readme.txt». Идентификатор компании жестко закодирован в записке, что является признаком таргетированности и тщательной подготовки атаки:
Рис. 15: Идентификатор компании в образце.
Не существует очевидного способа расшифровать файлы без знания закрытого ключа RSA.
Автоматическое распространение.
Black Basta имеет встроенную функцию автоматического распространения по сети, в случае если функций дропперов недостаточно для выполнения задачи. Вредонос пытается подключиться к AD с помощью LDAP API и перебирает подключенные рабочие станции, используя строку фильтра (samAccountType=805306369):
Рис. 16: Функция поиска по подключенным рабочим станциям.
После получения списка рабочих станций программа пытается скопировать себя на удаленные машины по пути \\\c$\\Windows\\\tmp.exe. Затем с помощью COM-объектов objectIWbemClassObject (CLSID: 4590F812-1D3A-11D0-891F-00AA004B2E24) и IWbemServices->Win32_Process через метод Create запускается скопированный на предыдущем этапе исполняемый файл.
Заключение.
Атаки шифровальщиков являются одной из самых серьезных угроз, с которыми может столкнуться организация. Современные шифровальщики имеют в своем активе множество успешных атак и могут перемещаться по сети, что позволяет получать все больше и больше гарантированного вознаграждения при использовании схемы двойного вымогательства.
Недавно появившийся Black Basta - это уже успешный игрок на рынке, который принимает различные меры предосторожности и действительно шифрует данные, о чем свидетельствуют применяемые методы защиты от анализа и уклонения. Сочетание социальных и технических навыков, демонстрируемых группировкой Black Basta, при успешном применении в атаке может привести к поистине разрушительным итогам.
Как видно из статьи, не только сама программа-вымогатель разработана таким образом, чтобы нанести максимальный ущерб за минимально возможное время, но и этап ее доставки также отличается скрытностью, изощренностью и эффективностью. Black Basta без сомнения знает, что среда безопасна, и имеет все шансы выполнить шифрование.
Чтобы снизить вероятность стать жертвой этой и подобных атак, защитникам следует применять следующие методы:
- Обучайте своих сотрудников кибербезопасности.
- Не открывайте некорпоративные вложения от неизвестных отправителей.
- Обновляйте и улучшайте безопасность своей инфраструктуры.
- Регулярно создавайте резервные копии конфиденциальных данных и храните их на внешних носителях.
- Поддерживайте свои системы в актуальном состоянии с помощью последних доступных обновлений.
Check Point's Anti-Ransomware защищает организации от самых сложных атак, включая Black Basta, и безопасно восстанавливает зашифрованные данные.
Anti-Ransomware предлагается как часть Harmony Endpoint, комплексного решения Check Point для защиты конечных точек. Harmony Endpoint обеспечивает комплексную защиту конечных точек на самом высоком уровне безопасности.
Правила Check Point.
- Ransomware.Win.BlackBasta.A
- Ransomware.Win.BlackBasta.B
Индикаторы компрометации.
- 07fdfcde9c9a3f60b1302c6a42ef1191fcfa861e94638968c8023ed957d9144f
- 5d2204f3a20e163120f52a2e3595db19890050b2faa96c6cba6b094b0a52b0aa
- 5d2204f3a20e163120f52a2e3595db19890050b2faa96c6cba6b094b0a52b0aa
- 7883f01096db9bcf090c2317749b6873036c27ba92451b212b8645770e1f0b8a
- ae7c868713e1d02b4db60128c651eb1e3f6a33c02544cc4cb57c3aa6c6581b6e
- b1773d41cb87d61073f7bb1fc3aca877f01fd64f7b1430666ce3c9bb65ecae70
- bc1baf6014affceab4e59a781c33df25f2e9baa17c0cc579f6a6702d0db585d2
- e354bf321585aef56829913384ff890deb5836ce1299fb27d7d34b4dab37b937
Референсы.
- Check Point Threat Report after H1 2022// https://blog.checkpoint.com
- Leaks of Conti Ransomware Group // https://research.checkpoint.com
- Anti-Debug Encyclopedia // https://anti-debug.checkpoint.com
- Evasions Encyclopedia // https://evasions.checkpoint.com
- Can You Trust a File’s Digital Signature? // https://research.checkpoint.com
- What’s the appeal of using ChaCha20 instead of AES? // https://crypto.stackexchange.com
Источник: https://research.checkpoint.com