Викрадення браузера: Аналіз трьох технік
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Стаття досліджує три різні техніки, що використовуються викрадачами браузерів для маніпулювання браузерами користувачів на Windows. Вона охоплює пряме втручання у файли налаштувань браузера, скриптовану емуляцію натискання клавіш, яка віддалено керує інтерфейсом браузера, і неправильне використання параметрів командного рядка Chromium для завантаження шкідливих розширень. Кожен метод супроводжується репрезентативними артефактами та прикладами коду. основною метою цих викрадень є ін’єкція реклами та несанкціоноване перенаправлення, а не крадіжка облікових даних або пряма ексфільтрація даних.
Розслідування
Дослідник переглянув зловмисне програмне забезпечення, пов’язане з кампаніями TamperedChef/BaoLoader, і виявив рідний модуль UtilityAddon.node, який використовується для збору ідентифікаторів системи та зміни файлів налаштувань Firefox і Chrome. Інший зразок продемонстрував інструмент віддаленого доступу до браузера (BRAT), що підробляє комбінації клавіш для зміни адресного рядка, відкриття нових вкладок і генерування фальшивих кліків на рекламні оголошення. Третій сценарій передбачав викрадач на основі VBS/PowerShell, який налаштовує заплановані завдання, контролює створення процесу через WMI, відключає оновлення Chrome та змушує завантажувати небезпечне розширення через зараз застарілу команди командного рядка Chromium.
Пом’якшення
Захисники повинні видалити або ізолювати компоненти викрадача, такі як UtilityAddon.node, шкідливі .reg-записи та підозрілі PowerShell-скрипти. Відключайте або видаляйте заплановані завдання, які викликають невідомі або ненадійні скрипти. Відновлюйте файли налаштувань браузера з надійних резервних копій і застосовуйте суворі дозволи файлів. Контролюйте або блокуйте спроби використовувати застарілий перемикач –load-extension у Chromium і перевірте, щоб механізми автоматичного оновлення Chrome залишалися включеними.
Реагування
При виявленні шукайте артефакти, описані у статті, та відстежуйте зміни в файлах налаштувань браузера, значеннях реєстру, що заважають оновленням, та нетипових параметрах командного рядка браузера. Ізолюйте постраждалі машини, зберіть летючі докази та проведіть ретельний огляд встановлених і активно завантажених розширень. Використовуйте автоматичні скрипти для відновлення налаштувань браузера до безпечних значень за замовчуванням і повторно активуйте служби оновлень. Нарешті, стежте за будь-якими пов’язаними мережевими індикаторами, які можуть сигналізувати про активність командування та контролю.
“graph TB %% Class definitions classDef action fill:#99ccff %% Node definitions action_create_scheduled_task[“<b>Дія</b> – <b>T1037 Скрипти ініціалізації завантаження або входу</b><br />Створити заплановане завдання за допомогою configuration.ps1 для збереження”] class action_create_scheduled_task action action_wmi_subscription[“<b>Дія</b> – <b>T1546.003 Підписка на події WMI</b><br />Налаштувати підписку на події WMI, яка відстежує процеси chrome.exe та edge.exe”] class action_wmi_subscription action action_terminate_relaunch[“<b>Дія</b> – <b>T1547.014 Модифікація ярлика / T1176 Розширення браузера</b><br />Завершити роботу браузера та перезапустити його зі шкідливим розширенням”] class action_terminate_relaunch action action_load_extension[“<b>Дія</b> – <b>T1176 Розширення браузера</b><br />Завантажити шкідливе розширення через перемикач u002du002dloadu2011extension (політика DisableLoadExtensionCommandLineSwitch)”] class action_load_extension action action_disable_updates[“<b>Дія</b> – <b>T1176 Розширення браузера</b><br />Вимкнути автоматичні оновлення Chrome шляхом застосування складеного .reg-файлу”] class action_disable_updates action action_gather_hmac[“<b>Дія</b> – <b>T1548.006 Викрадення об’єктної моделі компонентів</b><br />UtilityAddon.node збирає SID і серійний номер тому, обчислює HMAC для Secure Preferences”] class action_gather_hmac action action_keypress_sim[“<b>Дія</b> – <b>T1185 Людина в браузері</b><br />Компонент BRAT імітує натискання клавіш для керування браузером”] class action_keypress_sim action action_ad_injection[“<b>Дія</b> – <b>Результат</b><br />Маніпулювати адресним рядком, вставляти рекламу та красти дані”] class action_ad_injection action %% Connections action_create_scheduled_task u002du002d>|увімкнення| action_wmi_subscription action_wmi_subscription u002du002d>|викликає| action_terminate_relaunch action_terminate_relaunch u002du002d>|використовує| action_load_extension action_terminate_relaunch u002du002d>|використовує| action_disable_updates action_create_scheduled_task u002du002d>|надає дані для| action_gather_hmac action_gather_hmac u002du002d>|підтримує| action_keypress_sim action_keypress_sim u002du002d>|веде до| action_ad_injection “
Потік атаки
Виявлення
Підозріла активність завантаження розширення браузера (через командний рядок)
Переглянути
IOCs (HashSha256) для виявлення: Викрадення браузера: три дослідження техніки
Переглянути
Викрадення браузера через зміну файлу налаштувань [Подія файлу Windows]
Переглянути
Моніторинг скриптів PowerShell і завершення процесів браузера [PowerShell Windows]
Переглянути
Симуляція виконання
Попередня умова: перевірка телеметрії та базового рівня повинна бути пройдена.
-
Опис атаки та команди:
Зловмисник раніше кинув шкідливий скрипт PowerShell з назвою configuration.ps1 у%LOCALAPPDATA%DiagnosticNET. Скрипт безперервно спостерігає за процесами браузера (Chrome, Edge, Firefox) та завершує їх, змушуючи браузер користувача перезапустити і завантажити шкідливе розширення, яке атакуючий попередньо розмістив у профілі користувача. Щоб викликати виявлення, атакуючий запускає скрипт через прямий виклик PowerShell:- Створіть приховану папку і киньте туди шкідливий скрипт.
- Виконайте скрипт за допомогою
powershell.exeз використанням командного рядка у відкритому вигляді, який відповідає умовам правила. - Скрипт записує свою активність у консоль (в демонстраційних цілях) та завершує цільові браузери.
-
Скрипт тесту регресії:
# --------------------------------------------------------- # Регресійний скрипт – відтворює активність, яка спричиняє виявлення # --------------------------------------------------------- # 1. Підготувати приховану директорію $targetDir = "$env:LOCALAPPDATADiagnosticNET" if (-not (Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force | Out-Null # Приховати директорію (Get-Item $targetDir).Attributes = 'Hidden','Directory' } # 2. Кинути шкідливий configuration.ps1 $scriptPath = Join-Path $targetDir "configuration.ps1" @' # Шкідливий конфігураційний скрипт – завершує браузери $browsers = @("chrome", "msedge", "firefox") foreach ($proc in $browsers) { Get-Process -Name $proc -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue } Write-Output "Процеси браузера завершено." '@ | Set-Content -Path $scriptPath -Encoding UTF8 # 3. Виконати скрипт через PowerShell – це має спрацьовувати правило Sigma $cmd = "$env:WINDIRSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File `"$scriptPath`"" Write-Host "Виконання шкідливого скрипту:" $cmd & $env:WINDIRSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -File $scriptPath -
Команди очищення:
# --------------------------------------------------------- # Очищення – видаляє артефакти, створені тестом на регресію # --------------------------------------------------------- # Зупинити будь-які процеси браузера, які могли бути завершені # (Немає необхідності в дії – браузери можуть бути перезапущені вручну) # Видалити шкідливий скрипт та приховану папку $targetDir = "$env:LOCALAPPDATADiagnosticNET" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force } # За бажанням очистити історію командного рядка PowerShell Clear-History