Руководство по расследованию атак с использованием CVE-2022-21894: кампания BlackLotus

Переводчик Google

В этом руководстве представлены шаги, которые организации могут предпринять, чтобы оценить, стали ли пользователи объектом нападения или скомпрометированы злоумышленниками, использующими CVE-2022-21894 через буткит Unified Extensible Firmware Interface (UEFI) под названием BlackLotus. Буткиты UEFI особенно опасны, поскольку они запускаются при запуске компьютера, до загрузки операционной системы, и поэтому могут мешать или деактивировать различные механизмы безопасности операционной системы (ОС), такие как BitLocker, целостность кода, защищенного гипервизором (HVCI) и Microsoft Defender. Антивирус. Хотя это может затруднить расследования и усилия по поиску угроз, некоторые артефакты все же можно использовать для идентификации затронутых устройств. Этот документ охватывает:

  • Методы определения того, заражены ли устройства в организации
  • Стратегии восстановления и предотвращения для защиты окружающей среды
Крайне важно отметить, что использование этого буткита злоумышленником представляет собой, прежде всего, механизм устойчивости и защитного уклонения. Он не является полезной нагрузкой первого этапа или начальным вектором доступа и может быть развернут только на устройстве, к которому злоумышленник уже получил либо привилегированный доступ, либо физический доступ. Вредоносная программа использует CVE-2022-21894 (также известный как Батон Падение) для обхода безопасной загрузки Windows и последующего развертывания вредоносных файлов в системном разделе EFI (ESP), запускаемых прошивкой UEFI. Это позволяет буткиту:

  • Обеспечьте постоянство, зарегистрировав ключ владельца машины злоумышленника (MOK).)
  • Отключите HVCI, чтобы разрешить развертывание вредоносного драйвера ядра.
  • Используйте драйвер ядра для развертывания HTTP-загрузчика пользовательского режима для управления и контроля (C2)
  • Отключите Bitlocker, чтобы избежать стратегий защиты от несанкционированного доступа в Windows.
  • Отключите антивирусную программу Microsoft Defender, чтобы избежать дальнейшего обнаружения.
Подробный анализ процесса установки BlackLotus и последующих действий см. этот блог от ESET.

Возможности обнаружения​

Microsoft Incident Response (ранее известная как Microsoft Detection and Response Team – DART) посредством судебно-медицинского анализа устройств, зараженных BlackLotus, выявила множество возможностей для обнаружения на нескольких этапах процессов установки и выполнения. Проанализированные артефакты включают в себя:

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

Недавно созданные и заблокированные файлы загрузчика​

BlackLotus записывает вредоносные файлы загрузчика в системный раздел EFI (ESP) и впоследствии блокирует их, чтобы защитить от удаления или взлома. Если в ESP на устройстве обнаружены недавно измененные и заблокированные файлы, особенно те, которые соответствуют известным именам файлов загрузчика BlackLotus, их следует рассматривать как крайне подозрительные, и устройства следует удалить из сети для проверки на наличие дополнительных доказательств BlackLotus или последующих действий. активность.

Чтобы определить, существуют ли такие файлы в ESP, охотники за угрозами могут смонтировать загрузочный раздел (с помощью монтирование утилита командной строки, например), чтобы проверить даты создания файлов внутри. Файлы с несовпадающим временем создания, а также файлы с именами, совпадающими с именами, защищенными драйвером ядра BlackLotus, следует считать подозрительными (рис. 1). Последнее изменение временные метки файлов в ESP следует сравнивать друг с другом; временные метки и имена файлов также можно сравнить с теми, что находятся в разделе ОС в разделе C:\Windows\Boot\EFI.

К файлам, защищенным драйвером, относятся файлы, первоначально перечисленные ESET.:

  • ESP:\EFI\Microsoft\Boot\winload.efi
  • ESP:\EFI\Microsoft\Boot\bootmgfw.efi
  • ESP:\EFI\Microsoft\Boot\grubx64.efi
