MacSync Stealer: новый C2-сервер и статический ключ API обнаружены при атаке на macOS через Jamf Protect

Stealer

Пятого мая система Jamf Protect на компьютере одного из клиентов RST Cloud заблокировала попытку загрузки вредоносного файла с домена jacksonvillemma[.]com. Клиент немедленно сообщил об этом аналитикам. Уже через час исследователи RST Cloud получили образец второй стадии загрузчика, подтвердили, что это знакомая программа-похититель MacSync Stealer, и внесли новый домен и сопутствующие индикаторы в свою базу угроз.

Описание

Примечательно, что TLS-сертификат для jacksonvillemma[.]com был выпущен второго мая - то есть примерно через двадцать четыре часа после того, как предыдущий командный центр (C2) этой же группировки, glowmedaesthetics[.]com, был публично раскрыт первым мая в бюллетене SANS Internet Storm Center. Таким образом, злоумышленники переключились на новый сервер менее чем за сутки. Ещё через три дня, пятого мая, новый C2 уже пытался доставить полезную нагрузку на компьютеры жертв.

MacSync Stealer - это хорошо известный похититель данных для macOS, который распространяется по модели "вредоносное ПО как услуга" (MaaS). Впервые он появился под названием Mac.c, а в сентябре 2025 года был переименован в MacSync. Семейство документировано несколькими независимыми командами: Moonlock, Jamf Threat Labs, Sophos X-Ops и Центром киберугроз CIS. Судя по открытым отчётам, за программой стоит пользователь подпольного форума с псевдонимом "mentalpositive".

В ходе анализа RST Cloud выяснил, что новый загрузчик содержит статическое значение api-key - 5190ef1733183a0dc63fb623357f56d6. Специалисты RST Cloud в своём отчёте отметили, что этот же ключ встречается как минимум на четырёх разных C2-доменах в публичных исследованиях с декабря 2025 года по апрель 2026 года: focusgroovy[.]com, houstongaragedoorinstallers[.]com, mansfieldpediatrics[.]com и теперь jacksonvillemma[.]com. Ключ не меняется при смене хоста или сборки, а вот гексагональный токен для каждого развёртывания генерируется заново.

Технически атака выглядит так. Первая стадия - загрузка zsh-скрипта по HTTP с пути /curl/<токен>. Этот скрипт декодирует встроенный base64 и gzip-архив, а затем выполняет полученный код через eval. Раскодированный скрипт (вторая стадия) определяет функцию daemon_function, которая запускается в фоне. Она подключается к C2 по протоколу: сначала отправляет запрос на /dynamic?txd=<токен> (с тем же api-key) и передаёт ответ в osascript, который запускает сбор данных. Затем, когда на диске появляется файл /tmp/osalogging.zip, функция разбивает его на куски по 10 мегабайт и PUT-запросами передаёт на /gate?buildtxd=<токен>.

Особого внимания заслуживает механизм сбора пароля. Когда функция вызывается с аргументом (а это происходит после того, как AppleScript покажет жертве диалог "Введите пароль для продолжения проверки"), она добавляет к пути /dynamic?txd= параметр &pwd=$1. Таким образом, пароль от учётной записи macOS передаётся на C2 в открытом виде в строке запроса. Любой прокси-сервер, который логирует полные URI, зафиксирует этот пароль в логах.

Аналитики RST Cloud также выявили потенциальный кластер из примерно двенадцати C2-доменов, используя поиск по шаблонам URI в сервисе any.run TI Lookup. Самый ранний из них - pressureulcerlawyer[.]com - зафиксирован ещё девятнадцатого февраля 2026 года. Несколько доменов имеют пересекающиеся даты активных сессий, что говорит о параллельной работе нескольких C2, а не об их последовательной смене.

Для защиты от этой угрозы специалистам по безопасности стоит проверить, срабатывают ли на их системах уже опубликованные YARA-правила. Правило MAL_OSX_MacSync_Stage2_Wrapper_Dec25 (автор Rhys Downing) находит майский загрузчик без изменений. Правило MAL_OBFUSC_Shell_Dropper_Dec25 от Nextron Systems также покрывает данный образец. Кроме того, Jamf Protect уже блокирует загрузку - именно его срабатывание и запустило цепочку обнаружения.

Выводы из этого инцидента очевидны. Группировка, стоящая за MacSync, продемонстрировала высокую оперативность: новый C2 был развёрнут менее чем через сутки после раскрытия старого. Статический api-key позволяет связать атаки разных месяцев и, возможно, разных покупателей. Передача пароля в открытом виде в URI - серьёзный риск для любой организации, использующей прокси-логирование. Специалистам по информационной безопасности стоит обновить правила обнаружения с учётом усечённого User-Agent (только "AppleWebKit/537.36" без хвоста "(KHTML, like Gecko) Chrome/... Safari/...") и новой схемы эксфильтрации через PUT-запросы с разбивкой на части.

Индикаторы компрометации

Domains

  • jacksonvillemma.com

URLs

  • http://jacksonvillemma.com/curl/7980485fb1e0b1b1d6307a92b5750c7055bc53b662005cbaa662ac634984363d
  • http://jacksonvillemma.com/dynamic?txd=7980485fb1e0b1b1d6307a92b5750c7055bc53b662005cbaa662ac634984363d
  • http://jacksonvillemma.com/gate?buildtxd=7980485fb1e0b1b1d6307a92b5750c7055bc53b662005cbaa662ac634984363d

MD5

  • 277acd8e241c1341852ebcd401203ecc
  • 5190ef1733183a0dc63fb623357f56d6

SHA1

  • 7d28507870e94b809f25883dc9dae838549ddfac

SHA256

  • 2728a7d444cd65550f652a8c66eaced0fe6d0389161f86393ab73da8f446a362
  • 7980485fb1e0b1b1d6307a92b5750c7055bc53b662005cbaa662ac634984363d

Комментарии: 0