Описание вредоносного ПО

Билдер LockBit и целевые шифровальщики

В прошлом году мы опубликовали подробный анализ билдера LockBit 3.0, «утекшего» в публичный доступ в 2022 году. Благодаря этой утечке злоумышленники получили возможность создавать собственные модификации зловреда для разных целей. Функции распространения по сети и обхода защиты, которые можно настроить в билдере, повышают эффективность атак, при этом риски существенно возрастают, если у злоумышленников уже есть привилегированные учетные данные в целевой инфраструктуре.

Недавно в одном инциденте мы столкнулись именно с таким сценарием: киберпреступникам удалось заполучить учетные данные администратора. Они собрали свою версию шифровальщика, которая при помощи этих учетных данных могла распространяться по сети и выполнять такие вредоносные действия, как отключение Windows Defender и удаление журналов событий Windows, чтобы зашифровать данные и замести следы.

В этой статье мы снова рассматриваем файлы билдера LockBit 3.0 и анализируем, какими параметрами воспользовались злоумышленники, чтобы максимизировать ущерб. Также мы приводим список профилактических мер, с помощью которых сетевые администраторы могут избежать заражения.

Повторный анализ файлов билдера LockBit 3.0

С появлением билдера LockBit 3.0 стало намного проще создавать пользовательские модификации шифровальщиков. На рисунке ниже представлены файлы, из которых состоит билдер. Как мы видим, keygen.exe отвечает за генерацию открытого и закрытого ключей для шифрования и расшифровки файлов. Затем builder.exe генерирует модифицированную версию зловреда в соответствии с параметрами, заданными в файле config.json.

Файлы билдера LockBit

Файлы билдера LockBit

Весь этот процесс автоматизирован с помощью скрипта Build.bat, который выглядит следующим образом:

В файле config.json можно активировать функции имперсонации (impersonation) и указать учетные записи, от имени которых должен действовать шифровальщик (impers_accounts). В приведенном ниже примере зловред сконфигурирован использовать права учетной записи администратора. В настройках также можно активировать шифрование сетевых папок (network_shares), отключение Windows Defender (kill_defender), и распространение по сети с помощью PsExec (psexec_netspread). В процессе работы образец вредоносной программы может удалять журналы событий Windows (delete_eventlogs), чтобы замести следы.

Пользовательская конфигурация

Пользовательская конфигурация

Билдер также позволяет злоумышленникам выбирать, какие файлы и каталоги не нужно шифровать. Если злоумышленник хорошо знает целевую инфраструктуру, он может создать вредоносную программу под конкретную сетевую архитектуру объекта, обозначив важные файлы, учетные записи администраторов и ключевые системы. На рисунках ниже показан процесс генерации собственного шифровальщика в соответствии с приведенной выше конфигурацией и получившиеся файлы. Как мы видим, главный файл здесь — LB3.exe. Это шифровальщик, который будет доставлен в систему жертвы. Также билдер создает файл LB3Decryptor.exe, позволяющий восстановить зашифрованные файлы, и еще несколько вариантов шифровальщика. Например, LB3_pass.exe представляет собой защищенную паролем версию вымогателя, а отражающая DLL-библиотека дает возможность обойти стандартный загрузчик операционной системы и внедрить вредоносное ПО непосредственно в память. Файлы TXT содержат инструкцию по выполнению защищенных паролем файлов.

Создание индивидуальной версии LockBit

Создание индивидуальной версии LockBit

Созданные файлы LockBit

Созданные файлы LockBit

При запуске полученной сборки на виртуальной машине она делает свое злое дело и генерирует файлы с требованием выкупа. В реальных сценариях в таких файлах описывается, как именно жертва должна связаться со злоумышленниками, чтобы получить дешифратор. Тут важно отметить, что мы не рекомендуем вступать в переговоры со злоумышленниками и платить выкуп. Даже если оставить в стороне этические аспекты этого решения, нет никакой гарантии, что вымогатели предоставят инструмент для восстановления файлов.

