Недавно мы обнаружили новый вариант вредоносного загрузчика для macOS, предположительно связанного с APT-группировкой BlueNoroff и ее продолжающейся вредоносной кампанией, также известной как RustBucket. Эта группировка атакует финансовые организации, в частности — компании, чья деятельность так или иначе связана с криптовалютой, а также отдельных пользователей, владеющих криптовалютными активами или интересующихся этой темой. Впервые информация о новом загрузчике появилась в посте в социальной сети X (бывший Твиттер).
Ранее цепочка распространения вредоносной нагрузки в рамках кампании RustBucket начиналась с приложения, мимикрировавшего под утилиту для просмотра PDF-файлов. В нынешнем же варианте вредоносный загрузчик распространялся внутри ZIP-архива и маскировался под PDF-файл с именем «Crypto-assets and their risks for financial stability» и иконкой, на которой изображен титульный лист соответствующего документа. Согласно метаданным, сохранившимся в ZIP-архиве, приложение было создано 21 октября 2023 года.
Как именно распространялся архив, неизвестно. Возможно, злоумышленники рассылали его жертвам по почте, как и в прошлые свои кампании.
На момент обнаружения приложение имело валидную подпись, однако сейчас сертификат уже отозван:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Signature #1: Valid Chain #1: Verified: True Serial: 6210670360873047962 Issuer: CN=Developer ID Certification Authority,OU=Apple Certification Authority,O=Apple Inc.,C=US Validity: from = 20.10.2023 3:11:55 to = 01.02.2027 22:12:15 Subject: UID=2C4CB2P247,CN=Developer ID Application: Northwest Tech-Con Systems Ltd (2C4CB2P247),OU=2C4CB2P247,O=Northwest Tech-Con Systems Ltd,C=CA SHA-1 Fingerprint: da96876f9535e3946aff3875c5e5c05e48ecb49c Verified: True Serial: 1763908746353189132 Issuer: C=US,O=Apple Inc.,OU=Apple Certification Authority,CN=Apple Root CA Validity: from = 01.02.2012 22:12:15 to = 01.02.2027 22:12:15 Subject: CN=Developer ID Certification Authority,OU=Apple Certification Authority,O=Apple Inc.,C=US SHA-1 Fingerprint: 3b166c3b7dc4b751c9fe2afab9135641e388e186 Verified: True (self-signed) Serial: 2 Issuer: C=US,O=Apple Inc.,OU=Apple Certification Authority,CN=Apple Root CA Validity: from = 25.04.2006 21:40:36 to = 09.02.2035 21:40:36 Subject: C=US,O=Apple Inc.,OU=Apple Certification Authority,CN=Apple Root CA SHA-1 Fingerprint: 611e5b662c593a08ff58d14ae22452d198df6c60 |
Информация о подписи приложения
Исполняемый файл написан на языке Swift, имеет имя EdoneViewer и представляет собой файл универсального формата, содержащий версии для устройств как на процессорах Intel, так и на Apple Silicon. Вредоносная нагрузка в нем зашифрована с помощью XOR и расшифровывается в главной функции — CalculateExtameGCD. В процессе расшифровки в терминал выводятся сообщения, не связанные с настоящим назначением функции и призванные усыпить бдительность аналитика.
Расшифрованная нагрузка представляет собой сценарий AppleScript:
Назначение этого сценария — собрать и выполнить shell-команду:
Собранная shell-команда выполняет следующие действия:
- Скачивает .pdf-файл, сохраняет по пути /Users/Shared/Crypto-assets and their risks for financial stability.pdf и открывает его. Этот файл не является вредоносным и запускается для отвлечения внимания пользователя:
- Делает POST-запрос на сервер и сохраняет ответ в скрытый файл /Users/Shared/.pw.
- Выдает этому файлу права и запускает его, передав в качестве аргумента адрес C&C-сервера.
C&C-сервер расположен на домене hxxp://on-global[.]xyz, который зарегистрирован совсем недавно — 20.10.2023. Связи этого домена с другими файлами и угрозами мы не обнаружили.
Файл .pw — троянец, обнаруженный нами еще в августе. Как и загрузчик, он представляет собой файл универсального формата:
Он собирает и отправляет на командный сервер следующую информацию о системе:
- имя компьютера;
- версию операционной системы;
- часовой пояс устройства;
- дату запуска устройства;
- дату установки операционной системы;
- текущее время;
- список выполняющихся в системе процессов.
Сбор и отправка данных осуществляются циклически, с интервалом в минуту. В ответ троянец ожидает от сервера одну из трех команд:
Номер команды | Описание |
0x0 | Сохранить полученный ответ в файл и выполнить |
0x1 | Удалить себя и завершить работу |
Любое другое число | Продолжать ожидание команды |
В случае если сервер пришлет команду 0х0, программа сохранит данные, переданные вместе с командой, в скрытый файл /Users/Shared/.pld, выдаст ему права на запись, чтение и запуск и выполнит его:
К сожалению, на момент проведения анализа сервер так и не прислал ни одной команды, из-за чего выяснить содержимое следующего этапа атаки не представилось возможным. Описанный троянец уже детектируется большинством антивирусных вендоров:
Индикаторы компрометации
Файлы
Хеш MD5 | Формат файла | Имя файла |
1fddf14984c6b57358401a4587e7b950 | Mach-O Fat | EdoneViewer |
d8011dcca570689d72064b156647fa82 | Mach-O Fat | .pw |
90385d612877e9d360196770d73d22d6 | Zip | Crypto-assets and their risks for financial stability.zip |
3b3b3b9f7c71fcd7239abe90c97751c0 | Zip | Crypto-assets and their risks for financial stability.zip |
b1e01ae0006f449781a05f4704546b34 | Zip | Crypto-assets and their risks for financial stability.zip |
80c1256f8bb2a9572e20dd480ac68759 | Crypto-assets and their risks for financial stability.pdf |
Ссылки
URL | Описание |
hxxp://on-global[.]xyz/Ov56cYsfVV8/OJITWH2WFx/Jy5S7hSx0K/fP7saoiPBc/A== | URL-адрес PDF-файла |
hxxp://on-global[.]xyz/Of56cYsfVV8/OJITWH2WFx/Jy5S7hSx0K/fP7saoiPBc/A== | URL-адрес троянца |
Новый троянец BlueNoroff атакует пользователей macOS
Сергей
Здравстуйте! Никак не могу понять, вот на примере данного трояна — как он смог обойти защиту XProtect? На тот момент в XProtect еще не было сигнатур свежих? Или ок, файл зашифрован через XOR, но после того, как он собрал shell-команду, разве она не обнаруживается XProtect’ом, как вредоносная?
Спасибо!
Securelist
Здравствуйте, Сергей!
Мы не отвечаем за функциональность XProtect, однако можем предположить, что на момент проведения атаки актуальные сигнатуры в нем действительно отсутствовали. Что касается shell-команды, то она не могла быть просканирована XProtect, так как она не записывается на диск, а выполняется напрямую из памяти процесса osascript. То есть вредоносное приложение расшифровывает сценарий AppleScript и передает его в качестве аргумента утилите osascript, а этот сценарий уже в свою очередь собирает и передает на вход Shell-интерпретатора полученную команду.