Аннотированный снимок экрана со сведениями о файле, показывающий даты изменения и имена файлов, соответствующие файлам, связанным с BlackLotus..

Рисунок 1. Свидетельства дат недавних изменений и совпадения имен файлов, связанных с BlackLotus, на зараженном BlackLotus устройстве.

Чтобы дополнительно подтвердить, являются ли какие-либо файлы с совпадающими именами или несовпадающим временем модификации подозрительными, охотники за угрозами могут использовать локальный СертУтил Утилита командной строки, пытающаяся вычислить хеш подозрительного файла загрузчика в ESP. На рисунке 1 файл winload.efi НЕ имеет несовпадающего времени изменения, но соответствует имени файла, защищенному драйвером ядра BlackLotus..

Поскольку эти защищенные файлы загрузчика заблокированы BlackLotus, любая попытка доступа к этим файлам приводит к ОШИБКА_SHARING_VIOLATION ошибка с сообщением “Процесс не может получить доступ к файлу, поскольку он используется другим процессом.”. На рисунке 2 показана ошибка, возникающая при попытке хэширования winload.efi на зараженном устройстве с рисунка 1, что еще раз подтверждает, что в этом сценарии она связана с BlackLotus..

Снимок экрана утилиты Certutil, на котором показано сообщение об ошибке совместного использования

Рисунок 2. CertUtil сообщает об ошибке ERROR_SHARING_VIOLATION при попытке хэширования winload.efi в ESP зараженного устройства BlackLotus.


Если вредоносное ПО активно, СертУтил сообщает об ошибке нарушения совместного использования, как показано на рисунке 2; если не, СертУтил сообщает хэш файла. Файлы в ESP, которые возвращают эту ошибку, следует считать крайне подозрительными, особенно те, которые соответствуют защищенным именам файлов, перечисленным выше..

Наличие промежуточного каталога BlackLotus​

В процессе установки BlackLotus создает собственный каталог в ЕСП:/система32/. Хотя файлы внутри удаляются после успешной установки, сам каталог не удаляется. Кроме того, судебно-медицинский анализ ESP может выявить историческое присутствие файлов, ранее содержавшихся в этом каталоге (рис. 3).

Скриншот удаленных файлов в ESP

Рисунок. 3. Наличие удаленных файлов в ESP:\system32\, связанных с BlackLotus, в пользовательском промежуточном каталоге, которые все еще присутствуют после установки.

Модификация реестра​

Чтобы отключить HVCI, установщик изменяет ключ реестра. HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity установив значение Включено на «0» — но только если ключ уже существует. Охотникам за угрозами следует проверить свою среду на наличие этой модификации ключа реестра (рис. 4).

Снимок экрана редактора реестра, показывающий измененный ключ реестра для отключения HVCI

Рисунок 4. Изображение измененного раздела реестра RegEdit для отключения HVCI.

Записи журналов событий​

BlackLotus отключает антивирусную программу Microsoft Defender как метод обхода защиты, исправляя драйверы и лишая привилегии основного процесса..

Такое поведение может привести к появлению записей в Microsoft-Windows-Защитник Windows/Рабочий войдите в журналы событий Windows. Соответствующие записи журнала будут указывать на то, что Аналитика безопасности защиты от вредоносных программ перестала работать по неизвестной причине. (см. рисунок 5).

Снимок экрана журнала событий, показывающий, что постоянная защита остановлена

Рисунок. 5. Журнал событий, указывающий, что антивирусная программа Microsoft Defender перестала работать в режиме реального времени.

Отключение антивирусной программы Microsoft Defender также может привести к неожиданной остановке службы, в результате чего в журнале системных событий появится событие с кодом 7023 (с Менеджер по контролю услуг в качестве имени поставщика). Соответствующие записи журнала будут называть Антивирусная служба Microsoft Defender как затронутая служба (рис. 6).

Снимок экрана журнала системных событий, показывающий, что служба антивирусной программы Microsoft Defender прекращена