Записка с требованием выкупа

Записка с требованием выкупа

Однако, поскольку мы сами сгенерировали образец шифровальщика и соответствующий дешифратор в контролируемой лабораторной среде, мы смогли проверить, работает ли последний на самом деле. Мы попытались расшифровать зашифрованные файлы и установили, что при наличии дешифратора их действительно можно восстановить, как показано на рисунке ниже.

Исполнение файла LB3Decryptor

Исполнение файла LB3Decryptor

При этом еще раз подчеркнем: даже существование корректно работающего дешифратора не гарантирует, что злоумышленники сдержат свое слово.

Недавняя операция по ликвидации LockBit и пользовательские сборки шифровальщика

В феврале 2024 года международная полицейская операция «Кронос» пресекла деятельность LockBit. Совместными усилиями правоохранительные органы из десяти стран конфисковали инфраструктуру шифровальщика и взяли под контроль его среду администрирования. Однако спустя всего несколько дней после операции группа вымогателей объявила о своем возвращении.

В результате операции правоохранительные органы получили доступ к инфраструктуре группы и закрытые ключи для расшифровки файлов. Благодаря этому они смогли подготовить набор инструментов для расшифровки на основе списка идентификаторов известных жертв. Утилита check_decryption_id проверяет, есть ли идентификатор, активированный для жертвы, в списке известных ключей дешифрования:

Выполнение файла check_decryption_id.exe

Выполнение файла check_decryption_id.exe

Даже если в теории существует возможность восстановить файлы, в реальности успешная расшифровка зависит от множества условий. Утилита check_decrypt проверяет, соответствует ли анализируемая система всем необходимым требованиям. По итогам проверки она создает CSV-файл со списком файлов, которые можно расшифровать, и адресом электронной почты, по которому можно обратиться за дальнейшими инструкциями по их восстановлению:

Выполнение файла check_decrypt.exe

Выполнение файла check_decrypt.exe

Этот набор инструментов привлек наше внимание, поскольку мы расследовали несколько случаев, связанных с угрозой LockBit. Обычно мы рекомендуем клиентам сохранить критически важные зашифрованные файлы и подождать, пока в результате анализа угрозы или действий правоохранительных органов не появится возможность их расшифровать, поскольку это лишь вопрос времени. С помощью описанных выше двух утилит мы проверили идентификаторы жертв и зашифрованные файлы, проанализированные нашей командой, но в большинстве случаев получили один и тот же результат:

Проверка по идентификаторам жертв, полученным нашей командой

Проверка по идентификаторам жертв, полученным нашей командой

Проверка с помощью check_decrypt также подтвердила, что расшифровка файлов на основе базы данных известных ключей невозможна:

Проверка зашифрованных файлов с помощью средства check_decrypt.exe

Проверка зашифрованных файлов с помощью средства check_decrypt.exe

На основании текущего анализа и своих предыдущих исследований мы пришли к выводу, что файлы, которые были зашифрованы полезной нагрузкой, созданной при помощи утекшего билдера LockBit, нельзя расшифровать имеющимися инструментами дешифрования. Дело в том, что группы, стоящие за этими атаками, не связаны с оператором RaaS-сервиса и не предоставляли ему свои закрытые ключи.

География атак с использованием утекшего билдера LockBit

Пользовательские сборки LockBit, созданные с помощью утекшего билдера, были замешаны в ряде инцидентов по всему миру. Скорее всего, эти атаки не связаны между собой и были совершены независимыми субъектами. Утекший билдер, по всей видимости, использовали и конкуренты группы LockBit, атаковавшие компании в СНГ, что нарушает первое правило группы — не вредить гражданам стран союза. Это привело к дискуссии в даркнете, в ходе которой операторы LockBit пытались объяснить, что не имеют отношения к этим атакам.

