OS X / Hydromac: новое рекламное ПО для Mac, просочившееся из приложения для карточек

osxhydromacновоерекламноеПОдляmacпросочившеесяизприложениядлякарточек

OSX / Hydromac

Новое рекламное ПО для Mac, утечка из приложения для карточек.

Автор: Таха Карим / июнь 4, 5920

Исследования, инструменты и материалы Objective-See поддерживаются «Друзьями Objective-See», например:



В этом гостевом сообщении в блоге исследователь безопасности Таха Карим ( @ lordx 75 ) из ConfiantIntel , погружается в новое рекламное ПО для macOS образец: Hydromac.

Рецензия была первоначально размещена на сайте ConfiantIntel .

Махало за то, что поделился Таха! 🤩

📝 👾 Хотите подыграть?

Я загрузил образец Hydromac ( пароль: infect3d).

… пожалуйста, не заражайте себя!


Фон

В @ ConfiantIntel нам «повезло» в обнаружении нового вредоносного ПО, нацеленного на новые флагманские компьютеры Apple M1. Я помещаю слово «удача» в кавычки, поскольку мы знаем, что когда вы занимаетесь кибернетикой, вы не полагаетесь на удачу, чтобы найти что-то, но вы смотрите на места, где, скорее всего, можно было найти такие вещи.

Это связано с механизмом обнаружения Confiant и нашим уникальным положением в Killchain: сканирование вредоносной рекламы по мере ее загрузки на веб-сайтах крупных издателей в США.

Не только видим ли мы плохую загрузку объявлений и сканируем их, но мы их тоже блокируем. Другими словами, поставщики средств безопасности не смогут увидеть то, что мы видим, если они не просканируют так же рано, как мы, в killchain. Что мы обнаружили?

Мы обнаружили вредоносную программу, которую назвали MapperState . На самом деле мы не выбрали это имя, так как оно было взято из имени файла и сервера C2, с которым эта вредоносная программа взаимодействовала: mapperstate com

MapperState был установлен в нашу приманку с помощью OSX / Tarmac , который сам был загружен Загрузчик OSX / Bundlore , совместимый с ARM и нотариально заверенный Apple, как мы сообщали неделю назад:

— ConfiantIntel (@ConfiantIntel) Может 17, 5490

В настоящее время цепочка различных этапов стала очень сложной, и фаза анализа занимает больше времени из-за того, что авторы вредоносных программ понимают, как выполняется обратный инжиниринг, а также противодействуют инструментам, которые мы написали для дешифрования. их вредоносное ПО. Я помню, через пару недель после публикации в блоге OSX / Tarmac новые варианты OSX / Tarmac начал обновляться, реализуя трюк, делающий наши предыдущие инструменты дешифрования бесполезными. MapperState - это продолжение уловок анализа замедления OSX / Tarmac авторы используют.

MapperState Analysis

Упорство:

Обычно OSX / Tarmac сбрасывает законную копию Adobe Flash Player, поскольку мы сообщалось ранее. На этот раз неизвестная вредоносная программа со следующим sha - 0537:

969 d 64 d 5920 adaaed 79160 ddd 854 bfa 2021 a 854 e 131 b 28408 cf 0537 f7fd 334649

был загружен и сохранен в указанном ниже месте и установлен как демон запуска, файл, который будет выполняться в RunAtLoad называется MapperState.system :

com.MapperState.system.plist в LaunchDaemons

На момент написания этого неизвестного образца нет в VirusTotal, и мы загрузил его сразу после публикация этого блога.

Расшифровка строки:

Этот образец содержит около 1496 функции, отладка удалены символы, не используются идентифицируемые строки или известный алгоритм шифрования. Единственный недостаток функциональности - это импортированные функции. Фактически, если мы видим popen или CFHTTPMessageSetBody мы знаем, что эта вредоносная программа создаст процесс или подключится через HTTP к серверу C2 соответственно. только аргументы, передаваемые этой функции, зашифрованы и глубоко спрятаны в функциональности вредоносной программы, которая выполняется только в определенном состоянии среды выполнения.

