PamStealer переходить на Swift із серверним ланцюгом дешифрування
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Новий варіант інфостілера PamStealer для macOS представляє серйозну архітектурну зміну з Rust на Swift. Оновлене шкідливе програмне забезпечення покладається на серверний ланцюг дешифрування, що базується на спеціальному утиліті під назвою pkgunpack, що вимагає активної взаємодії C2 для дешифрування та виконання другого етапу корисного навантаження. Воно також використовує багаторівневі механізми збереження, націлюючись на облікові дані браузера, дані Keychain та обширні метадані системи.
Розслідування
Jamf Threat Labs проаналізувала новий варіант PamStealer після виявлення його у фальшивому інсталяторі криптовалютного гаманця під назвою Wavel. Розслідування показало багатоступеневий ланцюг виконання, що починається з скомпільованого JXA дроппера, за яким слідує етап на основі zsh, що виконує живий обмін ключами, та Swift-основний другий етап, відповідальний за крадіжку даних облікових записів і відбитків системи.
Пом’якшення
Користувачам слід уникати завантаження додатків з неофіційних джерел, особливо програмного забезпечення, що видає себе за криптовалютні гаманці. Організації повинні стежити за підозрілими фоновими елементами macOS та несанкціонованими змінами в конфігураційних файлах оболонки, таких як .zshrc. Контроль безпеки кінцевих точок, здатний виявляти підписку коду по запиту, ненормальну повторну прив’язку процесів та незвичайне виконання оболонки, може ще більше зменшити загрозу.
Відповідь
Коли виявлено активність PamStealer, ізолюйте уражений macOS кінцеву точку від мережі, щоб запобігти подальшій командно-контрольній комунікації та ексфільтрації даних. Проведіть судово-медичний аналіз, щоб визначити обсяг крадіжки облікових даних, приділяючи особливу увагу даним браузера та macOS Keychain. Перевірте журнали системи на предмет несанкціонованого створення LaunchAgent, підозрілих фонових елементів і несподіваної активності оболонки.
Потік атаки
Ми все ще оновлюємо цю частину.
Детекцiї
Примусове підписання коду модифікованого пакету додатків (через cmdline)
Утиліта архівації MacOS, що вказує на підозрілий каталог (через cmdline)
Підозріле використання Ditto для архівації файлів і ексфільтрації на macOS (через process_creation)
Підозрілий спроба виконання Curl [MacOS] (через cmdline)
Архів було створено в тимчасовій папці macOS (через file_event)
Завершення процесів помічника браузера для розблокування облікових даних [Створення процесу Windows]
Виявлено використання xattr та codesign для обходу технік у варіанті PamStealer [Подія файлів Linux]
Виконання скрипта PamStealer JXA через Zsh [Створення процесу Linux]
Виконання симуляції
-
Наратив атаки та команди: Зловмисник намагається розгорнути корисне навантаження, яке уникає виявлення на диску. Для цього вони використовують команду, яка декодує рядок, закодований в Base64, і передає його безпосередньо в
zshпідоболонку, використовуючи-sпрапор. Щоб запобігти легкому зв’язуванню процесу зловмисного програмного забезпечення з оригінальною сесією оболонки, зловмисник упаковує корисне навантаження у функцію з назвоюdaemon_function, виконує її у фоновому режимі, використовуючи&, і негайно виходить з поточної оболонки, щоб розірвати зв’язок дерева процесів. -
Регресійний тестовий скрипт:
#!/bin/bash # Імітація виконання PamStealer JXA через zsh # Визначте "шкідливе" корисне навантаження як ім'я функції та команду # Корисне навантаження передається в zsh -s для імітації TTP PAYLOAD="daemon_function() { echo '[!] ВИКОНАНО ШКІДЛИВЕ НАВАНТАЖЕННЯ'; }; daemon_function & ; exit 0" # Виконайте корисне навантаження точно так, як очікує правило детекції echo "$PAYLOAD" | zsh -s -
Команди очистки:
# Очищення мінімальне, оскільки команда передається і не створює постійних файлів. # Необхідно лише переконатися, що жоден фоновий процес із симуляції більше не працює. pkill -f "daemon_function"