Phantom 3.5 – шкідливе програмне забезпечення для крадіжки даних доступу, поширюване через підроблений інсталяційний пакет Adobe
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Phantom 3.5 — це шкідливе програмне забезпечення, що викрадає облікові дані, яке розповсюджується через підроблений інсталятор Adobe. Після виконання інсталятор скидає PowerShell сценарій, який завантажує заплутану .NET DLL (BLACKHAWK.dll) і вбудовує остаточний шкідливий код в Aspnet_compiler.exe, щоб виконувати його в контексті надійного процесу.
Розслідування
Дослідники виконали підроблений інсталятор в пісочниці і зафіксували місцезнаходження вантажника (positivepay-messages.com/file/floor.ps1). Вони декодували захищений Base64/RC4 скрипт, ідентифікували завантажену .NET DLL і підтвердили ін’єкцію в Aspnet_compiler.exe, використовуючи такі інструменти, як hollows_hunter і ProcDump. Аналіз показує, що DLL включає засоби аналітичної протидії, техніки Heaven’s Gate та різноманітні канали ексфільтрації, включаючи SMTP, FTP, Telegram та Discord.
Захист
Обмежте або заблокуйте виконання не підписаних PowerShell сценаріїв, запобігайте завантаженню неперевірених DLL і контролюйте аномальне створення процесу Aspnet_compiler.exe. Застосуйте фільтрацію URL, щоб заборонити доступ до шкідливих доменів і їхніх шляхів. Переконайтеся, що кінцеві контролі можуть виявляти паттерни ін’єкції процесів і загальну поведінку програм, які крадуть облікові дані.
Відповідь
Запускайте сповіщення про вихідні з’єднання з positivepay-messages.com, артефакти пам’яті або модулів, пов’язані з BLACKHAWK.dll, та докази ін’єкції коду в Aspnet_compiler.exe. Карантинуйте уражений хост, отримайте образи пам’яті і проведіть повну криміналістичну перевірку, щоб усунути шкідливу DLL та пов’язані з нею навантаження.
Потік атаки
Виявлення
Підозрілі рядки PowerShell (через powershell)
Перегляд
Можливе використання тайм-ауту для відкладеного виконання (через cmdline)
Перегляд
Незвичайна зміна виконання кодової сторінки (через cmdline)
Перегляд
Можливі точки наполегливості [ASEPs – Software/NTUSER Hive] (через registry_event)
Перегляд
IOCs (HashMd5) для виявлення: Phantom 3.5: початковий аналіз вектора і судова експертиза
Перегляд
Phantom 3.5 Ін’єкція процесу через Aspnet_compiler.exe [Створення процесу Windows]
Перегляд
Виконання PowerShell сценарію зі схованим атрибутом і закодованими в Base64 рядками [PowerShell Windows]
Перегляд
Виконання симуляції
Передумова: Перевірка телеметрії і базових значень передполіту має бути пройдена.
Обґрунтування: Цей розділ деталізує точне виконання техніки супротивника (TTP), яке призначено для спрацьовування правила виявлення. Команди та наратив ПОВИННІ безпосередньо відображати виявлені TTP і прагнути генерувати точну телеметрію, очікувану логікою виявлення.
-
Опис атаки та команди:
Супротивник отримав навантаження Phantom 3.5 і бажає виконати його в пам’яті, щоб уникнути захисту на основі диска. Вони використовуютьAspnet_compiler.exe, довірену двійкову програму Windows, для завантаження шкідливого керованого зібрання черезInvoke-ManagedAssemblyаргумент. Це призводить до породження процесу компілятора, введення навантаження в поточний простір процесу та збереження його шляхом створення запланованого завдання, яке періодично виконує ту саму команду.-
Етапи шкідливого керованого збору (
phantom_payload.dll) на цільовому хості. -
Виконання ін’єкції використовуючи
Aspnet_compiler.exe:$maliciousDll = "C:Tempphantom_payload.dll" $cmd = "`"$env:WINDIRMicrosoft.NETFramework64v4.0.30319Aspnet_compiler.exe`" -p `"$maliciousDll`" -c `Invoke-ManagedAssembly`" Start-Process -FilePath $cmd -WindowStyle Hidden -
Створити наполегливість (необов’язково), зареєструвавши заплановане завдання, яке повторно запускає ту ж команду кожну годину.
-
-
Скрипт регресійного тесту: Скрипт нижче відтворює вищенаведені кроки в самодостатній, повторюваній формі.
<# .СИНТЕЗ Моделює ін’єкцію процесу Phantom 3.5 за допомогою Aspnet_compiler.exe. .ОПИС Копіює фіктивну шкідливу DLL у відоме місце, потім запускає Aspnet_compiler.exe з прапорцем `Invoke-ManagedAssembly`, щоб згенерувати точну подію створення процесу яку переглядає правило виявлення. #> # --- Підготовка ----------------------------------------------------------- $dllPath = "$env:TEMPphantom_payload.dll" # Створіть крихітну фіктивну DLL (заповнювач для реального навантаження) Set-Content -Path $dllPath -Value ([byte[]](0x4D,0x5A,0x90,0x00,0x03,0x00,0x00,0x00)) -Encoding Byte # --- Виконання ------------------------------------------------------------- $aspnetPath = "$env:WINDIRMicrosoft.NETFramework64v4.0.30319Aspnet_compiler.exe" if (-Not (Test-Path $aspnetPath)) { Write-Error "Aspnet_compiler.exe не знайдено у очікуваному місці." exit 1 } $arguments = "-p `"$dllPath`" -c `Invoke-ManagedAssembly`" Write-Host "Запускається Aspnet_compiler.exe з шкідливими аргументами..." Start-Process -FilePath $aspnetPath -ArgumentList $arguments -WindowStyle Hidden -PassThru # --- Необов’язкова наполегливість ---------------------------------------------------- # Зареєструйте заплановане завдання, яке повторює ін’єкцію кожну годину $taskName = "PhantomInject" $action = New-ScheduledTaskAction -Execute $aspnetPath -Argument $arguments $trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(5) -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration ([TimeSpan]::MaxValue) Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -RunLevel Highest -Force Write-Host "Симуляція завершена. Перевірте SIEM для отриманого попередження." -
Команди для очищення: Видаліть фіктивну DLL, заплановане завдання і всі залишкові процеси.
# Видалити фіктивну DLL Remove-Item -Path "$env:TEMPphantom_payload.dll" -Force -ErrorAction SilentlyContinue # Відреєструвати заплановане завдання Unregister-ScheduledTask -TaskName "PhantomInject" -Confirm:$false -ErrorAction SilentlyContinue # Зупинити всі тривалі процеси Aspnet_compiler.exe, запущені тестом Get-Process -Name "Aspnet_compiler" -ErrorAction SilentlyContinue | Stop-Process -Force