SOC Prime Bias: Середній

16 Dec 2025 16:55 UTC

Викрадення браузера: Аналіз трьох технік

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
Викрадення браузера: Аналіз трьох технік
shield icon

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 залишалися включеними.

Реагування

При виявленні шукайте артефакти, описані у статті, та відстежуйте зміни в файлах налаштувань браузера, значеннях реєстру, що заважають оновленням, та нетипових параметрах командного рядка браузера. Ізолюйте постраждалі машини, зберіть летючі докази та проведіть ретельний огляд встановлених і активно завантажених розширень. Використовуйте автоматичні скрипти для відновлення налаштувань браузера до безпечних значень за замовчуванням і повторно активуйте служби оновлень. Нарешті, стежте за будь-якими пов’язаними мережевими індикаторами, які можуть сигналізувати про активність командування та контролю.

Потік атаки

Симуляція виконання

Попередня умова: перевірка телеметрії та базового рівня повинна бути пройдена.

  • Опис атаки та команди:
    Зловмисник раніше кинув шкідливий скрипт PowerShell з назвою configuration.ps1 у %LOCALAPPDATA%DiagnosticNET. Скрипт безперервно спостерігає за процесами браузера (Chrome, Edge, Firefox) та завершує їх, змушуючи браузер користувача перезапустити і завантажити шкідливе розширення, яке атакуючий попередньо розмістив у профілі користувача. Щоб викликати виявлення, атакуючий запускає скрипт через прямий виклик PowerShell:

    1. Створіть приховану папку і киньте туди шкідливий скрипт.
    2. Виконайте скрипт за допомогою powershell.exe з використанням командного рядка у відкритому вигляді, який відповідає умовам правила.
    3. Скрипт записує свою активність у консоль (в демонстраційних цілях) та завершує цільові браузери.
  • Скрипт тесту регресії:

    # ---------------------------------------------------------
    # Регресійний скрипт – відтворює активність, яка спричиняє виявлення
    # ---------------------------------------------------------
    
    # 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