Служба Windows, опублікована через доступ адміністратора
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Зловмисники зловживають сервісами Windows для виконання коду з підвищеними привілеями та встановлення стійкості в скомпрометованих системах. Поширені підходи включають створення нових сервісів з sc.exe або PowerShell, зміну шляхів наявних бінарних файлів сервісів, модифікацію дозволів сервісів через SDDL та зловживання налаштуваннями відновлення сервісів для запуску шкідливих команд у разі збоїв сервісу. Більш просунуті методи включають використання Windows API для уникнення видимості командного рядка або встановлення драйверів режиму ядра.
Розслідування
Звіт описує кілька технік маніпуляції сервісами Windows і показує, як атаки можуть покладатися на вбудовані інструменти, такі як sc.exe, PowerShell, та зміни в реєстрі. Він пояснює, як варіанти відновлення сервісу можуть бути використані для виконання шкідливих завантажень, і як драйвери режиму ядра можуть бути впроваджені для глибшого доступу до системи. Розслідування також ідентифікує ключові ідентифікатори подій Windows та розташування реєстру, які забезпечують корисну телеметрію для виявлення цієї поведінки.
Захист
Організації повинні застосовувати багаторівневу оборону, включаючи аудиторинг на локаціях реєстру, пов’язаних із сервісами, включно з Services осередком та відповідними ключами конфігурації відновлення. Моніторинг ідентифікаторів подій Windows, таких як 7045, 7024, 4657, та 4663 є важливим для виявлення створення або модифікації сервісів. Захисники повинні також убезпечити себе від зміни дозволів сервісів і відстежувати несанкціоновану активність встановлення драйверів ядра.
Реакція
Коли виявляється підозріла активність сервісу, реагуючи, необхідно розслідувати процес, що ініціює цю активність, і його ланцюжок батько-дитина, особливо випадки, коли services.exe запускає неочікувані процеси оболонки. Зміни у реєстрі повинні співвідноситися з активністю API, такою як CreateServiceW, і системи мають бути перевірені на несанкціоноване завантаження драйверів. Інтеграція шляхів бінарних файлів сервісів та налаштувань відновлення повинна також бути підтверджена по всьому середовищу.
Послідовність атаки
Ми все ще оновлюємо цю частину. Підпишіться, щоб отримувати повідомлення
Повідомити менеВиявлення
Підозріле створення сервісу через реєстр (через cmdline)
Переглянути
Підозріле створення сервісу (через powershell)
Переглянути
Можливе ручне встановлення сервісу або драйвера для збереження (через cmdline)
Переглянути
Можливе створення сервісу з бінарником на мережевій частці UNC (через cmdline)
Переглянути
Підозріле створення сервісу для збереження (через систему)
Переглянути
Команда PowerShell New-Service для створення стійких сервісів [Windows Powershell]
Переглянути
Виявлення зловмисних сервісів та зловживання функцією відновлення [Windows System]
Переглянути
Виявлення зловмисного створення та конфігурації сервісу Windows через sc.exe [Windows Process Creation]
Переглянути
Виконання імітації
Попередня умова: Телеметрія та базова перевірка перед польотом повинні бути пройдені.
Обґрунтування: Ця частина детально описує точне виконання техніки супротивника (TTP), призначеної для активації правила виявлення. Команди та наратив МАЮТЬ безпосередньо відображати визначені TTP і мають за мету генерувати точну телеметрію, очікувану логікою виявлення. Абстрактні або невідповідні приклади призведуть до неправильного діагнозу.
-
Наратив атаки та команди: Супротивник отримав початковий доступ і прагне утримати позицію. Щоб уникнути виявлення простими антивірусами, базованими на файлах, він вирішує використати підхід Living-off-the-Land, створивши новий сервіс Windows під назвою “WindowsUpdateSvc” (обманлива назва). Цей сервіс конфігурується для запуску шкідливої закодованої команди PowerShell. Створення цього сервісу згенерує ідентифікатор події системи Windows 7045, що є основним тригером для правила виявлення.
-
Сценарій тестування регресії:
# Імітація T1543.003: Створення зловмисного сервісу для активації ідентифікатора події 7045 $ServiceName = "WindowsUpdateSvc" $Payload = "powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command 'Write-Output "Збереження встановлено" | Out-File C:temppwned.txt'" # Створення сервісу # Увага: Це вимагає адміністративних привілеїв New-Service -Name $ServiceName -BinaryPathName $Payload -DisplayName "Windows Update Service" -StartupType Automatic Write-Host "Сервіс $ServiceName створений. Перевірте журнали системних подій на наявність ідентифікатора події 7045." -
Команди очищення:
# Очищення: Видалення зловмисного сервісу та будь-яких створених файлів $ServiceName = "WindowsUpdateSvc" Stop-Service -Name $ServiceName -ErrorAction SilentlyContinue sc.exe delete $ServiceName if (Test-Path "C:temppwned.txt") { Remove-Item "C:temppwned.txt" } Write-Host "Очищення завершено."