В своей практике реагирования на инциденты мы столкнулись с использованием утекшего билдера в инцидентах в России, Италии, Гвинее-Бисау и Чили. Хотя, как мы показали выше, билдер имеет множество настроек, злоумышленники использовали преимущественно стандартную или слегка измененную конфигурацию. Однако один случай выделяется на фоне этой тенденции.

Реальный инцидент с участием модификации LockBit

В одном из недавних инцидентов мы натолкнулись на образец шифровальщика LockBit, созданный с помощью утекшего билдера. Этот вымогатель использовал не встречавшиеся ранее функции имперсонации и распространения по сети. Злоумышленники проникли на сервер с выходом в интернет и открытым доступом к ряду важных портов. Каким-то образом им удалось раздобыть пароль администратора (возможно, он хранился в открытом виде в текстовом файле, либо злоумышленники прибегли к социальной инженерии). Затем атакующие создали свою модификацию шифровальщика, указав привилегированную учетную запись, к которой получили доступ. Нашей команде удалось получить значения соответствующих полей в файле config.json, который они использовали:

Как видно, данная модификация может выполнять операции от имени администратора, получать доступ к сетевым папкам и распространяться по сети с помощью PsExec.

Более того, такая конфигурация предполагает, что на зараженном хосте может выполняться более одной копии шифровальщика. Одно из первых действий исполняемого файла при запуске — проверка и создание уникального мьютекса на основе хеш-суммы открытого ключа шифровальщика в формате Global\%.8x%.8x%.8x%.8x%.8x. Если в конфигурации флаг running_one имеет значение true, и мьютекс уже присутствует в ОС, процесс будет завершен.

В нашем случае конфигурация позволяла запустить на одном хосте одновременно несколько экземпляров программы-вымогателя. Такое поведение в сочетании с флагами автоматического распространения в сети от имени привилегированной доменной учетной записи привело к лавинному эффекту: каждый зараженный хост пытался заразить другие хосты в сети, включая уже зараженные. В контексте реагирования на инциденты это означает, что можно было найти свидетельства одной и той же угрозы, поступающей из разных источников (см. ниже найденные на одном хосте записи о создании удаленной службы PsExec с аутентификацией, выполненной с нескольких зараженных хостов).

Создание удаленной службы PsExec

Создание удаленной службы PsExec

Хотя в зараженных системах сохранились эти записи, большая часть журналов была удалена шифровальщиком сразу после первичного заражения. Из-за этого было невозможно установить, как именно злоумышленнику удалось получить доступ к серверу и паролю администратора. Информация о создании удаленных служб сохранилась, потому что при горизонтальном распространении по сети зловред генерировал новые логи и уже не удалял их за собой, что помогло проанализировать его распространение внутри инфраструктуры.

Удаленные журналы событий

Удаленные журналы событий

Проанализировав некоторые следы, которые сохранились на первоначально зараженном сервере, мы обнаружили сжатые данные Gzip в потоке памяти. Данные были закодированы по алгоритму base64. После расшифровки и распаковки мы обнаружили признаки использования Cobalt Strike. Кроме того, нам удалось установить командный сервер, через который злоумышленники взаимодействовали с зараженной машиной, и мы сразу передали этот индикатор клиенту для блокирования.

Также мы обнаружили использование скрипта SessionGopher в инфраструктуре клиента. Это средство с помощью WMI извлекает информацию о сохраненных сеансах различного ПО для удаленного доступа, такого как WinSCP, PuTTY, FileZilla и Microsoft RDP. Для этого SessionGopher просматривает куст реестра HKEY_USERS на предмет сохраненных сеансов PuTTY, WinSCP и RDP. В режиме Thorough скрипт позволяет выявить файлы .ppk, .rdp и .sdtid для извлечения закрытых ключей и сведений о сеансах. Его можно запустить удаленно с помощью параметра -iL, за которым следует список компьютеров. Флаг -AllDomain позволяет запустить его на всех компьютерах, подключенных к AD. Как показано на рисунке ниже, скрипт легко извлекает сохраненные пароли для удаленных подключений. Результаты его работы можно экспортировать в файл CSV для последующего использования.

