SOC Prime Bias: High

25 Sep 2026 08:15 UTC

PamStealer переходить на Swift із серверним ланцюгом дешифрування

Author Photo
SOC Prime Team linkedin icon Стежити
PamStealer переходить на Swift із серверним ланцюгом дешифрування
shield icon

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)

Команда SOC Prime
24 вересня 2026

Утиліта архівації MacOS, що вказує на підозрілий каталог (через cmdline)

Команда SOC Prime
24 вересня 2026

Підозріле використання Ditto для архівації файлів і ексфільтрації на macOS (через process_creation)

Команда SOC Prime
24 вересня 2026

Підозрілий спроба виконання Curl [MacOS] (через cmdline)

Команда SOC Prime
24 вересня 2026

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

Команда SOC Prime
24 вересня 2026

Завершення процесів помічника браузера для розблокування облікових даних [Створення процесу Windows]

AI правила SOC Prime
24 вересня 2026

Виявлено використання xattr та codesign для обходу технік у варіанті PamStealer [Подія файлів Linux]

AI правила SOC Prime
24 вересня 2026

Виконання скрипта PamStealer JXA через Zsh [Створення процесу Linux]

AI правила SOC Prime
24 вересня 2026

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

  • Наратив атаки та команди: Зловмисник намагається розгорнути корисне навантаження, яке уникає виявлення на диску. Для цього вони використовують команду, яка декодує рядок, закодований в 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"