Рисунок. 6. Запись в журнале системных событий, указывающая, что служба антивирусной программы Microsoft Defender была прекращена из-за ошибки.

Сетевое журналирование​

Исходящие сетевые подключения от winlogon.exe, особенно к порту 80, следует считать крайне подозрительным. Это результат внедренной функции HTTP-загрузчика BlackLotus, подключающейся к серверу C2 или выполняющей обнаружение конфигурации сети. Служба Microsoft Incident Response обнаружила эту связь при мониторинге Sysmon на зараженном устройстве. На рисунке 7 изображено winlogon.exe пытаясь связаться с api.ipify.org сервис для определения публичного IP-адреса скомпрометированного устройства.

Снимок экрана события Sysmon, показывающий, что winlogon.exe пытается исходящее соединение через порт 80

Рисунок. 7. Запись о событии Sysmon, указывающая winlogon.exe попытка установить исходящую связь через порт 80
Эта запись была получена с помощью простой модификации файла Конфигурация SwiftOnSecurity Sysmon (см. рисунок 8).

Снимок экрана: измененная конфигурация системы для обнаружения сетевого подключения winlogon.exe

Рисунок. 8. Измененная конфигурация Sysmon для обнаружения winlogon.exe поведение сетевого подключения
Анализ нетстат вывод на затронутом устройстве также может выявить winlogon.exe поддержание сетевого соединения на порту 80. Учитывая возможности конфигурации имплантата, соединение может быть прерывистым..

Анализ журнала конфигурации загрузки​

Журналы Trusted Computing Group (TCG), также известные как Измеренная загрузка журналы — это журналы конфигурации загрузки Windows, которые содержат информацию о Процесс загрузки ОС Windows. Чтобы получить эти журналы, на устройстве должна быть установлена по крайней мере Windows 8 и включен доверенный платформенный модуль (TPM)..

от Как Windows использует модуль доверенной платформы: “В Windows 8 появилась измеряемая загрузка как способ записи операционной системой цепочки измерений компонентов программного обеспечения и информации о конфигурации в TPM посредством инициализации операционной системы Windows». «Для программного обеспечения измеренная загрузка записывает измерения ядра Windows, драйверов раннего запуска защиты от вредоносных программ и драйверов загрузки в TPM..”

Буткит BlackLotus имеет загрузочные драйверы, которые загружаются в цикле загрузки.. Измеренная загрузка журналы перечисляют компоненты BlackLotus как EV_EFI_Boot_Services_Application.

Эти журналы находятся в папке C:\Windows\Logs\MeasuredBoot каталог, содержащий несколько файлов с расширением .бревно – один для каждой перезагрузки системы. Эти журналы можно сравнивать друг с другом, чтобы выявить различия в компонентах, добавляемых или удаляемых при каждой загрузке..

В случае установки BlackLotus при активации BlackLotus в системе добавляются два компонента: grubx64.efi водитель и winload.efi драйвер (см. рис. 9).

Снимок экрана журналов MeasureBoot с аннотациями, показывающими компоненты BlackLotus.

Рисунок. 9. Компоненты BlackLotus, видимые в журналах MeasuredBoot после преобразования в XML.
На работающих машинах активный Измеренная загрузка файлы журналов хранятся в системной памяти и могут быть прочитаны либо через API базовых служб TPM, либо через PowerShell, показанный ниже. Альтернативно, их можно получить из судебно-медицинского изображения. Затем файлы журналов необходимо декодировать и преобразовать в XML/JSON. Здесь представлен пример сценария для извлечения и анализа этих журналов, основанный на GitHub — mattifestation/TCGLogTools: набор инструментов для получения и анализа журналов загрузки, измеренных TCG..

