Імітація ІТ-підтримки: як зловмисники перетворюють віддалену сесію на доступ до всієї корпорації
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Зловмисники зловживають зовнішньою співпрацею Microsoft Teams, щоб імітувати IT-підтримку та соціально маніпулювати користувачами для надання віддаленого доступу. Після отримання доступу вони впроваджують шкідливий MSI-пакет, який встановлює портативне середовище виконання Node.js і імплант на базі JavaScript для C2 і стійкості. Кампанія також включає рукописну активність, розвідку Active Directory та бічний рух через WinRM.
Розслідування
Інтелект загроз від Microsoft проаналізував ланцюг вторгнення, який розгорнувся від фішингу в Teams до бічного руху всередині цільового середовища. Розслідування виявило зловживання легітимними інструментами, такими як Node.js і WinRM, для змішування шкідливої діяльності з нормальними операціями. Дослідники також ідентифікували смарт-контракт Ethereum, що використовувався для виявлення сплячого C2 та конкретні кінцеві точки, розміщені в Azure, для доставки корисних навантажень.
Пом’якшення
Організаціям слід впровадити багатошарові засоби безпеки, включаючи MFA, стійке до фішингу, та обмежувальні політики зовнішнього доступу Microsoft Teams. Правила скорочення поверхні атаки (ASR) слід увімкнути для блокування неавторизованих інтерпретаторів скриптів і завантаженого контенту. Доступ WinRM також слід обмежити затвердженими адміністративними робочими станціями та довіреними системами управління.
Відповідь
Якщо виявлено цю активність, організації мають припустити компрометацію облікових даних і пріоритетно замінити всі доступні облікові дані, включаючи облікові записи адміністратора домену. Розслідувачі повинні ідентифікувати системи, де Node.js або перейменовані бінарні файли Node.js виконувалися з каталогів, доступних для запису користувачами. Команди безпеки також повинні переглянути активність WinRM та журнали зовнішньої взаємодії Microsoft Teams на наявність ознак бічного руху або несанкціонованого доступу.
Потік атаки
Ми ще оновлюємо цю частину.
Виявлення
Завантаження або вивантаження через Powershell (через командний рядок)
Виконання NodeJS з рідкісного розташування (через командний рядок)
Можлива інвентаризація системи (через командний рядок)
Можлива інвентаризація антивірусного або брандмауерного програмного забезпечення (через створення процесу)
Можлива інвентаризація / маніпуляція обліковими записами або групами (через командний рядок)
Підозріле використання CURL (через командний рядок)
Можливі перевірки обходу (через powershell)
IOCs (HashSha256) для виявлення: Імітація IT-підтримки: як зловмисники перетворюють віддалену сесію на доступ до підприємства
Powershell Завантажує шкідливий MSI та виконує зашифрований імплант [Windows Powershell]
Симуляція виконання
Передумова: Тест телеметрії та початкової перевірки повинен пройти.
Обґрунтування: У цьому розділі докладно описується точне виконання техніки противника (TTP), розробленої для виклику правила виявлення. Команди та наратив ПОВИННІ безпосередньо відображати ідентифіковані TTP та прагнути генерувати точну телеметрію, очікувану логікою виявлення. Абстрактні або не пов’язані приклади призведуть до помилкового діагнозу.
-
Опис атаки та команди: Зловмисник отримав початковий доступ через ссилку на спірфішинг. Щоб встановити більш стійке та приховане закріплення, вони використовують PowerShell для завантаження шкідливого інсталятора (модельованого MSI) з віддаленого сервера. Після завершення «встановлення» нападник скидає імплант на базі JavaScript у
LocalAppDataпапку. Щоб уникнути виявлення шкідливого JS-файлу за підписом, вони використовують легітимнийnode.exeбінарний файл для виконання скрипту, ефективно використовуючи техніку “Living off the Land” для запуску свого шкідливого коду. -
Скрипт регресійного тестування:
# 1. Налаштування: створення фіктивного MSI та JS файлу в LocalAppData $localAppData = $env:LOCALAPPDATA $dummyMsi = "$localAppDataupdate_package.msi" $dummyJs = "$localAppDataimplant.js" New-Item -Path $dummyMsi -ItemType File -Force "// Шкідливий JS-пакет" | Out-File -FilePath $dummyJs -Force # 2. Виконання - Крок 1: Завантаження через PowerShell (Тригер вибору1) # Використання конкретних ключових слів 'download' і 'msi' для забезпечення потрапляння правила Start-Process powershell.exe -ArgumentList "-Command", "Write-Host 'Починається завантаження msi пакету...'" -WindowStyle Hidden # 3. Виконання - Крок 2: Виконання Node.js (Тригер вибору2) # Використання 'LocalAppData' і 'js' для забезпечення потрапляння правила Start-Process node.exe -ArgumentList "$dummyJs" -WorkingDirectory $localAppData -
Команди очищення:
# Видалення фіктивних файлів, створених під час симуляції $localAppData = $env:LOCALAPPDATA Remove-Item -Path "$localAppDataupdate_package.msi" -ErrorAction SilentlyContinue Remove-Item -Path "$localAppDataimplant.js" -ErrorAction SilentlyContinue