Введение.
В последние несколько месяцев Иран захлестнула новая волна кибератак. Эти нападения не ограничиваются незначительным повреждением веб-сайтов - атаки поражают критическую государственную инфраструктуру и вызывает серьезные сбои в работе государственных служб.
В данной статье представлен углубленный технический анализ одной из атак на иранскую национальную медиакорпорацию Islamic Republic of Iran Broadcasting (IRIB), которая произошла в конце января 2022 года.
Ключевые выводы.
- 27 января иранская государственная вещательная корпорация стала объектом таргетированной кибератаки, в результате которой несколько государственных телеканалов транслировали кадры с лидерами оппозиции и призывами к убийству верховного лидера Ирана. Команда Check Point Research провела расследование этой атаки и смогла получить файлы и криминалистические доказательства, связанные с инцидентом, из общедоступных источников.
- Мы обнаружили вредоносные исполняемые файлы, целью которых была трансляция сообщения, кроме того, мы обнаружили доказательства использования вредоносного ПО «The Wiper». Это указывает на то, что целью злоумышленников также было нарушение работы государственных сетей вещания, причем ущерб, нанесенный теле- и радиосетям, возможно, был более серьезным, чем официально заявлено.
- Среди использованных в атаке инструментов мы обнаружили вредоносное ПО, делающее скриншоты экранов жертв, несколько созданных на заказ бэкдоров, а также соответствующие пакетные скрипты и конфигурационные файлы, используемые для установки и настройки вредоносных исполняемых файлов. Мы не смогли найти никаких доказательств того, что эти инструменты использовались ранее, или приписать их конкретной хакерской группировке.
- В этой статье мы приводим технический анализ инструментов, связанных с атакой, а также описание тактики злоумышленников.
Обзор проблематики.
Кибератаки на Иран.
В июле 2021 года кибератака поразила национальные железнодорожные и грузовые службы Ирана и вызвала «беспрецедентные перебои» в движении поездов в стране. Всего через день СМИ сообщили, что сайт Министерства дорожного и городского развития Ирана был выведен из строя в результате «сбоя систем», что лишило доступа к официальному порталу министерства и его сервисам. Как будто этого было недостаточно, чтобы заставить железнодорожников обновлять расписание поездов вручную на всех вокзалах - сообщение, повсеместно отображаемое на табло расписания поездов, отсылало недоумевающих пассажиров к телефону офиса Верховного лидера Ирана. Ранее неизвестная хакерская группа под названием «Predatory Sparrow» быстро взяла на себя ответственность за эти атаки. Компания Check Point Research изучила эти атаки и использованные в них инструменты и обнаружила, что аналогичные тактики и методы использовались в предыдущих операциях против частных компаний в Сирии, связав все эти атаки с антиправительственной группировкой под названием «Indra».
С тех пор киберпреступники продолжают наносить удары по иранским государственным службам. При осмотре набора целей выясняется, что каждая из них была тщательно отобрана, чтобы отправить некое послание. В августе 2021 года хактивистская группа «Tapandegan», ранее известная взломом и размещением протестных сообщений на электронных табло прилета и вылета рейсов в международных аэропортах Машада и Тебриза в 2018 году, опубликовала записи с камер наблюдения в тюрьме Эвин - тегеранском учреждении, в котором содержатся многие политические заключенные. Видеозаписи, на которых видно жестокое обращение с заключенными, были приобретены группой под названием «Edalat-e Ali» (справедливость Али) в знак протеста против нарушений прав человека. В октябре 2021 года все автозаправочные станции в Иране были парализованы атакой, нарушившей процесс электронных платежей. Инцидент привел к образованию чрезвычайно длинных очередей на заправках в течение двух дней и не позволил клиентам расплачиваться электронными картами, выдаваемыми правительством и используемыми для покупки топлива по субсидиям. Когда карта была проведена для оплаты, на экране снова появлялся номер телефона офиса Верховного лидера. Иранские официальные лица утверждали, что за атакой стоят иностранные государства, такие как Израиль и США, однако группа Predatory Sparrow взяла на себя ответственность и за эту атаку.
В ноябре 2021 года иранская авиакомпания Mahan Air объявила, что предотвратила попытку атаки на свои внутренние системы и атака ущерба не нанесла. Любопытно, что на этот раз ответственность взяла на себя группа под названием «Hooshyaran-e Vatan» (Бдительный народ), которая в течение следующих двух месяцев опубликовала документы, якобы похищенные в ходе взлома, которые связывают авиакомпанию с Корпусом стражей исламской революции (КСИР).
Недавно, 7 февраля 2022 года, группа Edalat-e Ali опубликовала записи с камер видеонаблюдения в другой иранской тюрьме, Гезель Хесар.
Рис.1.Временная шкала последних кибератак в Иране.
Голос и видение Исламской Республики Иран.
27 января - всего за две недели до годовщины Исламской революции 1979 года - были опубликованы сообщения о том, что IRIB, национальный вещатель Ирана, подвергся хакерской атаке. Вещательная компания Исламской Республики Иран, также называемая «Голос и видение Исламской Республики Иран», является государственной монополией, отвечающей за все радио- и телевизионные услуги в Иране. Кибератака привела к тому, что государственные телеканалы транслировали то, что должностные лица IRIB назвали «лицами и голосами лицемеров».
«Лицемеры» - это термин, используемый иранским режимом для обозначения Муджахидин-и-Хальк (MEK, также называемые «Народные моджахеды Ирана»), боевой организации в изгнании и крупнейшей политической оппозиционной группы, которая выступает за свержение нынешнего режима и установление собственного правительства, опираясь на альтернативную интерпретацию ислама. На взломанном видео появились лица лидеров MEK Марьям и Масуда Раджави, а затем изображение аятоллы Хаменеи, перечеркнутое красными линиями, и надпись «Салют Раджави, смерть (верховному лидеру) Хаменеи!». Заместитель главы IRIB по техническим вопросам Реза Алидади заявил, что «только владельцы технологий, используемых корпорацией, смогли бы осуществить атаку, опираясь на системные функции, установленные на системах, и эксплуатируемый бэкдор». Он также заявил, что подобные атаки поразили другие государственные радиоканалы.
Рис.2.Кадр из видео с лицами лидеров оппозиции, транслируемый государственными иранскими телеканалами в результате кибератаки.
Стоит упомянуть, что несколько дней спустя, 1 февраля, веб-платформа потокового вещания IRIB, «Telewebion», была взломана для трансляции протестных сообщений, призывающих граждан восстать против верховного лидера и заявляющих, что «основы режима трещат». Инцидент произошел в середине прямой трансляции футбольного матча Иран-ОАЭ. На этот раз ответственность взяла на себя политически мотивированная группировка «Edalat-e Ali», ответственная за атаки на камеры наблюдения в тюремных учреждениях. Это утверждение вполне правдоподобно, поскольку на видео, транслировавшемся во время взлома, в левом верхнем углу присутствует логотип этой группировки.
Артефакты атаки на IRIB.
Согласно иранской государственной новостной сети Akharin Khabar (Последние новости), «технические и вещательные системы полностью изолированы, они оснащены приемлемыми протоколами безопасности и недоступны через Интернет». В том же сообщении сообщалось, что силы безопасности, связанные с государственной сетью вещания, рассматривают саботаж как наиболее вероятный сценарий, при этом иранские официальные лица назвали атаку «чрезвычайно комплексной».
Пока неясно, как злоумышленники получили первоначальный доступ к сетям. Нам удалось извлечь только файлы, относящиеся к более поздним этапам атак, которые отвечают за:
- Создание бэкдоров и их сохранение пристуствия.
- Запуск вредоносной видео- или аудиодорожки.
- Установка вредоносного ПО The Wiper в попытке нарушить работу взломанных сетей.
Образцы вредоносов были загружены на VirusTotal из нескольких источников, в основном с иранских IP, и включали короткие пакетные скрипты, устанавливающие или запускающие полезные нагрузки, несколько артефактов расследования, таких как файлы журнала событий Windows или дампы памяти, и сами вредоносные файлы. Последние в основном представляют собой исполняемые файлы .NET, без обфускации, но с датой компиляции в будущем. Помимо одинакового языка и одинаковых отправителей на VirusTotal, эти файлы имеют и другие общие черты, такие как пути к PDB, общие команды, имена, повторное использование кода и общий стиль разработки.
Перехват сигналов вещания.
От видеофайла MP4, который использовался для прерывания телевизионного потока и был загружен на VirusTotal как TSE_90E11.mp4, мы смогли перейти к другим артефактам, связанным с перехватом вещания, предположительно запущенным на серверах, транслирующих телевизионные программы. Для воспроизведения видеофайла злоумышленники использовали программу SimplePlayout.exe - исполняемый файл на базе .NET, скомпилированный в режиме отладки с PDB-путем c:\work\SimplePlayout\obj\Debug\SimplePlayout.pdb. Этот исполняемый файл имеет единственную функциональность: воспроизведение видеофайла в цикле с использованием .NET MPlatform SDK от Medialooks.
Рис.3.Часть кода SimplePlayout, использующая MPlatform SDK для воспроизведения видеофайла.
Сначала программа SimplePlayout ищет файл конфигурации под названием SimplePlayout.ini, который содержит две строки: путь к видеофайлу и число, обозначающее формат видео. В соответствующем файле SimplePlayout.ini, загруженном вместе с SimplePlayout, указаны значения, соответствующие файлу MP4, расположенному по адресу c:\windows\temp\TSE_90E11.mp4 и формату видео HD 1080i с частотой обновления 50 Гц.
Для подмены уже проигрываемого видеопотока злоумышленники использовали пакетный скрипт playjfalcfgcdq.bat. Он убивает запущенный процесс и удаляет исполняемый файл TFI Arista Playout Server - программного обеспечения, которое, как известно, IRIB использует для вещания - а затем удаляет драйвер Matrox DSX, часть программного обеспечения для обработки медиа в виртуализированных вещательных инфраструктурах.
Чтобы объединить все вредоносные компоненты есть другой скрипт - layoutabcpxtveni.bat - который выполняет несколько действий:
- Переименовывает видеофайл MP4, расположенный по адресу c:\windows\temp\TSE_90E11.003 в TSE_90E11.mp4. Этот файл, вероятно, был сброшен одним из бэкдоров, о которых мы поговорим позже.
- Уничтожает запущенный процесс QTV.CG.Server.exe, возможно, часть программного обеспечения для вещания Autocue QTV, и перезаписывает оригинальный сервер, расположенный по адресу D:\CG 1400\QTV.CG.Server.exe с SimplePlayout, инструментом, используемым злоумышленниками для воспроизведения их видео.
- Копирует c:\windows\SimplePlayout.exe в SimplePlayout.ini в тот же каталог, где находится QTV.CG.Server.exe. Этот образец пакетного скрипта содержит опечатку, так как злоумышленники, вероятно, имели в виду скопировать SimplePlayout.ini рядом с вредоносным исполняемым файлом.
- Запускает SimplePlayout.exe как из исходного, так и из замененного местоположения.
В другом наборе связанных артефактов, которые мы обнаружили, злоумышленники используют WAV-файл, содержащий 25-секундную звуковую дорожку под названием TSE_90E11.001, схожим с именем MP4-файла, используемого во взломанном телевизионном потоке. Исполняемый файл под названием Avar.exe основан на NAudio, аудиобиблиотеке .NET с открытым исходным кодом, и отвечает за воспроизведение WAV-файла. В отличие от SimplePlayout.exe, Avar.exe не полагается на файл конфигурации. Вместо этого он содержит жестко закодированный как C:\windows\temp\TSE_90E11.001 путь к WAV-файлу. После запуска Avar.exe пытается найти все активные аудиоустройства и воспроизвести WAV-файл на каждом из них.
Наконец, скрипт под названием avapweiguyyyw.bat собирает все воедино. Он убивает процесс под названием ava.exe и заменяет исполняемый файл по адресу C:\Program Files\MIT\AVA\ava.exe на Avar.exe. Использование имени Ava в файлах и папках может навести на мысль, что эти файлы предназначались для радио AVA компании IRIB, хотя факт того, что оно также пострадало от этой атаки, официально не подтвержден.
The Wiper.
Мы обнаружили два одинаковых .NET-образца с именем msdskint.exe, основная цель которых - очистка файлов, дисков и MBR компьютера. Это также можно понять из пути PDB: C:\work\wiper\Wiper\obj\Release\Wiper.pdb. Кроме того, вредоносная программа способна очищать журналы событий Windows, удалять резервные копии, убивать процессы, изменять пароли пользователей и многое другое. Оба образца были загружены на VT теми же пользователями и в те же сроки, что и ранее обсуждаемые артефакты.
Рис.4.Обзор возможностей The Wiper.
The Wiper имеет три режима для повреждения файлов и заполняет байты случайными значениями:
- default - Переписать первые 200 байт каждой части файла размером 1024 байта.
- light-wipe – Переписать определенное количество фрагментов, заданное в конфигурации.
- full_purge - Переписать все содержимое файла.
Конфигурацию для процесса стирания The Wiper получает в аргументах командной строки или из жестко заданной конфигурации по умолчанию и списка исключений в файле. Конфигурация по умолчанию содержит заранее определенный список исключений, связанных с ОС Windows и продуктами безопасности Kaspersky и Symantec, которые широко используются в Иране:
"-light-wipe", "3",
"-stop-iis",
"-logs",
"-shadows",
"-processes",
"*sql",
"-mbr",
"-fork-bomb",
"-wipe-all",
"-wipe-stage-2",
"-wipe-exclude", "C:\\\\Windows",
"-wipe-exclude", "C:\\\\$Recycle.Bin",
"-wipe-exclude", "C:\\\\$WinREAgent",
"-wipe-exclude", "C:\\\\Config.Msi",
"-wipe-exclude", "C:\\\\Recovery",
"-wipe-exclude", "C:\\\\Program Files\\\\IBM\\\\*",
"-wipe-exclude", "C:\\\\System Volume Information",
"-wipe-exclude", "C:\\\\Program Files\\\\Symantec*",
"-wipe-exclude", "C:\\\\Program Files (x86)\\\\Symantec*",
"-wipe-exclude", "C:\\\\Program Files\\\\Kaspersky*",
"-wipe-exclude", "C:\\\\Program Files (x86)\\\\Kaspersky*",
"-wipe-exclude", "C:\\\\Program Files\\\\Microsoft*",
"-wipe-exclude", "C:\\\\Program Files (x86)\\\\Microsoft*",
"-wipe-exclude", "C:\\\\Program Files\\\\Windows*",
"-wipe-exclude", "C:\\\\Program Files (x86)\\\\Windows*"
Если у вредоносной программы нет аргументов, она запускается как служба с именем "Service1".
Основная функция The Wiper вычисляет хэш FNV1A32 каждого аргумента и использует его для определения действия:
Аргумент |
Опция |
Действие |
“-mbr” |
– |
Включение флага DestroyMBR |
“-fork-bomb” |
Запуск еще двух экземпляров The Wiper, также с аргументом "-fork-bomb". |
|
“-sessions” |
– |
Закрытие сессий других пользователей с помощью команд cmd: logoff {0} и rwinsta {0} |
“-delete-users” |
путь к файлу или список пользователей (* = все пользователи) |
Удаление указанных учетных записей с помощью команды cmd: net user {0} /delete |
“-break-users” |
путь к файлу или список пользователей (* = все пользователи) |
Выведение из строя указанных учетных записей, изменив их пароль на 8-байтовую случайную строку с добавлением "aA1!". |
“-logs” |
– |
Удаление событий из журнала событий Windows с помощью команды cmd: for /F \"tokens=*\" %1 in ('wevtutil.exe el') DO wevtutil.exe cl \"%1\" |
“-passwords” |
– |
Нет |
“-shadows” |
– |
Уничтожение теневых копий с помощью команды cmd: echo delete shadows all > 1.s && diskshadow /s 1.s && del 1.s |
“-start-iis” |
– |
Запуск IIS с помощью команды iisreset /start |
“-stop-iis” |
– |
Остановка IIS командой iisreset /stop. |
“-config” |
file_path |
Чтение аргументов из указанного файла конфигурации |
“-light-wipe” |
размер |
Изменение только указанного размера 1024-байтовых фрагментов в файле |
“-wipe-exclude” |
список директорий |
Добавление директорий, которые не будут затираться |
“-delete” |
– |
Включение флага delete_files, который означает удаление файлов после их повреждения |
“-processes” |
путь к файлу или список процессов (* = все процессы) |
Убить указанные процессы с помощью команды cmd: taskkill /PID {0} /f |
“-wipe-stage-2” |
– |
Включение флага wipe_stage_2, который означает затирание файлов методом по умолчанию, а затем их удаление |
“-purge” |
– |
Включение флага full_purge, который означает повреждение всего файла, а не только его фрагментов. |
“-wipe-only” |
путь к файлу или список файлов |
Добавление списка файлов для затирания |
“-wipe-all” |
– |
Затирать все файлы с поддерживаемыми расширениями |
Флаг DestroyMBR позволяет вредоносной программе затирать MBR, записывая жестко закодированный base64-бинарный файл в файл precg.exe и затем запуская его. precg.exe - это MBRKiller, основанный на MBR-чистильщике Gh0stRAT.
Основная процедура стирания начинается с поиска последнего файла, который был стерт. Вредоносная программа записывает его путь в файл с именем lastfile (или lastfile2 в случае wipe_stage_2). Затем каждый файл проверяется на предмет исключения или отсутствия его расширения в предопределенном списке:
".accdb", ".cdx", ".dmp", ".h", ".js", ".pnf", ".rom", ".tif", ".wmdb", ".acl", ".cfg", ".doc", ".hlp", ".json", ".png", ".rpt", ".tiff", ".wmv", ".acm", ".chk", ".docx", ".hpi", ".lnk", ".pps", ".rsp", ".tlb", ".xdr", ".amr", ".com", ".dot", ".htm", ".log", ".ppt", ".sam", ".tmp", ".xls", ".apln", ".cpl", ".drv", ".html", ".lst", ".pptx", ".scp", ".tsp", ".xlsx", ".asp", ".cpx", ".dwg", ".hxx", ".m4a", ".pro", ".scr", ".txt", ".xml", ".avi", ".dat", ".eml", ".ico", ".mid", ".psd", ".sdb", ".vbs", ".xsd", ".ax", ".db", ".exe", ".inc", ".nls", ".rar", ".sig", ".wab", ".zip", ".bak", ".dbf", ".ext", ".ini", ".one", ".rar", ".sql", ".wab~", ".bin", ".dbx", ".fdb", ".jar", ".pdf", ".rdf", ".sqlite", ".wav", ".bmp", ".dll", ".gif", ".jpg", ".pip", ".resources", ".theme", ".wma", ".config", ".mxf", ".mp3", ".mp4", ".cs", ".vb", ".tib", ".aspx", ".pem", ".crt", ".msg", ".mail", ".enc", ".msi", ".cab", ".plb", ".plt"
Режим full_purge, который перекрывает все байты файла, всегда включен для файлов из списка the purge_extensions
:
".json", ".htm", ".log", ".html", ".lst", ".txt", ".xml", ".vbs", ".inc", ".ini", ".sql".
Если включен флаг delete_files, The Wiper также удаляет файлы после их перезаписи.
Мы обнаружили дополнительные артефакты, представленные вместе с образцами The Wiper, которые доказывают, что The Wiper действительно выполнялся в телевизионной среде:
- lastfile2, содержащий путь к последнему стертому файлу: C:\users\tpa\videos\captures\desktop.ini. Этот файл создается только в том случае, если The Wiper был запущен в режиме wipe_stage_2, который удаляет файлы после процедур очистки.
- Файл breakusufjkjdil.bat, который показывает, что по крайней мере один экземпляр The Wiper должен был быть запущен с намерением убить существующие пользовательские сессии и изменить пароли для всех пользователей: "c:\windows\temp\msdskint.exe" -break-users * -sessions
- В журнале Event Viewer Application отображаются события, связанные со службой The Wiper Service1. Журналы содержат временную метку через несколько часов после атаки:
Рис.5.Журналы Windows Event Viewer показывают выполнение The Wiper в инфраструктуре иранского телевидения.
Бэкдоры.
WinScreeny.
Название этого инструмента происходит от пути к PDB: C:\work\winscreeny\winscreeny\obj\Debug\winscreeny.pdb. Основная цель бэкдора - делать скриншоты компьютера жертвы. Мы нашли два образца этого бэкдора: первый - релизная версия, загруженная на VirusTotal с именем mslicval.exe, а второй - отладочная версия под названием precg2.exe. Само собой разумеется, эти файлы были переданы в VirusTotal вместе с другими обнаруженными нами артефактами.
Бэкдор может быть запущен различными способами, в зависимости от аргумента командной строки:
- None - Запускает SimpleTCPServer, который прослушивает порт 18000.
- service - Запускается как служба с именем Service1 . При запуске служба создает запланированную задачу командой: schtasks /create /TN \"Microsoft\\\Windows\\\.NET Framework\\\.NETASM\"/TR \"<путь_файла> \" /ST <текущее_время+1:10> /SC ONCE /F.
- setup - Пытается получить привилегии с помощью API-функции LsaAddAccountRights, а затем запустить себя в качестве службы.
Вредоносная программа прослушивает пакеты на порту 18000 и для каждого пакета проверяет, содержит ли сообщение команду scr=, отправленную методом POST. Если эти условия выполнены, вредоносная программа сохраняет снимок экрана в файл с именем screeny-.png, а в случае успеха атакующему возвращается сообщение «done».
Рис.6.Код захвата скриншотов Winscreeny.
Интересно, что релизная версия этой вредоносной программы также способна выполнять команды: она поддерживает команду s=, которая получает закодированную в base64 строку, XORed с однобайтовым ключом 0x24. Декодированная строка выполняется командой cmd, и результат выполнения возвращается на сервер. Код, обрабатывающий эту функцию, также повторно используется в бэкдоре HttpService, который мы обсудим позже.
HttpCallbackService.
HttpCallbackService - это инструмент удаленного администрирования со знакомым PDB-путем: C:\work\simpleserver\HttpCallbackService\obj\Release\HttpCallbackService.pdb. Его C&C URL может быть указан двумя различными способами: в качестве аргумента командной строки или в конфигурационном файле callservice.ini. Далее к полученному значению добавляется короткая строка: ?m=, если URL заканчивается на ".aspx" или ".php"; m=, если URL заканчивается на "/", или /m= в любом другом случае.
К сожалению, мы не нашли никаких конфигурационных или других артефактов, связанных с HttpCallbackService, поэтому C&C сервер в этой атаке остается неизвестным.
Каждые 5 секунд HttpCallbackService отправляет запрос на C&C URL, используя метод webClient.DownloadString, чтобы получить список команд, разделенных '\r\n'. Если вредоносная программа не получила ни одной команды за последние 5 минут и флаг isStayAliveMode отключен, этот временной интервал увеличивается до 1 минуты.
Вот набор поддерживаемых HttpCallbackService команд:
Команда |
Аргументы |
Действие |
“upload” |
upload_path, base64-encoded content |
Загрузить файл на компьютер жертвы. Сервер может отправлять файл частями, каждая из которых последовательно декодируется из base64 и добавляется к файлу. |
“download” |
file name |
Загрузить файл с компьютера жертвы на C&C-сервер, файл кодируется base-64 и отправляется частями по 102400 байт. |
“stay-alive” |
– |
Включить флаг isStayAliveMode и изменить таймер на 5 секунд |
“cool-down” |
– |
Отключить флаг isStayAliveMode |
Default |
command string |
Выполнить команду в cmd и вернуть результат на C&C сервер |
Когда результаты загружаются на сервер, данные отправляются на немного другой URL: C&C URL, определенный ранее, теперь дополненный "1". Данные отправляются с помощью метода WebClient.UploadValues в следующем формате:
- download=<имя_файла>\r\n--------------\r\n< base64 of chunk > для команды загрузки
- <команда>\r\n--------------\r\n<результат> для команды cmd.
HttpService.
HttpService - это еще один бэкдор, который прослушивает указанный порт: это может быть аргумент командной строки, предопределенный порт в зависимости от образца или значение из конфигурационного файла: .ini. Мы нашли несколько образцов с портами по умолчанию 19336, 19334, 19333, а также два разных загруженных в VirusTotal конфигурационных файла со значениями 19336 и 19335.
Каждый образец имеет жестко закодированную версию. Файлы, которые мы обнаружили, принадлежат трем различным версиям: 0.0.5, 0.0.11v4H и 0.0.15v4H. Версия 0.0.5 слушает указанный порт с помощью Simple TCP сервера, в то время как 0.0.11v4H и 0.0.15v4H основаны на Simple HTTP Server. Все они используют HTML Agility Pack для разбора HTML и библиотеку IonicZip для действий по сжатию.
Самая старшая версия (0.0.15v4H) бэкдора обладает множеством возможностей, включая выполнение команд и манипуляции с файлами.
Выполнение команд: Команда «cmd» заставляет бэкдор выполнить указанную команду с помощью cmd.exe и вернуть результат
- 1 - Получить вывод из оболочки и отправить его обратно на C&C.
- 2 - Завершить интерактивную оболочку и очистить ее.
- по умолчанию - Декодировать и расшифровать XORed-строку, а затем выполнить команду в оболочке и сохранить вывод.
Подобно WinScreeny, вредоносная программа также имеет команду "s=", аргументом которой является строка, XORированная с 1-байтовым ключом 0x24. Декодированная строка выполняется командой cmd.exe, и результат возвращается на сервер.
Прокси-соединения: После получения команды «p=» или «b=» бэкдор использует компьютер жертвы в качестве прокси с URL, полученным в качестве аргумента. Бэкдор связывается с этим URL, перенаправляет запрос сервера C&C и, дождавшись ответа, отправляет его обратно на C&C.
Загрузка и выгрузка файлов: Команда «f=» или «1=» позволяет бэкдору загрузить файл по пути, указанному в качестве аргумента, или записать файл, указанный в качестве аргумента, с содержимым тела сообщения. После получения команды «m=» вредоносная программа записывает тело сообщения в путь .out, считывает данные из .in и отправляет их на C&C. Если файл не существует, вредонос создает его и записывает в него текущую дату и время.
Запуск SQL-команд: Команда «con=» / «c=» получает строку подключения к SQL DB и SQL-запрос и возвращает результат на сервер.
Манипулировать локальными файлами: Команда «» проверяет, существует ли файл/директория, а затем выполняет одно из этих трех действий, основываясь на значении запроса:
- zip - Создает zip-файл из содержимого каталога и возвращает его на C&C.
- nzip - Распаковывает файл, используя путь, указанный C&C.
- del - Удаляет файл.
Интересно, что во всех трех случаях вредоносная программа отправляет обратно все содержимое каталога (включая подкаталоги) в виде HTML-страницы, содержащей кнопки Zip, Unzip и Delete в зависимости от типа файла. Вот как выглядит интерфейс на стороне злоумышленников:
Рис.7.HTML-страница со списком каталогов, возвращенная на C&C-сервер.
Дроппер ServerLaunch.
Образец HttpServer версии 0.0.5 был представлен вместе с дроппером под названием dwDrvInst.exe, который имитирует исполняемый файл программы удаленного доступа от DameWare. Путь PDB инструмента имеет тот же шаблон, C:\work\ServerLaunch\Release\ServerLaunch.pdb. Однако этот инструмент написан на C++, а не на .NET, как все остальные, и был скомпилирован 2 декабря 2021 года, почти за 2 месяца до атаки.
ServerLaunch содержит три исполняемых файла в ресурсах, которые он сбрасывает на ionic.zip.dll, httpservice2 и httpservice4, все в C:\Users\Public\. Затем вредоносная программа запускает httpservice2 и httpservice4 без аргументов. Каждый из них имеет свой порт для прослушивания, что, вероятно, позволяет злоумышленникам обеспечить некоторую избыточность C&C-связей.
Связь файлов с атакой.
Мы рассмотрели несколько различных инструментов и некоторые артефакты, связанные с их выполнением. Очевидно, что все эти инструменты были созданы одним и тем же автором и связаны между собой. Например, инструмент для создания скриншотов Winscreeny не содержит функциональности для отправки созданных скриншотов злоумышленникам, что, вероятно, означает, что он полагается на другие бэкдоры для выполнения этой операции. Повторяющееся имя Service1 для всех инструментов указывает на то, что различные бэкдоры, если они были запущены на одной машине, в основном выполнялись с помощью аргументов командной строки или конфигурационных файлов.
Учитывая, что образцы связаны друг с другом, мы можем обосновать связь между этими файлами и кибератакой IRIB:
- Весь кластер активности взаимосвязан и был отправлен в VirusTotal в основном с иранских IP в одно и то же время, вероятно, специалистами по реагированию на инциденты.
- Аудио- и видеофайлы, используемые этими инструментами, совпадают с теми, которые транслировались в прямом эфире на взломанном иранском телевидении. Твиттер-аккаунт @GhyamSarnegouni, представленный в этом видео, содержит несколько записей различных телеканалов, в которых присутствуют как видео, так и аудиодорожки, о которых мы говорили.
- Множество артефактов - таких как Matrox DSX, Autocue QTV, TFI Arista Playout Server и т.д., на которые ссылаются образцы - указывают на то, что эти файлы были предназначены для вещательной среды.
- Среди криминалистических артефактов, представленных вместе с видео и исполняемыми файлами, мы обнаружили файлы Windows Event Viewer, которые содержат доказательства того, что образцы пытались выполнить в сетевой среде иранского телевидения. Временная метка этих журналов – сразу после фактического времени инцидента.
Рис.8.Снимок экрана журнала приложений, содержащего доказательства выполнения The Wiper.
- Многочисленные доказательства из этого кластера VirusTotal файлов содержат артефакты, непосредственно связанные с IRIB. Например, внутренний инструмент под названием MIT_FreeSizeService (md5:307e7440a15c8eed720566f067a2e96b) имеет логотип IRIB, а дамп памяти программы MetaSAN под названием executable.4504.exe (md5:1fc57ccec4668bbcbebaa9c734a437ba) содержит строки памяти, указывающие на то, что программа была запущена на машине из домена MIT-TV.
Рис.9.VT-представление неизвестного инструмента со строкой MIT (такой же, как имя домена) и логотипом IRIB
Атрибуция.
Иранские официальные лица уверены, что за этой атакой стоит MEK, об этом же заявил и заместитель главы по техническим вопросам радиовещательной компании Исламской Республики Иран. Однако сама группировка отрицает свою причастность, заявляя, что «группа узнала об инциденте только тогда, когда он произошел, но что взлом мог быть делом рук их сторонников в Иране».
Хактивистская группа Predatory Sparrow, которая взяла на себя ответственность за атаки на национальные железнодорожные службы, министерство транспорта и иранские газовые станции, связала себя с атакой на IRIB через свой Telegram-канал. Утром накануне нападения они написали: «Ждите хороших новостей от нашей команды. Не переключайте канал». Позже вечером того же дня они разместили видео с одного из выведенных из строя телеканалов, представив это как «кибератаку на радио и телевидение страны, совершенную командой «Predatory Sparrow». В настоящее время никаких технических доказательств причастности группировки к атаке не обнаружено. Видео, размещенное на канале, доступно в Интернете и ссылается на другой аккаунт Telegram @GhyamSarnegouni, поэтому к этим заявлениям следует относиться с осторожностью.
Рис.10.Сообщения из Telegram-канала «Predatory Sparrow», в которых группа берет на себя ответственность за атаку.
Заключение.
В этой статье мы проанализировали набор инструментов, который, вероятно, был использован в кибератаке на IRIB, в результате которой было нарушено функционирование нескольких государственных теле- и радиоканалов. Использование вредоносного ПО The Wiper в атаке на государственную организацию в Иране заставляет нас сравнить эти инструменты с инструментами, принадлежащими хакерской группе Indra, которая, среди прочих атак, несет ответственность за внедрение аналогичного вредоноса в системы иранских железных дорог. Хотя эти чистильщики закодированы и ведут себя совершенно по-разному, некоторые детали реализации, такие как выполнение на основе пакетных файлов или шаблоны смены паролей ([случайная последовательность]aA1! для этой атаки и Aa153![случайная последовательность] в случае Indra), позволяют предположить, что стоящие за взломом IRIB злоумышленники, возможно, были вдохновлены предыдущими атаками, произошедшими в Иране.
Как и в случае с Indra, похоже, что злоумышленники могут обладать широкими возможностями, которые еще предстоит изучить. С одной стороны, атакующим удалось провести сложную операцию по обходу систем безопасности и сегментации сети, проникнуть в сети вещателя, создать и запустить вредоносные инструменты, которые в значительной степени опираются на внутренние знания о вещательном программном обеспечении, используемом жертвами, и при этом остаться незамеченными на этапах разведки и первоначального вторжения.
С другой стороны, инструменты злоумышленников имеют относительно низкое качество и сложность, и запускаются неуклюжими и иногда глючными трехстрочными пакетными скриптами. Это может подтвердить теорию о том, что злоумышленники могли получить помощь изнутри IRIB, или указывает на пока неизвестное сотрудничество между различными группами с разными навыками.
Между тем, спустя почти две недели после атаки, связанные с MEK новостные ресурсы опубликовали отчет о ходе атаки, в котором утверждалось, что «радио- и телевизионные сети режима не вернулись к нормальному состоянию», и предоставили подробный список пострадавших устройств с заявлением «более 600 серверов, передовое цифровое оборудование для производства, архивирования и вещания радио и телевидения были уничтожены, а их программное обеспечение повреждено». У нас нет возможности проверить эти заявления, но если хотя бы часть из них правдива, то масштабы разрушений, вызванных The Wiper и другими вредоносными инструментами, которые мы обнаружили (и теми, которые еще неизвестны), превзошли все ожидания.
Индикаторы компрометации.
Файлы атаки:
Hash |
Имя файла |
Описание |
1607f31ac66dfec739dc675ade921582acb8446c2ac7d6d1bc65a3e993fc5b54 |
msdskint.exe |
The Wiper |
42ed646eed4f949c456c637a222e7d94dd8ac67ed5ebda5e63c7b7979076d9cf |
msdskint.exe |
The Wiper |
8bdf6e262966a59a7242d279e511dd694467f07d1d76c456a0c26d0db2ec48a8 |
HttpService2.exe |
HttpService |
427c105859c3dc62ece790e41a42b0f6ae587496a07d3bd190143179cdf6c6bd |
HttpService4.exe |
HttpService |
e3d61cbbfbe41295dd52acff388d1d8b1d414a143d77def4221fd885aae6cd83 |
HttpService2.exe |
HttpService |
096bae94e09059e2e3106503353b1b4f7116fa667600ca2ab3fa7591708e645a |
HttpService4.exe |
HttpService |
13a016b8f502c81e172c09114f25e4d8a8632768aefd56c5f6d147e9b6466216 |
HttpService4.exe |
HttpService |
ea740894227ae1df923997edb7bda3a00f523fbff7cc02d3b5e6b3de19d672fc |
HttpCallbackService.exe |
HttpCallbackService |
62b692be251feb63af2723a68975976b749cab20014ffaa6488af80f4f03e0a1 |
dwDrvInst.exe |
ServerLaunch |
41e0c19cd6a66b4c48cc693fd4be96733bc8ccbe91f7d92031d08ed7ff69759a |
precg2.exe |
Winscreeny |
e9e4a8650094e4de6e5d748f7bc6f605c23090d076338f437a9a70ced4a9382d |
mslicval.exe |
Winscreeny |
d788ebc7ee98c222f46d7ca2347027643784a78b5954c9a31734ec1b197bc2aa |
Avar.exe |
Avar |
1155dd06e0b108bde3addcdbd5d1da4dc18ca245c39ce7d967f8971eb0f88dbb |
SimplePlayout.exe |
SimplePlayout |
a25215c9adce51a3ecfe34c802d3e7d865cf410ddbe10101e3b41f6ba11347a4 |
TSE_90E11.mp4 |
MP4-файл |
4cc21810d786dca94e01d0714d37e3f097ff6e3813bf6e17a9bd86cd9a4ceb2b |
TSE_90E11.001 |
WAV-файл |
7ea7b20b87ded3c297ec0890ee8a396427d70caf983b42f479d8fad38629b684 |
playoutabcpxtveni.bat |
|
bc8de80a28c8ae55415ccdfece270f6548f067fc2a00e799baf0279d4d560807 |
breakusufjkjdil.bat |
|
197f13580ec249fa84b1e54f978c5cab60f22561a2fab2ff60bdb2d5bfa25512 |
avapweiguyyyw.bat |
|
efc8f12c53d1730fa8ac00cfa60e63ab43d90f42879ef69d7f6fb9978246f9cb |
playjfalcfgcdq.bat |
|
a2d493c2cb25fc03f5d31cf3023b473d71d38b972eccdb7873f50d2344ea7753 |
simpleplayout.ini |
|
c305b3cb96a34258a3e702526de6548b2de99449c0839a9aea518accc7c861ab |
436748-HttpService4.exe.ini |
|
8b74c08c33cd8a0cc1eaf822caeaad6b54bc39e4839e575f3c0ece4bb8992408 |
436751-HttpService4_2.exe.ini |
Артефакты, найденные при расследовании:
Hash |
Имя файла |
Описание |
0daa0aefdc6d0641eb06e62bc8c92a0696aa8089258cb2d3552ac137d53237ec |
sec.evtx |
журнал событий безопасности одной из машин |
a3b9bd57e6b281610e570be87883d907992bdf7be3bcd37885ee2cf97d930cd3 |
application.evtx |
журнал событий приложений с одной из машин |
067ae6ecfd108a79a32eb1a76a262868d8f3a9a7924b26091f0e2229152bdd9d |
lastfile2 |
путь к последнему удаленному The Wiper файлу |
Источник: https://research.checkpoint.com