💀 PamStealer перешёл на живой обмен ключами с C2
Новая версия macOS-стилера PamStealer больше не позволяет извлечь полезную нагрузку статически. По данным hackernews, Jamf Threat Labs зафиксировали смену схемы доставки: троян выполняет обмен ключами X25519 с сервером, и без закрытого ключа сервера основную полезную нагрузку не восстановить. Ключевая пара создаётся заново при каждом запуске, поэтому перехваченный DEK нельзя использовать повторно.
Приманка изменилась. Раньше в июле и августе 2026 года подделывали сайты Maccy, Scoppr и Nancy Clipboard. Теперь поддельный wavel[.]app предлагает несуществующий криптокошелёк Wavel. Кнопка «Download for macOS» выдаёт Wavel.dmg, внутри — скомпилированный AppleScript. Открытие файла запускает Script Editor с инструкцией выполнить JXA-загрузчик. Сама JXA-часть урезана. Она декодирует base64 и передаёт результат в /bin/zsh -s. zsh читает байты из stdin и продолжает работу в фоне.
Дальше zsh-сценарий скачивает утилиту pkgunpack с wavel.apple03cloudstore[.]com, выполняет обмен ключами X25519, расшифровывает и разворачивает пакет. Подавляет уведомления о новом фоновом элементе входа. И устанавливает четыре механизма закрепления: LaunchAgent, скрипт восстановления, который восстанавливает пакет и LaunchAgent, хук в ~/.zshrc, запускающий восстановление при каждом интерактивном запуске zsh, и хуки Git. Скрипт восстановления копируется в post-checkout и pre-commit внутри ~/Library/Application Support/System/.githooks, а git config --global core.hooksPath указывает на эту папку. Любой git checkout или git commit в любом репозитории на машине снова запускает скрипт восстановления.
Финальный стилер переписан с Rust на Swift. Он требует системный пароль через поддельное окно сбоя, проверяет его через PAM, извлекает данные из Keychain и пароли из браузеров Chromium и Firefox. Среди целей — Arc, Zen, Yandex Browser и Cốc Cốc. Также забирает .zsh_history, .zshrc, .bash_history, .gitconfig, список процессов и фото профиля.
Я бы начал разбор заражённого Mac не с LaunchAgents, а с git config --global core.hooksPath и каталога .githooks в ~/Library/Application Support/System: разработчик на такой машине сам становится источником повторного заражения при каждом git commit.
#PamStealer #macOS #stealer #GitHooks #C2
Post #900
13