SOC Prime Bias: High

30 Mar 2026 16:46

Зловживання законними низькорівневими інструментами для ухилення від виявлення антивірусом програм-вимагачів

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у SOC Prime linkedin icon Стежити
Зловживання законними низькорівневими інструментами для ухилення від виявлення антивірусом програм-вимагачів
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Стаття пояснює, як оператори зловмисного програмного забезпечення зловживають легітимними низькорівневими утилітами, такими як Process Hacker, IOBit Unlocker, PowerRun та подібними інструментами, щоб послабити антивірусний захист та захист кінцевих точок. Використовуючи підписані двійкові файли, нападники можуть отримати привілеї SYSTEM або навіть ядра, викрасти облікові дані та підготувати середовище для розгортання програм-вимагачів. У цій статті підкреслюється, як нейтралізація антивірусів еволюціонувала від базових сценаріїв до потужних наборів можливостей у сучасних пропозиціях Ransomware-as-a-Service. Також згадуються реальні групи програм-вимагачів, які прийняли ці методи.

Розслідування

Розслідування описує двоетапний шаблон вторгнення, в якому противники спочатку використовують низькорівневі інструменти для підвищення привілеїв і ухилення від антивірусного захисту, а потім переходять до крадіжки облікових даних, втручання в ядро та виконання навантаження програми-вимагача. Активність інструменту співвіднесена з техніками MITRE ATT&CK, включаючи T1548.002, T1562.001 і T1003.001. Приклади випадків пов’язують ці утиліти з операціями програм-вимагачів, такими як LockBit 3.0, Phobos, MedusaLocker та інші.

Пом’якшення

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

Реагування

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

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Action nodes action_initial_access["<b>Дія</b> – <b>T1566.001 Фішинг: Атачмент Spearphishing</b><br/><b>Опис</b>: Противник надсилає шкідливий вкладений файл електронної пошти, який при відкритті скидає завантажувач початкового етапу.<br/><b>Ідентифікатор техніки</b>: T1566.001"] class action_initial_access action action_priv_esc["<b>Дія</b> – <b>T1548.002 Обхід контролю облікових записів користувача</b><br/><b>Опис</b>: Використання легітимних утиліт для обходу UAC і отримання привілеїв SYSTEM або ядра.<br/><b>Ідентифікатор техніки</b>: T1548.002"] class action_priv_esc action action_defense_evasion["<b>Дія</b> – <b>T1562 Послаблення захисту</b><br/><b>Опис</b>: Завершення або вивантаження компонентів антивіруса і EDR для уникнення виявлення.<br/><b>Ідентифікатор техніки</b>: T1562"] class action_defense_evasion action action_credential_access["<b>Дія</b> – <b>T1003 Відлуння ОС</b><br/><b>Опис</b>: Зняття кешованих облікових даних з пам’яті за допомогою таких інструментів, як Mimikatz.<br/><b>Ідентифікатор техніки</b>: T1003"] class action_credential_access action action_persistence["<b>Дія</b> – <b>T1112 Модифікація реєстру</b><br/><b>Опис</b>: Видалення або зміна ключів реєстру, які запускають компоненти AV для видалення стійкості.<br/><b>Ідентифікатор техніки</b>: T1112"] class action_persistence action action_indicator_removal["<b>Дія</b> – <b>T1070.004 Видалення файлів</b><br/><b>Опис</b>: Видалення журналів AV та інших судово-медичних артефактів з диска.<br/><b>Ідентифікатор техніки</b>: T1070.004"] class action_indicator_removal action action_impact["<b>Дія</b> – <b>T1486 Шифрування даних для впливу</b><br/><b>Опис</b>: Шифрування файлів користувача з навантаженням програмою-вимагачем після отримання прав SYSTEM.<br/><b>Ідентифікатор техніки</b>: T1486"] class action_impact action %% Tool nodes tool_powerrun["<b>Інструмент</b> – <b>Назва</b>: PowerRun<br/><b>Призначення</b>: Виконання двійкових файлів з підвищеними привілеями"] class tool_powerrun tool tool_wke["<b>Інструмент</b> – <b>Назва</b>: Windows Kernel Explorer (WKE)<br/><b>Призначення</b>: Отримання виконання на рівні ядра"] class tool_wke tool tool_ydark["<b>Інструмент</b> – <b>Назва</b>: YDArk<br/><b>Призначення</b>: Підвищення до SYSTEM"] class tool_ydark tool tool_process_hacker["<b>Інструмент</b> – <b>Назва</b>: Process Hacker<br/><b>Призначення</b>: Завершення процесів безпеки"] class tool_process_hacker tool tool_iobit["<b>Інструмент</b> – <b>Назва</b>: IOBit Unlocker<br/><b>Призначення</b>: Зупинка служб AV"] class tool_iobit tool tool_aukills["<b>Інструмент</b> – <b>Назва</b>: AuKill / ProcessKO<br/><b>Призначення</b>: Вбивство конкретних процесів AV"] class tool_aukills tool tool_mimikatz["<b>Інструмент</b> – <b>Назва</b>: Mimikatz<br/><b>Призначення</b>: Збереження облікових даних Windows"] class tool_mimikatz tool tool_unlock_it["<b>Інструмент</b> – <b>Назва</b>: Unlock_IT<br/><b>Призначення</b>: Видалення ключів реєстру та журналів AV"] class tool_unlock_it tool tool_atool["<b>Інструмент</b> – <b>Назва</b>: Atool_ExperModel<br/><b>Призначення</b>: Видалення стартових ключів AV"] class tool_atool tool %% Operator node (optional) op_and1(("І ТАК")) class op_and1 operator %% Flow connections action_initial_access –>|веде до| action_priv_esc action_priv_esc –>|веде до| action_defense_evasion action_defense_evasion –>|веде до| action_credential_access action_credential_access –>|веде до| action_persistence action_persistence –>|веде до| action_indicator_removal action_indicator_removal –>|веде до| action_impact %% Tool usage connections action_priv_esc –>|використовує| tool_powerrun action_priv_esc –>|використовує| tool_wke action_priv_esc –>|використовує| tool_ydark action_defense_evasion –>|використовує| tool_process_hacker action_defense_evasion –>|використовує| tool_iobit action_defense_evasion –>|використовує| tool_aukills action_credential_access –>|використовує| tool_mimikatz action_persistence –>|використовує| tool_unlock_it action_persistence –>|використовує| tool_atool action_indicator_removal –>|використовує| tool_unlock_it "

