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

18 Dec 2025 21:42

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

“graph TB %% Class Definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef tool fill:#cccccc classDef process fill:#c2f0c2 classDef malware fill:#f9d5e5 %% Nodes – Initial Access and Execution action_user_execution[“<b>Дія</b> – <b>T1204.002 Виконання користувача</b>: Постраждалий запускає підроблений “Adobe 11.7.7 встановлювач”, який виглядає легітимно.”] class action_user_execution action tech_masquerade[“<b>Техніка</b> – <b>T1036.008 Маскування</b>: Файл інсталятора перейменовано та замасковано під вигляд встановлювача Adobe.”] class tech_masquerade technique tool_powershell[“<b>Інструмент</b> – <b>Назва</b>: PowerShell<br /><b>Опис</b>: Використовується для завантаження та виконання шкідливої скрипту з прихованим вікном та обходом політики виконання.”] class tool_powershell tool %% Nodes – Obfuscation and Decoding tech_deobfuscate[“<b>Техніка</b> – <b>T1140 Зняття приховування/декодування файлів</b>: Вантаж Base64–RC4 декодується та дешифрується перед виконанням.”] class tech_deobfuscate technique tech_obfuscate[“<b>Техніка</b> – <b>T1027 Масковані файли</b>: Скрипти шкідливих програм сильно замасковані, щоб уникнути статичного аналізу.”] class tech_obfuscate technique %% Nodes – Process Injection and Reflective Loading tech_process_injection[“<b>Техніка</b> – <b>T1055 Впровадження в процес</b>: BLACKHAWK.dll впроваджується в Aspnet_compiler.exe для запуску вантажу.”] class tech_process_injection technique process_aspnet_compiler[“<b>Процес</b> – <b>Назва</b>: Aspnet_compiler.exe”] class process_aspnet_compiler process tech_reflective_load[“<b>Техніка</b> – <b>T1620 Завантаження відображуваного коду</b>: Зібрання .NET завантажується в пам’ять за допомогою System.Reflection.Assembly::Load.”] class tech_reflective_load technique %% Nodes – Defense Evasion tech_sandbox_evasion[“<b>Техніка</b> – <b>T1497.002 Втеча з віртуальності пісочниці</b>: Перевіряються імена користувачів та змінні середовища для виявлення машин аналізу.”] class tech_sandbox_evasion technique %% Nodes – Persistence tech_active_setup[“<b>Техніка</b> – <b>T1547.014 Підтримувана активна налаштування</b>: Створює запис у реєстрі Run через Active Setup для автоматичного виконання при вході в систему.”] class tech_active_setup technique %% Nodes – Credential Access and Collection tech_keylogging[“<b>Техніка</b> – <b>T1056.001 Кейлогінг</b>: Захоплює натискання клавіш користувача.”] class tech_keylogging technique tech_browser_cred[“<b>Техніка</b> – <b>T1555.003 Доступ до облікових даних браузера</b>: Краде основні ключі, паролі, кукі та дані гаманців з веб-браузерів.”] class tech_browser_cred technique tech_clipboard[“<b>Техніка</b> – <b>T1115 Дані з буфера обміну</b>: Збирає дані з системного буфера обміну.”] class tech_clipboard technique tech_screen_capture[“<b>Техніка</b> – <b>T1113 Захоплення екрану</b>: Знімає скріншоти з інтервалом в одну секунду.”] class tech_screen_capture technique tech_video_capture[“<b>Техніка</b> – <b>T1125 Відеозапис</b>: Знімає відео з робочого столу користувача.”] class tech_video_capture technique %% Nodes – Exfiltration tech_smtp_ftp[“<b>Техніка</b> – <b>T1048 Експільтрація через альтернативний протокол</b>: Відправляє вкрадені дані через електронну пошту SMTP та передачі FTP.”] class tech_smtp_ftp technique tech_telegram_discord[“<b>Техніка</b> – <b>T1567 Експільтрація через веб-сервіс</b>: Передає дані через API Telegram та Discord.”] class tech_telegram_discord technique %% Nodes – Command and Control tech_web_service[“<b>Техніка</b> – <b>T1102.002 Веб-сервіс з двонаправленим C2</b>: Використовує Telegram та Discord як двонаправлені канали зв’язку для управління та контролю.”] class tech_web_service technique %% Connections – Flow of Attack action_user_execution u002du002d>|призводить до| tech_masquerade tech_masquerade u002du002d>|призводить до| tool_powershell tool_powershell u002du002d>|виконує| tech_deobfuscate tech_deobfuscate u002du002d>|підтримує| tech_obfuscate tech_obfuscate u002du002d>|дає змогу| tech_process_injection tech_process_injection u002du002d>|націлюється на| process_aspnet_compiler process_aspnet_compiler u002du002d>|завантажує| tech_reflective_load tech_reflective_load u002du002d>|сприяє| tech_sandbox_evasion tech_sandbox_evasion u002du002d>|дозволяє| tech_active_setup tech_active_setup u002du002d>|дає змогу| tech_keylogging tech_keylogging u002du002d>|збирає| tech_browser_cred tech_browser_cred u002du002d>|додає до| tech_clipboard tech_clipboard u002du002d>|додає до| tech_screen_capture tech_screen_capture u002du002d>|додає до| tech_video_capture tech_video_capture u002du002d>|постачає| tech_smtp_ftp tech_video_capture u002du002d>|постачає| tech_telegram_discord tech_smtp_ftp u002du002d>|відправляє через| tech_web_service tech_telegram_discord u002du002d>|відправляє через| tech_web_service %% Styling class action_user_execution action class tech_masquerade,tech_deobfuscate,tech_obfuscate,tech_process_injection,tech_reflective_load,tech_sandbox_evasion,tech_active_setup,tech_keylogging,tech_browser_cred,tech_clipboard,tech_screen_capture,tech_video_capture,tech_smtp_ftp,tech_telegram_discord,tech_web_service technique class tool_powershell tool class process_aspnet_compiler process “

Потік атаки

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

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

Обґрунтування: Цей розділ деталізує точне виконання техніки супротивника (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