Еволюція PixyNetLoader від APT28 з 2024 до 2026
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Звіт вивчає, як APT28 розвинуло своє сімейство шкідливого програмного забезпечення PixyNetLoader в період з 2024 по 2026 рік. Завантажувач постачається через шкідливі документи Office, які експлуатують CVE-2026-21509 і встановлює зареєстровану в COM бібліотеку DLL, яка витягує приховане навантаження з файлів PNG за допомогою стеганографії LSB. Це навантаження – імплант Covenant Grunt, що спілкується через хмарний сервіс FILEN. Дослідники визначили чотири різні підродини PixyNetLoader і створили об’єднане правило YARA для підтримки виявлення різних варіантів.
Розслідування
Аналітики переглянули близько 90 зразків шкідливого ПО і розділили їх на чотири підродини на основі спільних функцій та шаблонів хеш-коду Rich header. Вони виявили, що нові варіанти, випущені в березні 2026 року, додали нові методи стеганографії, включаючи AES-зашифровані заголовки та ключові відновлення на основі PBKDF2. Розслідування також задокументувало відповідні шляхи файлів, ключі реєстру та імена експорту DLL, які використовує шкідлива програма, і створило підписи YARA для загальної функціональності по всій родині.
Пом’якшення загроз
Захисники повинні слідкувати за підозрілою реєстрацією COM невідомих DLL, специфічними ключами реєстру CLSID пов’язаними зі шкідливим ПЗ, та розгортанням файлів PNG в відомих місцях підготовки. Мережеві захисти також повинні перевіряти трафік до сервісу FILEN та характеристики навантаження, які відповідають стеганографічним шаблонам LSB, описаним в правилах YARA. Організації повинні застосувати патч для CVE-2026-21509 і обмежити або відключити ризиковані макроси Office для зменшення уразливості.
Відповідь
Якщо виявлено активність PixyNetLoader, ізолюйте уражену кінцеву точку, видаліть шкідливу DLL та пов’язаний PNG-файл і скиньте будь-які скомпрометовані реєстрації COM. Розслідувачі повинні зібрати витягнуте навантаження Covenant Grunt та відповідні мережеві журнали, потім шукати пов’язані з APT28 інструменти, такі як SlimAgent або Graphite. Контент виявлення також повинен бути оновлений, а обмеження макросів постійно виконуватись по всьому оточенню.
Напрямок атаки
Ми ще оновлюємо цю частину.
Виявлення
Ймовірне викрадення COM Explorer (через registry_event)
Proof of Value
Ймовірна стійкість на основі Outlook (через registry_event)
Proof of Value
Підозріла поведінка при створенні, запуску та видаленні запланованого завдання (через process_creation)
Proof of Value
Підозріле виконання Taskkill (через cmdline)
Proof of Value
Ймовірне зловживання протоколом URI Handler Search / Search-MS (через cmdline)
Proof of Value
Schtasks вказує на підозрілу директорію / бінарний файл / скрипт (через cmdline)
Proof of Value
LOLBAS Regsvr32 (через cmdline)
Proof of Value
Ймовірний витік / інфільтрація / C2 через сервіси / інструменти третіх сторін (через cmdline)
Proof of Value
Ймовірне викрадення COM Explorer (через file_event)
Proof of Value
Ймовірна стійкість на основі Outlook (через file_event)
Proof of Value
Ймовірне використання хак-інструментів Windows [Частина1] (через file_event)
Proof of Value
Ймовірний витік / інфільтрація / C2 через сервіси / інструменти третіх сторін (через dns_query)
Proof of Value
Підозріле заплановане завдання (через аудит)
Proof of Value
Ймовірний витік / інфільтрація / C2 через сервіси / інструменти третіх сторін (через proxy)
Proof of Value
Ймовірний витік / інфільтрація / C2 через сервіси / інструменти третіх сторін (через dns)
Proof of Value
IOC (HashSha256), щоб виявити: Відстеження APT28 PixyNetLoader: Еволюції з 2024 по 2026 Частина 5
Proof of Value
IOC (HashSha256), щоб виявити: Відстеження APT28 PixyNetLoader: Еволюції з 2024 по 2026 Частина 4
Proof of Value
IOC (HashSha256), щоб виявити: Відстеження APT28 PixyNetLoader: Еволюції з 2024 по 2026 Частина 3
Proof of Value
IOC (HashSha256), щоб виявити: Відстеження APT28 PixyNetLoader: Еволюції з 2024 по 2026 Частина 2
Proof of Value
IOC (HashSha256), щоб виявити: Відстеження APT28 PixyNetLoader: Еволюції з 2024 по 2026 Частина 1
Proof of Value
IOC (HashMd5), щоб виявити: Відстеження APT28 PixyNetLoader: Еволюції з 2024 по 2026
Proof of Value
Виявлення стеганографії PNG файлів PixyNetLoader [Подія Файлу Windows]
Proof of Value
Симуляція виконання
Передумова: Тест телеметрії та базове налаштування повинні бути пройдені.
Мотив: Цей розділ детально описує точне виконання тактики супротивника (TTP), призначеної для запуску правила виявлення. Команди та наративи МАЮТЬ безпосередньо відбивати ідентифіковані TTP та націлюватися на створення точної телеметрії, очікуваної логікою виявлення.
-
Наратив атаки та команди:
Оператор APT28 отримує шкідливе навантаження (наприклад, бекдор PowerShell) та вбудовує його в PNG, використовуючи спеціальний інструмент для стеганографії. Оператор копіює створений PNG до одного з відомих місць розгортання PixyNetLoader (SplashScreen.png). Запис файлу генерує подію аудиту безпеки Windows (4663), яка відповідає правилу Sigma, викликаючи тривогу. Атакуючий використовує тип файлу Living-off-the-land (PNG), щоб злитися з користувацькими даними та уникнути сигнатур кінцевих аудиторських перевірок. -
Скрипт регресійного тестування:
# -------------------------------------------------------------- # Сценарій симуляції стеганографії PNG PixyNetLoader – запускає виявлення # -------------------------------------------------------------- # 1. Визначте цільовий шлях (виберіть одне із трьох контрольованих місць) $targetPath = "$env:USERPROFILEMicrosoft OneDrivesetupCacheSplashScreen.png" # 2. Створіть мінімальний заголовок PNG (8 байт) – у реальній атаці це # включало б стеганографічно приховане навантаження. $pngHeader = [byte[]] (0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A) # 3. Додайте підроблене навантаження (наприклад, закодований в base64 PowerShell скрипт) $payload = [Text.Encoding]::ASCII.GetBytes( "UE9TVCAiZXhlYyAiY2F0IC5leHQiIiA+ICJQYXlsb2FkIg==" ) # Base64 of: POST "exec "cat .ext"" > "Payload" $fileBytes = $pngHeader + $payload # 4. Запишіть створений PNG до цільового розташування [IO.File]::WriteAllBytes($targetPath, $fileBytes) Write-Host "Зловмисний PNG розгорнуто на $targetPath" -
Команди очищення:
# Видалення зловмисного PNG для відновлення хоста $targetPath = "$env:USERPROFILEMicrosoft OneDrivesetupCacheSplashScreen.png" if (Test-Path $targetPath) { Remove-Item -Path $targetPath -Force Write-Host "Видалено $targetPath" } else { Write-Host "Файл не знайдено - немає чого чистити." }