Аналіз APT “Принц Персії”: шкідливе програмне забезпечення Infy, Foudre та Tonnerre
Detection stack
- AIDR
- Alert
- ETL
- Query
Короткий опис
Prince of Persia (також відомий як APT-C-07) – це активний з 2007 року кібер-розвідник, що підтримує зв’язки з Іраном. Група використовує різні родини власних шкідливих програм — Infy, Foudre, Tonnerre та MaxPinner — для стеження за медійними організаціями, політичними об’єктами та цільовими об’єктами громадянського суспільства. Операції часто поєднують фішинг з використанням межових векторів зараження і покладаються на унікальні методи командування і управління, включаючи канали на основі ботів Telegram, щоб підтримувати доступ та переміщувати дані з компрометованих систем.
Дослідження
Unit 42 та інші дослідницькі команди простежили еволюцію інструментарію актора від інфраструктури Infy, що спостерігалася у 2016 році, до повернення активності Foudre у 2017 році та ітерації 2025 року Tonnerre, що використовує Telegram для командування та управління. Технічні звіти підкреслюють доставку через макродропери Visual Basic, стійкість через встановлення служби Windows та використання логіки генерації доменів для підтримки стійкої інфраструктури. Аналітики також зафіксували функціональність на рівні нативних API Windows, використану для доступу до облікових даних і стеження, наприклад, кейлоггінг, разом зі схемами виконання, що вказують на постійне вдосконалення навичок роботи після компрометації.
Пом’якшення наслідків
Застосуйте суворий контроль макросів Office і забезпечте санітарну обробку вкладень електронної пошти, щоб зменшити можливості початкового виконання. Впроваджуйте мережеві контролі для обмеження або пильного контролю трафіку Telegram в середовищах, де він не потрібен для комерційної діяльності. На кінцевих точках, сповіщення про підозрілі створення служб, відстежуйте використання rundll32, характерне для ланцюгів виконання DLL, і блокуйте відомі зловмисні імена файлів та шаблони стійкості на основі реєстру. Підтримуйте оновлений вміст для виявлення динамічно змінюваних доменних шаблонів, пов’язаних з поведінкою, подібною до DGA, і регулярно перевіряйте контролі на відповідність поточним телеметричним даним.
Реакція
Якщо виявлено індикатори, ізолюйте постраждалу систему, захопіть летючі артефакти та шукайте конкретні назви служб та записи реєстру, використані для стійкості. Розширте тріаж на створення запланованих завдань, аномальну активність завантаження DLL і будь-які докази комунікацій C2 на базі Telegram. Видаліть зловмисні служби та інсценовані файли за допомогою перевірених планів ліквідації, потім оновіть потенційно скомпрометовані облікові дані та уважно стежте за спробами повторного проникнення або повторної інфекції на сусідніх хостах.
graph TB %% Class definitions classDef action fill:#99ccff classDef malware fill:#ffcc99 classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Вузли – Кроки атаки step1[“<b>Дія</b> – <b>T1566.001 Spearphishing Attachment</b><br/>Зловмисник надсилає таргетований лист з шкідливим Office-документом, що містить макроси.”] class step1 action step2[“<b>Дія</b> – <b>T1059.005 Visual Basic</b><br/>Макрос виконує VBA-код, який витягує та запускає payload Infy/Foudre.”] class step2 action malware_inf[“<b>Шкідливе ПЗ</b> – <b>Назва</b>: Infy/Foudre<br/><b>Опис</b>: Payload доставляється через макрос Office.”] class malware_inf malware step3[“<b>Дія</b> – <b>T1204.001 Malicious Link</b><br/>Жертва клікає посилання або відкриває вкладення, що запускає макрос.”] class step3 action step4[“<b>Дія</b> – <b>T1574.010 Hijack Execution Flow Services File Permissions Weakness</b><br/>Шкідливе ПЗ створює сервіс Windows із зміненими правами для забезпечення стійкості.”] class step4 action step5[“<b>Дія</b> – <b>T1027 Обфусцировані файли або інформація</b><br/>Payload запаковується у архів із саморозпакуванням, захищений паролем, з використанням кастомного кодування.”] class step5 action step6[“<b>Дія</b> – <b>T1036 Маскування</b><br/>Шкідливі файли названі схоже на легітимне ПЗ, наприклад «Cyberlink» або «SnailDriver».”] class step6 action step7[“<b>Дія</b> – <b>T1056.001 Захоплення введення: кейлогінг</b><br/>Кейлогінг через Windows API-хуки для збору облікових даних користувача.”] class step7 action step8[“<b>Дія</b> – <b>T1555.003 Облікові дані з браузерів та сховищ паролів</b><br/>Викрадає паролі, куки та історію браузерів Chrome, Edge, Firefox та інших.”] class step8 action step9[“<b>Дія</b> – <b>T1012 Опитування реєстру</b><br/>Читає HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid для отримання унікального ідентифікатора системи.”] class step9 action step10[“<b>Дія</b> – <b>T1518 Виявлення програмного забезпечення</b> та <b>T1518.001 Виявлення антивірусного ПЗ</b><br/>Перевіряє встановлені додатки та наявність директорій антивірусних продуктів.”] class step10 action step11[“<b>Дія</b> – <b>T1010 Виявлення відкритих вікон</b><br/>Перевіряє відкриті вікна для виявлення інструментів безпеки або консолей аналізу.”] class step11 action step12[“<b>Дія</b> – <b>T1005 Дані з локальної системи</b><br/>Збирає документи, зображення та архіви з папок користувача.”] class step12 action op_collect_methods((“AND”)) class op_collect_methods operator step13[“<b>Дія</b> – <b>T1113 Захоплення екрана</b>, <b>T1123 Захоплення аудіо</b>, <b>T1125 Захоплення відео</b>, <b>T1115 Дані з буфера обміну</b><br/>Записує екран, мікрофон, вебкамеру та буфер обміну.”] class step13 action step14[“<b>Дія</b> – <b>T1074.001 Локальна підготовка даних</b><br/>Стискає зібрані файли в ZIP або RAR архіви у тимчасових локаціях.”] class step14 action step15[“<b>Дія</b> – <b>T1102.002 Веб-сервіс: двосторонній зв’язок</b><br/>Використовує Telegram-бота або групу для керування та ексфільтрації.”] class step15 action tool_telegram[“<b>Інструмент</b> – <b>Назва</b>: Telegram Bot<br/><b>Опис</b>: Забезпечує двосторонню C2 комунікацію через Telegram.”] class tool_telegram tool step16[“<b>Дія</b> – <b>T1568.002 Алгоритми генерації доменів з динамічним розв’язанням</b><br/>Генерує C2 домени на основі часових значень.”] class step16 action step17[“<b>Дія</b> – <b>T1497 Уникнення віртуалізації/пісочниці</b><br/>Виявляє інструменти аналізу, такі як Deep Freeze, і зупиняє виконання при виявленні.”] class step17 action step18[“<b>Дія</b> – <b>T1564 Приховування артефактів</b><br/>Завершує та перейменовує шкідливі процеси та файли для уникнення виявлення.”] class step18 action %% Зв’язки – Потік атаки step1 –>|призводить до| step2 step2 –>|виконує| malware_inf malware_inf –>|тригерить| step3 step3 –>|призводить до| step4 step4 –>|створює| step5 step5 –>|дозволяє| step6 step6 –>|дозволяє| step7 step7 –>|надає| step8 step8 –>|надає| step9 step9 –>|надає| step10 step10 –>|надає| step11 step11 –>|надає| step12 step12 –>|постачає| op_collect_methods op_collect_methods –>|поєднує| step13 step13 –>|постачає| step14 step14 –>|підготовлює| step15 step15 –>|використовує| tool_telegram tool_telegram –>|підтримує| step16 step16 –>|підтримує| step17 step17 –>|підтримує| step18
Потік атаки
Виявлення
Підозріле виконання Taskkill (через cmdline)
Перегляд
Підозріла командна лінія містить назву браузера як аргумент (через cmdline)
Перегляд
Можливо, здійснено операцію власноруч або скрипт у незвичних папках (через cmdline)
Перегляд
Можливе використання Lame для запису звуку (через cmdline)
Перегляд
Можливе зловживання Telegram як каналом командування та управління (через dns_query)
Перегляд
Виклик підозрілих функцій Windows API з Powershell (через powershell)
Перегляд
Можливо, було створено саморозпаковуючий архів (через file_event)
Перегляд
IOCs (Електронні листи) для виявлення: Аналіз APT Prince of Persia: Шкідливі програми Infy, Foudre та Tonnerre
Перегляд
Виконання і уникнення Foudre шкідливого ПЗ Prince of Persia [Створення процесу Windows]
Перегляд
Виявлення шкідливого ПЗ Tonnerre, що використовує бота Telegram і динамічну генерацію доменів [Мережева активність Windows]
Перегляд
Виявлення викликів API для шкідливого ПЗ Infy [Sysmon Windows]
Перегляд
Виконання симуляції
Передумова: Перевірка телеметрії та базових налаштувань повинна бути пройдена.
Пояснення: Цей розділ докладно описує точне виконання техніки суперника (TTP), розробленої для виклику правила виявлення. Команди та опис повинні безпосередньо відповідати виявленим TTP і мати на меті генерувати точну телеметрію, очікувану логікою виявлення.
-
Опис атаки та команди:
Симульований суперник імітує поведінку шкідливого ПЗ Infy, створюючи три хибні виконувані файли, чиї імена файлів відповідають викликам API, за якими слід спостерігати по правилу. ВикористовуючиCopy-Item, ми дублюємоnotepad.exe(безпечний, вже наявний бінарний файл) до тимчасового каталогу та перейменовуємо його, щоб відповідати кожному виклику API. Зловмисник потім виконує кожен хибний бінарний файл, виробляючи події створення процесів Sysmon зImageзначення завершуються наGetFileAttributesA.exe,GetMessageA.exe, таDispatchMessageA.exe. Оскільки умова правилаselection1 or selection2на поліImage, кожен запуск задовольняє правило і викликає попередження. -
Сценарій регресійного тесту:
# ------------------------------------------------- # Сценарій симуляції – Тест виявлення викликів API Infy # ------------------------------------------------- $tempDir = "$env:TEMPInfySim" New-Item -ItemType Directory -Path $tempDir -Force | Out-Null # Помічник: скопіюйте notepad.exe до нового імені function Copy-And-Run { param ( [string]$newName ) $src = "$env:SystemRootSystem32notepad.exe" $dst = Join-Path $tempDir $newName Copy-Item -Path $src -Destination $dst -Force Write-Host "Створено $dst" Start-Process -FilePath $dst -WindowStyle Hidden } # Створення та виконання хибних бінарних файлів, що відповідають іменам API Copy-And-Run -newName "GetFileAttributesA.exe" Copy-And-Run -newName "GetMessageA.exe" Copy-And-Run -newName "DispatchMessageA.exe" Write-Host "Симуляція завершена. Перевірте SIEM на наявність попереджень." -
Команди очищення:
# ------------------------------------------------- # Сценарій очищення – Видалення симульованих бінарних файлів # ------------------------------------------------- $tempDir = "$env:TEMPInfySim" # Зупинки всіх залишкових хибних процесів Get-Process -Name "GetFileAttributesA","GetMessageA","DispatchMessageA" -ErrorAction SilentlyContinue | Stop-Process -Force # Видалити тимчасовий каталог та його вміст Remove-Item -Path $tempDir -Recurse -Force -ErrorAction SilentlyContinue Write-Host "Очищення завершено."