SOC Prime Bias: Середній

18 Dec 2025 18:42 UTC

Phantom 3.5 – шкідливе програмне забезпечення для крадіжки даних доступу, поширюване через підроблений інсталяційний пакет Adobe

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
Phantom 3.5 – шкідливе програмне забезпечення для крадіжки даних доступу, поширюване через підроблений інсталяційний пакет Adobe
shield icon

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 та пов’язані з нею навантаження.

Потік атаки

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

Передумова: Перевірка телеметрії і базових значень передполіту має бути пройдена.

Обґрунтування: Цей розділ деталізує точне виконання техніки супротивника (TTP), яке призначено для спрацьовування правила виявлення. Команди та наратив ПОВИННІ безпосередньо відображати виявлені TTP і прагнути генерувати точну телеметрію, очікувану логікою виявлення.

  • Опис атаки та команди:
    Супротивник отримав навантаження Phantom 3.5 і бажає виконати його в пам’яті, щоб уникнути захисту на основі диска. Вони використовують Aspnet_compiler.exe, довірену двійкову програму Windows, для завантаження шкідливого керованого зібрання через Invoke-ManagedAssembly аргумент. Це призводить до породження процесу компілятора, введення навантаження в поточний простір процесу та збереження його шляхом створення запланованого завдання, яке періодично виконує ту саму команду.

    1. Етапи шкідливого керованого збору (phantom_payload.dll) на цільовому хості.

    2. Виконання ін’єкції використовуючи 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
    3. Створити наполегливість (необов’язково), зареєструвавши заплановане завдання, яке повторно запускає ту ж команду кожну годину.

  • Скрипт регресійного тесту: Скрипт нижче відтворює вищенаведені кроки в самодостатній, повторюваній формі.

    <#
    .СИНТЕЗ
        Моделює ін’єкцію процесу 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