Извлечение паролей с помощью SessionGopher

Извлечение паролей с помощью SessionGopher

Хотя скрипт SessionGopher предназначен для сбора сохраненных учетных данных, злоумышленники не использовали его для получения доступа к аккаунту администратора при первоначальном проникновении. С помощью SessionGopher они собирали дополнительные учетные данные в инфраструктуре на более позднем этапе.

Как только мы определили домены командных серверов и ряд связанных со злоумышленниками IP-адресов, а также получили полное представление о скомпрометированных учетных записях и инструментах автоматического развертывания, клиент изменил учетные данные всех затронутых пользователей и настроил средства контроля безопасности так, чтобы остановить развитие атаки. Кроме того, мониторинг действий в сети и использования учетных записей позволил нам выявить зараженные системы и изолировать их для анализа и восстановления.

Этот случай демонстрирует интересную комбинацию методов получения доступа к сети атакуемой компании, обхода защиты и шифрования важных данных. Ниже перечислены тактики, техники и процедуры (TTP), выявленные в этой атаке.

Тактика Техника ID
Impact Data Encrypted for Impact T1486
Defense Evasion, Persistence, Privilege Escalation, Initial Access Valid Accounts T1078.002
Credential Access Credentials from Password Stores T1555
Lateral Movement Remote Services T0886
Discovery Network Service Discovery T1046
Defense Evasion Clear Windows Event Logs T1070.001
Defense Evasion Impair Defenses T1562

Профилактика атак шифровальщиков

Атаки с применением шифровальщиков могут наносить огромный ущерб, особенно если злоумышленникам удалось завладеть учетными данными с высоким уровнем привилегий. Меры по снижению риска таких атак могут различаться в зависимости от технологий, применяемых компанией. Однако можно выделить ряд методов, актуальных в любой инфраструктуры:

  • Использование хорошего, правильно настроенного антивирусного решения, например Kaspersky Endpoint Security.
  • Внедрение сервиса Managed Detection and Response (MDR) для проактивного мониторинга угроз.
  • Отключение неиспользуемых служб и портов, чтобы минимизировать поверхность атаки.
  • Своевременная установка обновлений программного обеспечения на всех системах инфраструктуры.
  • Регулярные тесты на проникновение и мониторинг уязвимостей для выявления слабых мест и своевременного применения эффективных мер противодействия.
  • Регулярные тренинги по кибербезопасности, чтобы сотрудники знали о киберугрозах и о том, как их избежать.
  • Правильно организованный процесс создания резервных копий критичных данных.

Заключение

В ходе анализа файлов билдера LockBit 3.0 мы обратили внимание на то, с какой легкостью злоумышленники могут создавать собственные версии шифровальщика. Разобранный в этой статье инцидент, в котором преступники использовали учетные данные администратора для развертывания собственной версии программы-вымогателя, только подтверждает это. Подобные случаи лишний раз подчеркивают важность надежных мер безопасности, позволяющих эффективно бороться с угрозами, а также развития культуры кибербезопасности среди сотрудников.

Решения «Лаборатории Касперского» детектируют эту угрозу как:

  • Trojan-Ransom.Win32.Lockbit.gen
  • Trojan.Multi.Crypmod.gen
  • Trojan-Ransom.Win32.Generic

А также скрипт SessionGopher:

  • HackTool.PowerShell.Agent.l
  • HackTool.PowerShell.Agent.ad

Билдер LockBit и целевые шифровальщики

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

CloudSorcerer: новая APT-угроза, нацеленная на российские государственные организации

«Лаборатория Касперского» обнаружила новую APT-угрозу CloudSorcerer, нацеленную на российские государственные организации и использующую облачные службы в качестве командных серверов аналогично APT CloudWizard.

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике