Разработчики вредоносного ПО TrickBot создали новый модуль, который исследует уязвимости UEFI, демонстрируя усилия злоумышленника на уровне, который дал бы им полный контроль над зараженными машинами.

Имея доступ к прошивке UEFI, злоумышленник установит на скомпрометированной машине контроль, который сохраняется после переустановки операционной системы или замены накопителей.

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

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

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

Ориентация на платформы Intel

Сегодня в совместном отчете отдела кибербезопасности Advanced Intelligence (AdvIntel) и исследователей из фирмы Eclypsium, занимающейся аппаратным обеспечением и безопасностью, представлены технические подробности о новом компоненте TrickBot.

На этом этапе TrickBoot действует как средство разведки, проверяя наличие уязвимостей в прошивке UEFI зараженной машины. На данный момент проверка нацелена только на платформы Intel (Skylake, Kaby Lake, Coffee Lake, Comet Lake). Тем не менее, модуль также включает в себя код для чтения, записи и стирания прошивки, поэтому его можно использовать для значительных повреждений.

Он проверяет, активна ли защита от записи UEFI / BIOS, с помощью драйвера RwDrv.sys от RWEverything, бесплатной утилиты, которая обеспечивает доступ к аппаратным компонентам, таким как микросхема флэш-памяти SPI, на которой хранится прошивка BIOS / UEFI системы.

Данный инструмент использовался в LoJax, первом рутките UEFI, обнаруженным в дикой природе, в результате атаки российских хакеров, известных как APT28 (Fancy Bear, Sednit, Strontium, Sofacy).

   «Все запросы к прошивке UEFI, хранящейся во флэш-чипе SPI, проходят через контроллер SPI, который является частью концентратора контроллеров платформы (PCH) на платформах Intel. Этот контроллер SPI включает механизмы контроля доступа, которые можно заблокировать во время процесса загрузки, чтобы предотвратить несанкционированное изменение прошивки UEFI, хранящейся в микросхеме флэш-памяти SPI »

- совместный отчет (Eclypsium, AdvIntel)

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

Исследователи обнаружили модуль 19 октября и назвали его TrickBoot, за его функциональность и название вредоносного ботнета, которое его развертывает.

В образце, проанализированном Advanced Intelligence, исследователи обнаружили имя «PermaDll», связанное с файлом «user_platform_check.Dll» в новом образце TrickBot.

Изучение файла с помощью Eclypsium показало, что злоумышленник реализовал механизм, который проверял однокристальный чипсет в скомпрометированной системе.

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

Исследователи также обнаружили, что актер использует функции известного инструмента эксплуатации встроенного ПО и библиотеки под названием fwexpl для следующих целей:

читать данные с аппаратных портов ввода-вывода
вызвать драйвер rwdrv.sys для записи данных в аппаратные порты ввода-вывода
вызвать драйвер rwdrv.sys для чтения данных из адресов физической памяти
вызвать драйвер rwdrv.sys для записи данных по адресам физической памяти

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

После идентификации платформы TrickBoot обращается к путям, связанным с чтением регистров для флэш-памяти (SPIBAR, PRO-PR4) и управлением BIOS (BC - содержит биты блокировки защиты от записи для доступа к BIOS на аппаратном уровне).

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

Основные последствия

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

Телеметрия AdvIntel показывает, что ежедневное число заражений TrickBot с 3 октября по 21 ноября достигло пика в 40 000, а в среднем - от 200 до 4 000. Эти цифры консервативны, так как не учитываются зараженные компьютеры в частных сетях, которые взаимодействуют извне, используя IP-адрес шлюза.

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

Операторы финансово мотивированы и используют ботнет для доставки программ-вымогателей Ryuk и Conti на дорогостоящие машины. С 2018 года они заработали не менее 150 миллионов долларов. Только у одной недавней жертвы они взяли 2200 BTC (на тот момент они оценивались в 34 миллиона долларов).

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

Защита

Джесси Майкл, из Eclypsium, пишет, что определение того, была ли взломана система на уровне прошивки UEFI, является сложной задачей.

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

Другой метод - использовать инструменты с открытым исходным кодом (CHIPSEC) или платформу Eclypsium, которая ищет слабые места на уровне оборудования и прошивки, а также может определить, активна ли защита от записи BIOS.

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

На основе анализа образца TrickBoot модуль только идентифицирует оборудование и проверяет, доступна ли запись в область BIOS. Но это можно легко изменить, чтобы разрешить запись во флэш-память SPI и изменить прошивку системы.

https://www.bleepingcomputer.com/news/security/trickbots-new-module-aims-to-infect-your-uefi-firmware/