Атака Потоку

Виконання симуляції

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

  • Сценарій атаки та команди:

    Противник отримав адміністративні права на хост жертви і хоче нейтралізувати захист кінцевої точки перед розгортанням навантаження програми-вимагача. Використовуючи легітимну утиліту HRSword.exe, вони видають команду, яка зупиняє службу антивірусу (avservice) і відключає її автоматичний перезапуск, забезпечуючи, що захисник не може відновити службу під час вікна атаки. Команда виконується безпосередньо в консолі PowerShell для генерування чіткого повідомлення про створення Sysmon процесу, яке відповідає правилу виявлення.

  • Скрипт регресійного тесту:

    <# 
    Симуляція використання HRSword.exe для зупинки AV-сервісу та відключення його перезапуску.
    Цей скрипт повинен бути запущений з розширеними (Адміністраторськими) привілеями.
    #>
    
    # Змінні
    $hrswordPath = "$env:ProgramFilesHRSwordHRSword.exe"
    $serviceName = "avservice"
    
    # Забезпечити існування HRSword.exe (створіть макет, якщо ні)
    if (-Not (Test-Path $hrswordPath)) {
        Write-Host "Створення макету HRSword.exe для симуляції..."
        # Створити фіктивний виконуваний файл (копія cmd.exe) тільки для цілей логування
        Copy-Item "$env:windirSystem32cmd.exe" $hrswordPath -Force
    }
    
    # Виконати точну команду, яку відстежує правило Sigma
    $command = "& `"$hrswordPath`" /service stop $serviceName /disable"
    Write-Host "Виконання: $command"
    Invoke-Expression $command
    
    # Необов'язково: Зареєструвати користувацьку подію, щоб вказати на завершення (допомагає перевірити від початку до кінця)
    Write-EventLog -LogName Application -Source "HRSwordSimulation" -EventId 3000 -EntryType Information -Message "Симуляція зупинки служби HRSword завершена."
  • Команди очищення:

    <#
    Відновити AV-сервіс до його вихідного стану і видалити фіктивний виконуваний файл.
    #>
    
    # Перезапустити AV-сервіс (якщо існує)
    $serviceName = "avservice"
    if (Get-Service -Name $serviceName -ErrorAction SilentlyContinue) {
        Write-Host "Перезапуск служби $serviceName ..."
        Start-Service -Name $serviceName -ErrorAction SilentlyContinue
    }
    
    # Видалити фіктивний HRSword.exe (якщо був створений)
    $hrswordPath = "$env:ProgramFilesHRSwordHRSword.exe"
    if (Test-Path $hrswordPath) {
        Write-Host "Видалення фіктивного HRSword.exe ..."
        Remove-Item $hrswordPath -Force
    }
    
    # Очистити запис події користувача
    Get-EventLog -LogName Application -Source "HRSwordSimulation" -After (Get-Date).AddMinutes(-10) | Remove-EventLog