Код:
$TCGLogBytes = Get-TCGLogContent -LogType SRTMCurrent
$TCGLog = ConvertTo-TCGEventLog -LogBytes $TCGLogBytes
$PCR4 = $TCGLog.Events.PCR4
foreach ($Event in $PCR4) {
    if ($Event.EventType -eq "EV_EFI_BOOT_SERVICES_APPLICATION") {
        $DevicePath = $Event.Event.DevicePath
        if ($DevicePath -is [array]) {
            foreach ($Device in $DevicePath) {
                if (($Device.Type -eq "MEDIA_DEVICE_PATH") -and ($Device.SubType -eq "MEDIA_FILEPATH_DP")) {
                     Write-Host "Boot application:", $Device.DeviceInfo.PathName
                }
            }
        } else {
            $PathName = $DevicePath.DeviceInfo.PathName
            Write-Host "Boot application:", $PathName
        }
    }
}


Пример вывода этого скрипта с зараженного устройства можно увидеть на рисунке. 10.

Скриншот вывода сценария анализа TCG для перечисления загрузочных компонентов

Рисунок. 10. Пример вывода сценария синтаксического анализа TCG для перечисления загрузочных компонентов.

Детали обнаружения​

Антивирусная программа Microsoft Defender обнаруживает компоненты угроз как следующие вредоносные программы (обратите внимание, что эти сигнатуры активируются на хэшах известных образцов BlackLotus):
Защитник Microsoft для конечной точки предупреждает об известных действиях BlackLotus и/или действиях после эксплуатации. Следующий заголовок предупреждения может указывать на активность угроз в вашей сети.:
  • Возможный уязвимый загрузчик EFI.
Защита сети в Microsoft Defender для конечной точки блокирует подключения к известным индикаторам, связанным с серверами BlackLotus C2..

Рекомендации по восстановлению и профилактике​

Если установлено, что устройство заражено BlackLotus, его следует удалить из сети и переформатировать (как раздел ОС, так и раздел EFI) или восстановить из заведомо чистой резервной копии, включающей раздел EFI..

Чтобы предотвратить заражение через BlackLotus или другие варианты, использующие CVE-2022-21894, организациям следует:

  • Практикуйте принцип наименьших привилегий и соблюдайте гигиену учетных данных. Избегайте использования сервисных учетных записей уровня администратора на уровне домена. Ограничение прав локального администратора может помочь ограничить установку троянов удаленного доступа (RAT) и других нежелательных приложений. Это ключ к предотвращению злоумышленников, желающих развернуть BlackLotus, для которого требуются либо права удаленного администратора на целевом компьютере, либо физический доступ к устройству. Организациям следует реализовывать стратегии глубокоэшелонированной защиты, чтобы минимизировать риск того, что злоумышленники получат доступ и административную точку опоры в среде. Это может включать обнаружение и/или предотвращение на нескольких этапах перед развертыванием BlackLotus.:
    • Злоумышленник получает первоначальный доступ посредством фишинга, взлома устройств периметра или других способов.
    • Злоумышленник компрометирует учетные данные пользователя или учетной записи службы в сети.
    • Злоумышленник перемещается по сети, используя необычные или неавторизованные учетные записи, злоупотребляя программным обеспечением удаленного доступа или другими механизмами.
    • Злоумышленник эскалирует ситуацию и получает доменные или локальные административные привилегии
    • Злоумышленник, создающий вредоносные файлы на диске, включая установщики BlackLotus или файлы EFI.
  • Клиенты должны поддерживать актуальность продуктов защиты от вредоносного ПО. Клиентам, использующим автоматические обновления антивирусной программы Microsoft Defender, не нужно предпринимать дополнительных действий. Корпоративным клиентам, управляющим обновлениями, следует выбрать сборку обнаружения. 383.1029.0 или новее и развернуть его в своих средах..
  • Удалите сторонний центр сертификации UEFI Microsoft из конфигурации безопасной загрузки UEFI вашей системы, если это не требуется для загрузки вашей системы.. Выполнение этого шага блокирует работу BlackLotus, но не делает устранить уязвимость.

Ссылки​

 
Последнее редактирование модератором:
  • Like
Реакции: akok
Назад
Сверху Снизу