Полювання на шкідливе ПЗ виявляє прихований універсальний завантажувач руткітів
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Нещодавно виявлений завантажувач руткітів з підписом Microsoft дозволяє зловмисникам розгортати непідписані модулі ядра на скомпрометованих системах. Зловмисне ПЗ використовує драйвер першого рівня для зв’язку з інфраструктурою C2 і завантажує плагіни другого рівня безпосередньо в пам’ять. Ця прихована модель виконання допомагає уникати диск-базованого виявлення, зберігаючи високі привілеї на рівні ядра.
Розслідування
Дослідники ідентифікували кластер підписаних драйверів, що зловживають Програмою сумісності апаратного забезпечення Windows (WHCP) для отримання легітимних підписів Microsoft. Розслідування виявило двоетапну модель виконання, в якій підписаний завантажувач обробляє ін’єкцію налаштованих, непідписаних драйверів ядра. Аналіз коду та інфраструктури також показав схожість з раніше задокументованим руткітом FiveSys.
Пом’якшення
Організації повинні контролювати підозріле або несанкціоноване завантаження драйверів режиму ядра і несподівані зміни реєстру, які впливають на безпеку. Важливо розгорнути засоби виявлення на кінцевих точках, здатні ідентифікувати завантаження модулів тільки в пам’ять для виявлення цієї активності. Обмеження використання драйверів WHCP від невідомих або ненадійних постачальників може ще більше зменшити експозицію.
Відповідь
Коли виявлена ця активність, ізолюйте уражені системи для порушення зв’язку C2 і запобігання латеральному переміщенню. Проведіть пам’яткову експертизу для ідентифікації ін’єктованих модулів ядра, які можуть ніколи не бути записаними на диск. Перевірте цілісність реєстру, приділяючи особливу увагу Параметрам виконання файлів зображень та несанкціонованим змінам у політиках безпеки.
Перебіг атаки
Виявлення
Можливі функції доступності через зловживання реєстром (через cmdline)
Перевірки антивірусу Windows Defender були вимкнені (через registry_event)
Можливе використання механізму тихого завершення процесу (через registry_event)
Підозріла активність зловмисного субu005cu0027єкта шляхом зловживання функціями доступності (через registry_event)
IOC (SourceIP) для виявлення: Полювання на зловмисне ПЗ для нового малопомітного універсального завантажувача руткітів
IOC (DestinationIP) для виявлення: Полювання на зловмисне ПЗ для нового малопомітного універсального завантажувача руткітів
Виявлення компонентів малопомітного завантажувача руткітів [Windows Sysmon]
Виконання симуляції
-
Наратив атаки та команди: Супротивник має намір розгорнути компонент руткіта, який маскує свою присутність, взаємодіючи з шкідливим драйвером. Щоб обійти традиційне виявлення на основі файлів, зловмисник використовує підхід “Living-off-the-Land”, використовуючи скрипт PowerShell для взаємодії з драйвером, який був заміщений в ядрі. Скрипт спеціально націлений на
IRP_MJ_DEVICE_CONTROLобробник, відправляючи спеціально створений код IOCTL (керування введенням/виведенням), імітуючи модель комунікації виявленого завантажувача руткіту, щоб встановити канал командування та управління і відключити функції безпеки. -
Скрипт регресійного тестування:
# Скрипт симуляції для імітації комунікації драйвера завантажувача руткітів # Примітка: це вимагає наявність драйвера, який реагує на ці специфічні шаблони # або імітує виклики обробника IRP через фіктивний драйвер. $SymbolicName = "x1cx1c??x1ceae971b87" Write-Host "[+] Імітація взаємодії з драйвером з символічною назвою: $SymbolicName" # У реальному сценарії це включало б виклик DeviceIoControl через P/Invoke # Для цілей симуляції/тестування ми імітуємо тригер телеметрії $signature = @{ SymbolicName = "x1cx1c??x1ceae971b87" IOControlHandler = "IRP_MJ_DEVICE_CONTROL" ShutdownHandler = "IRP_MJ_SHUTDOWN" } Write-Host "[+] Відправлення спеціально створеного IOCTL для тригера виявлення..." # Логіка для імітації генерації події ядра для специфічного SymbolicName # Ця частина є концептуальною для агента BAS для тригера специфічного запису логу New-EventLog -LogName "Microsoft-Windows-Sysmon" -Source "Sysmon" # Імітація тригера -
Команди очищення:
# Видалення всіх тимчасових файлів або артефактів, що симулюють драйвер Remove-Item -Path "$env:TEMProotkit_sim.tmp" -ErrorAction SilentlyContinue Write-Host "[+] Очищення завершено."