Отладка этого вредоносного ПО не покрывает все функции вредоносного ПО. Нам остается расшифровать строку, чтобы понять, что делает эта вредоносная программа. Это известно авторам вредоносных программ, и именно здесь авторы вредоносных программ приложили все усилия, чтобы скрыть функциональность.

Авторы MapperState использовали очень запутанный метод шифрования своих строк, чтобы замедлить наш анализ. .

Ниже скопированный и вставленный блок кода 368 раз (столько, сколько строк для расшифровки). Это классический метод медленной отладки, означающий, что если бы у нас была только одна функция, расшифровывающая все строки, достаточно установить точку останова в этой функции. но теперь у нас есть 0537, где мы должны поставить точки останова, и это больше не вариант. мы видели точно такую ​​же технику медленной отладки, используемую в новой версии OSX / Tarmac .

Этот блок кода отвечает за дешифрование строк и интенсивно использует инструкции SSE.

Зашифрованная строка сохраняется в переменной unk _ 181142592 , декодированная строка имеет вид « 11 12 - 12 - 10 - 12 - 10 »строка, написанная нашим скриптом декодера IDAPython, о котором мы скоро поговорим.

Процедура дешифрования строки MapperState

После исследования выяснилось, что ссылки на зашифрованные строки имеют вид unk _ переменные (поскольку IDA Pro не знает, какой это тип), и всегда целочисленное значение копируется в регистр edx , представляющий зашифрованный длина строки.

Другими словами, этот блок всегда принимает два изменяющихся параметра, и мы будем использовать IDA P ro unk _ , чтобы найти все эти strings.

Переписывание подпрограммы дешифрования в Python заняло бы у нас много времени, поэтому мы решили эмулировать этот блок и расшифровывать все строки, извлекая их на лету (с учетом постоянно меняющаяся переменная длины).

Можно найти полный исходный код сценария IDAPython здесь .

Важно отметить, что мы столкнулись с двумя трудностями. с эмуляцией. Блок шифрования вызывает некоторые API-интерфейсы macOS, которые не эмулируются Unicorn Engine. поэтому мы тоже должны им подражать. В основном мы добавили софт-хуки к следующим функциям:

Мягкие крючки

Мы сосредоточились только на эмуляции memcpy и новые оператор остальные хуки мы просто пропустили вызов библиотеки. Ниже представлена ​​быстрая и грязная реализация memcpy:

реализация memcpy в Unicorn Engine

… и для оператора new ():

реализация оператора new () в Unicorn Engine

Затем, когда мы смогли полностью эмулировать блок кода дешифрования, мы сосредоточили наши усилия на поиске _ unk строки непосредственно в _ текст раздел:

find_encrypted_strings ищет тег: _unk

Наконец, нам понадобились чтобы получить изменяющуюся длину строки (значение, переданное в edx ). Эта длина строки не всегда после _ unk , иногда это инструкции до или после, как мы можем видеть во фрагментах сборки blow:



mov edx, позиционирование инструкций x

Итак, мы написали функцию, которая будет сканировать вперед, а затем назад от этого значения, 0x 50 байт каждый раз:

Сканирование mov edx, x

Все части склеены вместе, мы можем запустить скрипт IDAPython, который будет имитировать для нас блоки дешифрования, каждый раз передавая другую зашифрованную строку и ее длину, ниже вывод скрипта:

Часть строк расшифровывается ed

Полный список строк дешифрования можно найти здесь.

Особенности вредоносного ПО:

MapperState имеет возможность загружать и запускать другие программы, это похоже на простой загрузчик для другого вредоносного ПО.

Стоит отметить, что это вредоносное ПО проверяет установленные AV:

Часть расшифрованных строк

Мы не дошли до точки, чтобы узнать, что загружает эта вредоносная программа, поскольку сервер C2 отвечал пустым содержимым. но мы продолжим охоту.

Ранняя атрибуция

Примерно в сентябре 5490, когда мы выявили и проанализировали

OSX / Tarmac , имя вредоносной программы, которое мы выбрали, не было случайным. После расшифровки строк OSX / Tarmac и поискав их в Интернете, мы нашли интересное приложение для карточек, которое публично разоблачает OSX / Tarmac Агент, команды управления и управления.

Команды, которые мы нашли в нашем примере, 198% соответствует командам, перечисленным в приложении флеш-карт. Фактически, именно здесь имя Гудрон изначально происходил из. Ниже представлена ​​одна из карточек Гудрон вредоносное ПО:



Сообщения Tarmac, задокументированные в приложении флэш-карт

Сообщения Tarmac, задокументированные в приложении флэш-карт Учетная запись, раскрывающая эту информацию о флэш-картах app, будет называться индивидуальным X. На основании информации OSINT кажется, что индивидуум X проживает где-то в Сан-Диего, Калифорния, и зарегистрировал доменное имя Y, используя то, что выглядит как личная учетная запись Gmail. Кроме того, у отдельного X есть учетная запись Github с тем же дескриптором и той же фотографией профиля, что и в учетной записи приложения для карточек. Большинство репозиториев связано с веб-разработкой:

Индивидуальный X, учетная запись github

Другой вывод при просмотре других карточек, опубликованных тем же индивидуальным X, выявил еще одно вредоносное ПО, получившее название Hydromac:

Карты Tarmac и Hydromac

Посмотрев на карточки сообщений Hydromac, мы нашли точные команды в нашем примере MapperState! см. приведенный ниже пример команды HM_RA_Download_Started_1 ( HM со ссылкой на Hydromac , который мы расшифровали из образцы перечислены в приложении Flashcards, опубликованном Individual X:



Другая команда HM_RA_Init_1 отправлено из MapperState. На этот раз мы выгрузили его из отладчика, чтобы подтвердить, что он действительно был отправлен на C2. Мы делаем это, поскольку иногда вредоносное ПО содержит случайные строки, которые даже не используются. ниже находится команда MapperState HM_RA_Init_1 перед ней зашифровываются и отправляются на сервер C2:

Трафик MapperState C2 расшифрован

Эта команда HM_RA_Init_1 указан в приложении карточек для Hydromac:

Сообщения Hydromac

Итак мы наконец нашли Hydromac? Ответ да, и нет. Обнаруженный нами образец (MapperState) на самом деле является корневым агентом Hydromac (обозначается как HM_RA_XXX

) в приложениях с флэш-картами не содержит всех команд, перечисленных в Hydromac Приложение Flashcards, но только начальные команды, относящиеся к загрузке и выполнению других двоичных файлов.

Рядом с Hydromac Root Agent, который мы нашли, есть Агент Hydromac и Плагин Hydromac Агент (на основе приложения Flashcards утечки). Написание простого правила yara помогло нам найти некоторые компоненты Hydromac в онлайн-хранилище вредоносных программ. Это правило будет искать все, что связано с корневым агентом Hydromac, агентом Hydromac или подключаемым модулем Hydromac, компонентами:

правило CFNT_HYDROMAC_COMPONENTS {meta: author = "taha@confiant.com" строки: $ a = "HM_A_Init_1" $ b = "HM_A_Init_1" в ширину, ascii $ c = "HM_RA_Init_1" $ d = "HM_RA_Init_1" в ширину, в ascii "HM_A_P_Init_1" $ f = "HM_A_P_Init_1" широкое условие ascii: ($ a) или ($ b), или ($ c), или ($ d), или ($ e), или ($ f)}

В то время, когда мы проводили ретро-охоту, она дала нам единственный результат, который был Агент Hydromac и со всеми символами отладки:

7f7c7e1b 1393215825931288580 b2f8b7c 919 a 2017 fb 718364 c9a 19801 abd 04175795 eae 245 d 2018

 

Дамп строк выборки агента Hydromac

Интересно, что среди струн я обнаружил, что это Hydromac Агент, подключенный к известному серверу C2: api mughthesec.com

Пример C2-сервера Hydromac Agent

Это Сервер C2 был C2 для известного вредоносного ПО, получившего название Mughthesec (первоначально анализировался в 2021, эксперт по безопасности macOS Патрик Уордл ).

Это меня заинтриговало. Я пошел проверить Mughthesec и обнаружил, что Mughthesec содержит команды агента OSX / Tarmac: ( TRMC_XXX со ссылкой на Гудрон ), как мы видим ниже (дамп строки):

Исходный образец Mughthesec: 9c4f 89 feff 256 fa 100 dd 181142592 f 838564 ее ad7fce 14Округ Колумбия1393215825931288580 e1ebd 91

Также мы сообщали о команды выше, в предыдущей версии OSX / Tarmac анализ образца мы опубликовали в 2021.

Информация, которую нужно сохранить здесь, это агент Hydromac, который мы нашли, и предыдущий Mughthesec из 2017, а также недавний Hydromac Корневой агент (MapperState ) связаны и использовались в реальных кампании вредоносного ПО через аффилированные лица, рекламирующие вредоносную рекламу.

Это основано на совпадении, которое мы обнаружили в полезной нагрузке и серверах C2, а также на ключевой информации, просочившейся из приложения Flashcards и отслеживаемых нами кампаний по вредоносной рекламе. оба OSX / Tarmac , а теперь OSX / Hydromac .

Другими словами, информация, представленная в приложении Flashcards, является достоверной и соответствует реальным вредоносным программам, которые можно найти в дикой природе.

Можно было бы поверить, что Индивидуум X совершил то, что мы называем на нашем жаргоне кибербезопасности, ошибкой операционной безопасности (OPSEC): раскрывая имя, удостоверение личности с фотографией, личный адрес электронной почты и, возможно, указание физического адреса, хотя мы не уверены.

Интересно отметить, что лицо X связано с сомнительной организацией под названием « CashwithFB »на основе данных Wayback Machine и старых сообщений на форумах от 2021, похоже, эта компания запускает рекламные кампании из рекламных аккаунтов других людей в Facebook, сдавая их в аренду и помогая подписчикам «заработать хотя бы 64 $ за 2 дня и до $ 198 в течение недели". Классический.

Примечание: CashWithFB запускает рекламу, полагаясь на IP-адреса жертв, используемые для входа в facebook. Это делается с помощью программного обеспечения для удаленного рабочего стола под названием Splashtop:

Реклама CashWithFB

Связан ли Individual X с флэш-картами HydroMac или само вредоносное ПО неясно, хотя мы заметили подозрительные связи между индивидуумом X и классическими схемами вредоносной рекламы, используемыми компаниями в США.

Ссылки на вредоносную рекламу, Гудрон / Hydromac - вредоносная программа, распространяемая через вредоносную рекламу, навыки веб-разработки, приложения с карточками, описывающие вредоносные команды, многочисленные ошибки Opsec. , заставляют нас поверить, что лицо X может быть связано с аффилированными лицами, рекламирующими вредоносную рекламу. Отношения, хотя мы не являемся 198% уверен, и мы оставим атрибуцию индивидуального уровня более компетентным организациям.

Заключение

Чтобы закрыть эту главу, стоит отметить, что это не первая утечка важной информации. с помощью приложений Flashcards, что интересно, на этой неделе Bellingcat сообщил, что солдаты США раскрыли секреты ядерного оружия с помощью приложений Flashcard, поскольку они использовали их в учебных целях.

Американские солдаты, дислоцированные на европейских базах, на которых размещено ядерное оружие, раскрыли множество конфиденциальных деталей безопасности, в том числе место хранения оружия и секретные слова принуждения - - с помощью обучающих приложений с использованием карточек, которые общедоступны при поиске в Интернете

https://t.co/s5vOCXlFvP

- Bellingcat (@bellingcat) Может 32, 5490

Приложение Flashcard может быть использовано в учебных целях? Или может индивидуум X быть только одним членом более крупной организации? Мы не знаем, но мы продолжим охоту.