- Введение
- Общие сведения
- Анализ ВПО и инструментов
- Заключение
- Приложения
Введение
В конце 2019 года специалисты экспертного центра безопасности Positive Technologies (PT Expert Security Center, PT ESC) обнаружили фишинговое письмо, нацеленное на одно из предприятий авиационно-космической отрасли России. Оно содержало ссылку на ранее неизвестное вредоносное ПО. Такое же ВПО наши эксперты обнаружили в 2020 году при расследовании инцидента ИБ в одной из российских государственных организаций. В ходе этих работ было также обнаружено несколько новых вредоносных семейств, использующих общую сетевую инфраструктуру, при этом часть из них ранее не упоминалась в открытых источниках.
Летом 2021 года PT Expert Security Center выявил следы компрометации другого предприятия. Организация была проинформирована. В результате расследования мы обнаружили на ее компьютерах соединения с той же самой сетевой инфраструктурой. Дальнейшее исследование позволило определить еще как минимум две организации в России, атакованные с использованием этого же ВПО и сетевой инфраструктуры, обе — с государственным участием.
Выявленную вредоносную активность не удалось однозначно связать с какой-либо из известных хакерских групп, поэтому мы дали атакующим новое имя — Space Pirates. Поводом для названия послужила строка P1Rat, использованная злоумышленниками в PDB-путях, и нацеленность некоторых атак на авиационно-космическую отрасль. В этом отчете описывается обнаруженная активность группировки, особенности используемого ею ВПО, а также ее связи с другими APT-группами.
Общие сведения
Мы предполагаем, что Space Pirates имеет азиатские корни: на это указывает активное использование китайского языка в ресурсах, SFX-архивах и путях к PDB-файлам. Кроме того, в арсенал группы входят распространенные в среде хакеров азиатского происхождения билдер Royal Road RTF (или 8.t) и бэкдор PcShare, а почти все пересечения с уже известной активностью связаны с APT-группировками азиатского региона.
Свою активность группа начала не позднее 2017 года. Основными целями злоумышленников являются шпионаж и кража конфиденциальной информации. Среди жертв, которых удалось выявить в ходе исследования угроз, — государственные учреждения и ИТ-департаменты, предприятия авиационно-космической и электроэнергетической отраслей в России, Грузии и Монголии. При этом в России атакованы по крайней мере пять организаций, в Грузии — одна, а точное число жертв в Монголии неизвестно.
Некоторые атаки с использованием зловредов APT-группы также были нацелены на китайские компании, работающие в области финансов, что может говорить о наличии денежной мотивации. Все потенциальные жертвы были уведомлены по линии национальных CERT.
По меньшей мере две атаки на российские организации можно считать успешными. В первом случае злоумышленники получили доступ как минимум к 20 серверам в корпоративной сети, где присутствовали около 10 месяцев. За это время было похищено более 1500 внутренних документов, а также информация обо всех учетных записях сотрудников в одном из сетевых доменов. Во втором случае атакующим удалось закрепиться в сети компании более чем на год, получить сведения о входящих в сеть компьютерах и установить свое ВПО по крайней мере на 12 корпоративных узлов в трех различных регионах.
В инструментарий Space Pirates входят уникальные загрузчики и несколько бэкдоров, ранее нам не встречавшихся, и, предположительно, специфичных для группы: MyKLoadClient, BH_A006, Deed RAT. Злоумышленники также имеют доступ к бэкдору Zupdax: его современные варианты используют аналогичную MyKLoadClient схему исполнения, однако код самого бэкдора берет начало в 2010 году и не может быть однозначно привязан к группе.
Кроме того, атакующие используют и хорошо известное ВПО: PlugX, ShadowPad, Poison Ivy, модифицированный вариант PcShare и публичный шелл ReVBShell. Для туннелирования трафика применяется утилита dog-tunnel.
Основная сетевая инфраструктура группы задействует небольшое количество IP-адресов, на которые указывают DDNS-домены. Интересно, что злоумышленники при этом используют домены не только третьего уровня, но также четвертого и последующих, например w.asd3.as.amazon-corp.wikaba.com.
В процессе исследования деятельности Space Pirates мы обнаружили большое число пересечений с ранее выявленной активностью, которую исследователи связывают с группами Winnti (APT41), Bronze Union (APT27), TA428, RedFoxtrot, Mustang Panda и Night Dragon. Причиной этого, вероятно, является обмен инструментарием между группировками — частое явление для APT-групп азиатского региона.
Отдельно стоит отметить связь групп Space Pirates и TA428. В рамках одного из расследований мы наблюдали на зараженных компьютерах активность обеих группировок, которая, однако, не имела пересечений в сетевой инфраструктуре. В то же время в ходе операции StealthyTrident, описанной ESET, атакующие использовали Tmanger, приписываемый TA428, и Zupdax, связанный со Space Pirates. Связь другого ВПО TA428, в частности Albaniiutas (RemShell), и Zupdax можно проследить и в сетевой инфраструктуре, смежной с упомянутой в отчете ESET. Все это позволяет предполагать, что Space Pirates и TA428 могут объединять свои усилия и делиться инструментами, сетевыми ресурсами и доступом к зараженным системам.
Ключевые связи между затронутыми организациями, семействами ВПО и фрагментами сетевой инфраструктуры, а также публичной информацией об атакующих можно увидеть на рис. 1. Далее в отчете мы расскажем о них подробнее.
Анализ ВПО и инструментов
MyKLoadClient
Данное вредоносное ПО использовалось в атаках на российские организации, включая государственные учреждения и предприятия из авиационно-космической отрасли, и часто распространялось с помощью целевого фишинга. Как показывает анализ писем, жертвами также становились китайские компании, предоставляющие финансовые сервисы.
Среди обнаруженных нами экземпляров ВПО с MyKLoadClient можно выделить две типичные схемы исполнения. Первая (далее также — схема 1) опирается на использование SFX-архивов в качестве дропперов, применяет технику DLL Side-Loading и использует вспомогательную библиотеку-лончер AntiVirusLoader.dll. Вторая (далее — схема 2) включает в себя только самописный дроппер, который передает управление полезной нагрузке напрямую. При этом во втором случае закрепление в системе в коде не предусмотрено.
Стоит отметить, что, по известным нам данным, прослеживается явная взаимосвязь между целями злоумышленников и выбором схемы исполнения: экземпляры с использованием схемы 1 были нацелены на российские организации, тогда как схема 2 использовалась в атаках на китайские компании. Если опираться на даты модификации и компиляции файлов (которые, однако, могли быть подменены), такое же разделение можно проследить и по времени: схема 1, предположительно, использовалась в 2018–2019 годах, а схема 2 — в 2020 году. Возможно, злоумышленники обновили цепочку исполнения примененного ранее ВПО, чтобы уменьшить вероятность его обнаружения в новых атаках.
Схема 1
Характерным примером экземпляра с первой схемой исполнения является файл с именем Петербургский международный экономический форум (ПМЭФ)____2019.exe (d3a50abae9ab782b293d7e06c7cd518bbcec16df867f2bdcc106dec1e75dc80b). Файл представляет собой SFX-архив, который извлекает документ-приманку 0417.doc и еще один SFX-архив с именем apple.exe. Файлы в архиве модифицированы в апреле 2019 года. Документ содержит текст с описанием ПМЭФ, соответствующим действительности.
Второй SFX-архив извлекает из себя три PE-файла: легитимный siteadv.exe, лончер siteadv.dll и библиотеку с полезной нагрузкой cc.tmp. Отметим, что в изученных нами экземплярах с первой схемой исполнения не всегда есть приманка. Однако во всех случаях применяется подобный SFX-архив, содержащий файлы с теми же именами и назначением.
Исполняемый EXE-файл подписан McAfee, Inc. и является компонентом установщика McAfee SiteAdvisor. При запуске он загружает библиотеку siteadv.dll, которая отвечает за установку и запуск полезной нагрузки. В ресурсах лончера присутствует конфигурация, зашифрованная RC4 с ключом TDILocker и содержащая необходимые пути, имена ключей реестра и флаги.
Лончер предусматривает несколько возможных команд, которые передаются через аргументы командной строки и отвечают за одну из стадий исполнения:
Команда | Описание |
---|---|
stat | Команда, с которой начинается установка. Перезапускает процесс, в который загружена библиотека (siteadv.exe), с командой install_del. Дополнительно передает путь к родительскому процессу. |
install_del | Закрепляется на зараженном компьютере (ключ реестра указан в конфигурации). При этом используется путь к файлу siteadv.exe с аргументом run или mrun. Удаляет файл, заданный третьим аргументом (путь к родительскому процессу). Запускает полезную нагрузку так же, как команда run. |
run | Загружает DLL с полезной нагрузкой через LoadLibrary и выполняет экспортируемую из нее функцию (имя указано в конфигурации). |
mrun | Не реализована. |
ins | Не реализована. |
Помимо основной экспортируемой функции main, которая вызывается легитимным siteadv.exe, в siteadv.dll присутствует неиспользуемый экспорт buc_uninstallinterface, отвечающий за обход UAC с использованием компонента IARPUninstallStringLauncher.
Библиотека лончера имеет экспортируемое имя AntiVirusLoader.dll. В некоторых ее экземплярах можно встретить PDB-путь:
D:\Leee\515远程文件\P1Rat_2017_07_28A\src\MyLoader_bypassKIS\snake\res\SiteAdv.pdb.
Полезная нагрузка cc.tmp — это бэкдор, реализованный в виде динамической библиотеки с внутренним именем client.dll. Она экспортирует функцию MyKLoad, которая является фактической точкой входа. Функциональность бэкдора мы рассмотрим ниже.
Схема 2
В качестве дроппера во второй схеме выступает исполняемый файл, отвечающий за извлечение приманки и полезной нагрузки. Бинарные данные расположены в теле дроппера и зашифрованы XOR с однобайтовым ключом. Помимо стандартного запуска извлеченной нагрузки через вызов CreateProcess, дроппер также выполняет рефлективную загрузку и исполнение EXE-файла непосредственно в текущем процессе.
В некоторых случаях функции дроппера дополнительно обфусцированы с применением техники Control Flow Flattening.
В качестве приманки в изученных нами образцах используется PDF-документ, содержащий сообщение о «поврежденном файле» на китайском языке, либо приложение-заглушка, которое выводит сообщения 正在更新浏览器插件,请稍后… (Подключаемый модуль браузера обновляется, подождите …) и 更新完毕,请重启浏览器! (Обновление завершено, перезапустите браузер!).
Полезная нагрузка в данном случае представляет собой исполняемый файл, в котором указано внутреннее имя client.exe. В некоторых образцах также присутствует PDB-путь C:\Users\classone\Desktop\src\client\exe_debug\client.pdb.
Тестовый образец
Нам также удалось обнаружить тестовый вариант ВПО, созданный не позднее 2018 года: b1d6ba4d995061a0011cb03cd821aaa79f0a45ba2647885171d473ca1a38c098. Это приложение-дроппер.
Интересно, что оно создано, по-видимому, на основе проекта игры «Змейка». На это указывает несколько деталей:
- в начале своей работы приложение создает окно, используя в качестве его имени строку Snake;
- присутствует код, предположительно, отвечающий за логику игры — в частности за генерацию случайных координат очередного куска пищи на поле 50×50 и сравнение их с позицией змейки;
- приложение обрабатывает нажатия клавиши «Пробел» и клавиш управления курсором;
- в ресурсах приложения есть меню с пунктами на китайском языке: «Старт», «Пауза», «Перезагрузка» и «Выход».
Помимо этого, среди ресурсов дроппера также присутствует окно «О программе» (на китайском языке), из содержания которого следует, что это вторая версия игры Snake, созданная в 2016 году. Здесь же указан электронный адрес вероятного автора — mexbochen@foxmail.com.
Поиск адреса в Google позволяет найти персональную страницу владельца электронной почты — программиста из Китая, который специализируется на задачах по обработке изображений.
Несмотря на наличие связи между приложением и владельцем эл. почты, нельзя однозначно утверждать, что именно он является автором ВПО. Возможно, в некоторый момент времени проект игры «Змейка» находился в открытом доступе, и злоумышленники использовали его как основу для реализации дроппера.
Файлы, извлекаемые дроппером, содержатся в его ресурсах в открытом виде. Помимо этого, ресурсы содержат зашифрованную конфигурацию, в которой записаны имена файлов — точно такая же конфигурация используется и в лончере. В момент записи файлов на диск их содержимое шифруется XOR с ключом 0x80, а затем файлы открываются повторно и расшифровываются. Дроппер содержит тот же набор компонентов, что и SFX-архивы (схема 1): легитимный компонент McAfee SiteAdvisor, DLL-лончер и библиотеку с полезной нагрузкой под именем Client.obj.
После извлечения дроппер формирует командную строку для запуска лончера с командой install (закрепление в реестре и запуск полезной нагрузки), но в дальнейшем не использует ее. Вероятно, это ошибка: в коде присутствует отладочное сообщение «CreateProcess success!», но функция CreateProcess не вызывается.
Лончер тестового образца отличается наличием реализации команды mrun: это вариация команды run, отвечающей за запуск экспортируемой из DLL функции с полезной нагрузкой. В отличие от run, mrun предварительно расшифровывает библиотеку по алгоритму RC4 с ключом GoogleMailData, а для ее исполнения использует рефлективную загрузку.
Полезная нагрузка Client.obj аналогична cc.tmp (схема 1) и имеет лишь несущественные отличия. В частности, экспортируемая библиотекой функция точки входа называется main, а в начале своей работы она отображает MessageBox с текстом «just a demo for test!!!». Кроме того, конфигурация бэкдора не шифруется и содержит тестовый C2 127.0.0.1.
Полезная нагрузка
Варианты реализации бэкдора в виде исполняемого файла client.exe и библиотеки client.dll имеют одинаковую функциональность. Однако в них по-разному инициализируется структура с параметрами конфигурации, которая содержит адрес и порт C2, флаг активности бэкдора, а также строковые идентификаторы ВПО, отправляемые на C2.
В библиотеке client.dll, так же как и в лончере (схема 1), в ресурсах полезной нагрузки есть конфигурация, зашифрованная RC4-ключом GoogleMailData. В EXE-варианте структура заполняется фиксированными в коде значениями.
В следующей таблице перечислены обнаруженные нами экземпляры бэкдора и данные, указанные в их конфигурации, а именно идентификаторы и контрольный сервер. Знак «?» означает, что строка представляет собой случайный набор байтов.
SHA-256 полезной нагрузки | Схема | ID1 | ID2 | ID3 | С2 |
---|---|---|---|---|---|
5847c8b8f54c60db939b045d385aba0795880d92b00d28447d7d9293693f622b | 1 | pwd | my vps | group | 127.0.0.1 |
56b9648fd3ffd1bf3cb030cb64c1d983fcd1ee047bb6bd97f32edbe692fa8570 | 1 | pwd | my vps | ? | 207.148.121.88 |
d0fb0a0379248cdada356da83cd2ee364e0e58f4ed272d3369fe1d6ca8029679 | 1 | pwd | my vps | ? | 207.148.121.88 |
7b7a65c314125692524d588553da7f6ab3179ceb639f677ed1cefe3f1d03f36e | 1 | pwd | my vps | ? | 207.148.121.88 |
3ccae178d691fc95f6c52264242a39daf4c44813d835eaa051e7558b191d19ee | 1 | pwd | my vps | ? | 207.148.121.88 |
69863ba336156f4e559364b63a39f16e08ac3a6e3a0fa4ce11486ea16827f772 | 1 | pwd | my vps | ? | micro.dns04.com |
949cb5d03a7952ce24b15d6fccd44f9ed461513209ad74e6b1efae01879395b1 | 1 | pwd | my vps | ? | microft.dynssl.com |
fa3ecd74b9f329a96b5739bba7b1872ef1ab84bb95f89101a69b6b6e780e2063 | - | pwd | memo | group | 47.108.89.169 |
84eb2efa324eba0c2e06c3b84395e9f5e3f28a3c9b86edd1f813807ba39d9acb | 2 | pwd | memo | group | 47.108.89.169 |
b822a4ec46aacb3bb4c22fe5d9298210bfa442118ee05a1532c324a5f847a9e6 | 2 | gundan | memo | group | 120.78.127.189 |
944a3c8293ff068d803f8537b15e6adbad7fa1e789f3dc404ba603a8cb7c22aa | 2 | gundan | memo | group | 121.89.210.144 |
Соединение с контрольным сервером происходит по TCP, при этом трафик не шифруется. Сообщения имеют заголовок следующей структуры:
struct PacketHeader{ _DWORD Version; // 0x20170510 _DWORD CommandId; _DWORD PayloadSize; _DWORD LastError; };
В качестве версии всегда используется константа 0x20170510, вероятно, обозначающая некоторую дату.
ВПО имеет несколько классов-модулей, отвечающих за соответствующую функциональность:
- ShellManager — удаленная командная строка;
- DiskManager — работа с дисками, установленными в зараженном компьютере;
- FileTransferManager — передача файлов;
- RS5Manager — использование зараженного компьютера в качестве прокси-сервера.
В ID каждой команды есть идентификатор модуля, который получается применением маски 0xFF000. Полный список поддерживаемых команд:
ID модуля | Полный ID | Описание |
---|---|---|
0 | 1 | Собрать информацию о зараженной системе |
0 | 3 | Завершить работу ВПО |
0x2000 (ShellManager) | 0x2002 | Запустить процесс cmd.exe и создать поток, отвечающий за отправку его вывода на C2 |
0x2003 | Отправить команду в оболочку | |
0x2004 | Завершить работу оболочки | |
0x3000 (DiskManager) | 0x3000 | Получить список доступных в системе дисков и информацию о них |
0x3001 | Получить листинг директории | |
0x4000 (FileTransferManager) | 0x4001 | Инициализировать передачу файла с зараженного компьютера на C2 (открытие файла для чтения) |
0x4008 | Прочитать блок данных из ранее открытого файла | |
0x4004 | Инициализировать передачу файла с C2 на зараженный компьютер (открытие файла для записи) | |
0x4005 | Записать блок данных в ранее открытый файл | |
0x4006 | Завершить передачу файла на зараженный компьютер и установить временные метки | |
0x4009 | Закрыть открытые файловые дескрипторы и обнулить внутренние поля | |
0x4010 | Получить рекурсивный листинг директории | |
0x5000 (RS5Manager) | 0x5000 | Выполнить инициализацию, создать потоки, отвечающие за получение пакетов от удаленного узла и их отправку на C2 |
0x5001 | Создать сокет и подключиться к удаленному узлу | |
0x5003 | Отправить данные в подключенный сокет | |
0x5004 | Закрыть подключенный сокет |
В процессе сбора информации о системе бэкдор создает уникальный идентификатор компьютера (GUID) и записывает его в реестр в один из кустов HKLM или HKCU по ключу Software\CLASSES\KmpiPlayer. Если ключ уже есть в реестре, то используется существующий ID.
Zupdax
Первое публичное упоминание данного ВПО можно встретить в отчете Unit 42, посвященном вредоносному приложению HenBox для платформы Android. В сетевой инфраструктуре HenBox исследователи обнаружили следы использования атакующими ВПО из семейств PlugX, Zupdax, 9002 RAT и Poison Ivy. В 2019 году специалисты Unit 42 объединили наблюдаемую три года активность, связанную с упомянутым набором ВПО, назвав стоящую за ней группу (или группы) именем PKPLUG.
В 2020 году компания ESET обнаружила следы атаки на цепочку поставок ПО Able Soft LLC. Одним из вариантов атаки была компрометация инсталлятора Able Desktop, заключающаяся в добавлении к нему вредоносного кода. В качестве полезной нагрузки, которая была встроена в инсталляторы, исследователи называют бэкдоры HyperBro и Korplug (PlugX).
По имеющимся у нас данным можно утверждать, что полезная нагрузка, обозначенная ESET как Korplug, в действительности является бэкдором Zupdax. Такого же мнения придерживаются аналитики NortonLifeLock и Avira, выпустившие осенью 2021 года отчет, в котором описали основные особенности Zupdax.
Zupdax существует по крайней мере с 2014 года. В своем исследовании мы фокусировались на образцах, относящихся к периоду 2017–2019 годов, однако некоторые детали можно проследить только в более ранних версиях (периода 2014–2015 годов). Далее мы будем говорить о них, используя термин «старые».
В последних версиях Zupdax используется та же схема загрузки, что и в тестовом образце MyKLoadClient. Хотя кода игры «Змейка» в них нет, основная функциональность дроппера реализована аналогичным образом: в своих ресурсах он содержит легитимный siteadv.exe, библиотеку-лончер, полезную нагрузку и зашифрованную XOR конфигурацию с именами файлов и флагами. Точно такую же конфигурацию использует лончер.
В отличие от MyKLoadClient, практически во всех экземплярах с Zupdax полезная нагрузка (которая извлекается под именем ok.obj) шифруется и запускается методом mrun. Среди экземпляров лончера, которые используются в связке с Zupdax, можно встретить более функциональные варианты, поддерживающие обход UAC (в частности, с использованием экспорта buc_uninstallinterface) и закрепление в качестве сервиса.
В экземплярах дроппера и лончера можно встретить соответствующие PDB-пути:
d:\Leee\515远程文件\P1Rat_2017_07_28A\src\MyLoaderBypassNorton\Release\loaderexe.pdb и
d:\Leee\515远程文件\P1Rat_2017_07_28A\src\MyLoader_bypassKIS\snake\res\SiteAdv.pdb.
Варианты ВПО, связанные с атакой на пользователей Able Desktop, также содержат PDB с аналогичной строкой MyLoader_bypassKIS:
c:\Users\PC-2015\Desktop\Badger\En-v2\免杀\MyLoader_bypassKIS\bin\loaderdll.pdb.
Интересно, что существует как минимум один экземпляр (a95dfb8a8d03e9bcb50451068773cc1f1dd4b022bb39dce3679f1b3ce70aa4f9), который полностью идентичен тестовой версии MyKLoadClient и содержит точно такое же окно «О программе». При этом полезная нагрузка в нем представляет собой бэкдор Zupdax.
Полезная нагрузка
Для сетевого взаимодействия с C2 бэкдор использует протокол UDT, реализующий передачу данных поверх протокола UDP. Сообщения имеют заголовок со структурой, похожей на используемую в MyKLoadClient. Отличается лишь значение первого поля, равное 0x12345678:
struct PacketHeader{ _DWORD Magic; // 0x12345678 _DWORD CommandId; _DWORD PayloadSize; _DWORD Unknown; // 0 };
Сразу же после установки соединения с C2 бэкдор собирает и отправляет информацию о системе, включающую имя компьютера, имя пользователя, версию ОС, информацию об объеме дисков, оперативной памяти и процессоре, а также IP- и MAC-адреса сетевого адаптера. Собранная информация отправляется с ID команды 0x1.
Набор команд, которые бэкдор может обработать, существенно не меняется от версии к версии: его основные возможности сводятся к исполнению дополнительного кода, который он может получить от контрольного сервера. Более старые варианты Zupdax содержат отладочные сообщения, которые позволяют увидеть оригинальные названия операций:
ID | Название | Описание |
---|---|---|
0x0 | CMD_END | Завершить работу бэкдора или перезапустить его (в зависимости от версии) |
0x17 | CMD_SET_REM | Записать в файл новый контрольный сервер (передается в сообщении) |
0x19 | CMD_UNINSTALL_HOST | Выполнить самоудаление из системы |
0x28 | CMD_TRANSMISSION_PLUGIN | Получить от C2 имя плагина и запустить его (плагином может быть шеллкод или EXE-файл). Если необходимый плагин отсутствует на диске, предварительно получить его от C2. (Присутствует только в старых версиях) |
0x29 | CMD_PLUGIN_TRANSMISSION_EXECUTE | Получить от C2 идентификатор плагина и запустить его точку входа (плагины хранятся в памяти). Если плагин отсутствует в памяти, предварительно получить PE-файл с контрольного сервера и рефлективно загрузить из него экспортируемую функцию. (В старых версиях то же, что и CMD_TRANSMISSION_PLUGIN) |
0x38 | CMD_UPDATE | Скачать EXE-файл по указанной ссылке, сохранить на диск и запустить на исполнение |
0x68 | Запустить исполняемый файл по фиксированному пути под именем текущего пользователя. Путь равен C:\ProgramData\AdobeBak\avanti.exe. (Присутствует только в последних версиях) | |
0x77 | CMD_ADD_STARTUP | См. CMD_TRANSMISSION_PLUGIN |
В старых экземплярах Zupdax также присутствуют пути к PDB-файлам:
h:\E\项目问题\UDPUDP-英文\bin\server.pdb
d:\磁盘\E\项目问题\版本\UDPUDP-英文\bin\server.pdb
Из них следует, что оригинальное название проекта можно перевести как «UDPUDP-английский».
Связь с Redsip
В 2011 году специалисты McAfee описали серию атак на компании энергетического сектора, получившую название Night Dragon. Среди ВПО, использованного злоумышленниками, был бэкдор Redsip (e3165c2691dc27ddaeb21e007f2bf5aeb14ef3e12ec007938e104d6aed512f39).
По всей видимости, Zupdax представляет собой переработанную версию Redsip. Бэкдоры, в частности, имеют идентичную структуру сетевых сообщений (включая магическую константу 0x12345678), совпадающие по именам и идентификаторам команды (CMD_SET_REM и CMD_UNINSTALL_HOST), похожие отладочные сообщения. В обоих случаях полезная нагрузка реализуется через внешние плагины.
Стоит отметить, что в 2018 году Redsip был использован в атаке на российскую организацию, связанную с авиационно-космической отраслью. В качестве приманки злоумышленники использовали утекший корпоративный документ. Прямой связи этой атаки с деятельностью Space Pirates нам обнаружить не удалось.
Связи с Winnti и FF-RAT
Некоторые экземпляры Zupdax имеют валидные цифровые подписи. В частности, образец 24b749191d64ed793cb9e540e8d4b1808d6c37c5712e737674417573778f665b (upinstall.bat) подписан сертификатом YD Online Corp., а 84b8bfe8161da581a88c0ac362318827d4c28edb057e23402523d3c93a5b3429 (Slack.exe) — сертификатом NFINITY GAMES BILISIM ANONIM SIRKET.
Среди файлов, подписанных этими сертификатами, можно обнаружить компоненты ВПО PipeMon, которое приписывают группе Winnti. Изучая сетевую инфраструктуру второго образца, мы также отметили наличие косвенных связей со старой инфраструктурой Winnti, однако они требуют дополнительного подтверждения.
В то же время в случае Slack.exe можно говорить о наличии надежных инфраструктурных связей с бэкдором FF-RAT, который в 2017 году описали специалисты BlackBerry. Так, и экземпляр Zupdax, и образцы FF-RAT используют в качестве C2 поддомены playdr2.com и gamepoer7.com.
Связи с Bronze Union и TA428
В ранее упоминавшемся отчете ESET Operation StealthyTrident: corporate software under attack, посвященном компрометации Able Desktop, отмечается присутствие бэкдоров HyperBro и Zupdax (Korplug по ESET), а также Tmanger и ShadowPad в рамках одной операции злоумышленников. Исследователи приводят несколько возможных объяснений такой взаимосвязи. Нам удалось выявить несколько дополнительных фактов, дающих больше информации о связях между группами Bronze Union (LuckyMouse, APT27), TA428 и ВПО Zupdax.
Кодовые пересеченияЭкземпляр Zupdax из отчета ESET содержит стандартный для этого ВПО дроппер (data1.dat, 2486734ebe5a7fa6278ce6358d995d4546eb28917f8f50b01d8fdd7a1f9627a4), извлекающий полезную нагрузку из ресурсов. Интерес представляет схема, по которой он получает управление: в ней используется side-loading библиотеки pcalocalresloader.dll, в которой расположен шеллкод, расшифровывающий и выполняющий еще один шеллкод из файла thumb.db. Второй шеллкод содержит сжатую алгоритмом LZNT1 DLL-библиотеку, которую он рефлективно загружает в память.
Оба шеллкода используют нетипичный алгоритм хеширования для имен импортируемых библиотек и функций (рис 15.). Так, kernel32.dll имеет хеш 0xD4E88, а ntdll.dll — 0x1B708. Однако поиск схожих экземпляров показал, что подобные шеллкоды можно встретить в различных семействах ВПО — например в SmokeLoader или в эксплойтах для InPage. Вероятно, что для создания шеллкодов был использован билдер, доступный разным хакерским группировкам.
При этом вся схема целиком, включающая легитимный компонент IntgStat.exe, библиотеку pcalocalresloader.dll и зашифрованный thumb.db, использовалась в таком виде только для загрузки бэкдора HyperBro и была описана «Лабораторией Касперского». Единственное расхождение состоит в том, что в случае с Able Desktop не применялась обфускация shikata_ga_nai.
Вспомогательная DLL, находящаяся в thumb.db, отвечает за одновременный запуск дроппера (data1.dat) и легитимного установщика Able Desktop. Она отличается наличием большого количества неиспользуемых строк в секции данных. Часть из этих строк характерна только для экземпляров бэкдора HyperBro:
Elevation:Administrator!new:{FCC74B77-EC3E-4dd8-A80B-008A702075A9} SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\test system-%d CreateProcessAsUser error %d \\..\\config.ini Win2008(R2) Win2012(R2)
Как следует из отчета ESET и нашего исследования, злоумышленники, стоящие за атакой на пользователей Able Desktop, имеют доступ как к HyperBro, так и к Zupdax. Однако при этом большая часть кодовых особенностей специфична именно для бэкдора HyperBro, который, в свою очередь, относят к группе Bronze Union.
Сетевые пересеченияОдин из экземпляров Zupdax (ffe19202300785f7e745957b48ecc1c108157a6edef6755667a9e7bebcbf750b) использует в качестве C2 поддомены flashplayeractivex.info, такие как update.flashplayeractivex.info и news.flashplayeractivex.info. В августе 2020 года эти домены некоторое время разрешались в IP-адрес 209.250.239.96. Одновременно с ними на том же IP-адресе присутствовал домен go.vegispaceshop.org.
Последний домен вместе с IP-адресом можно найти в отчете NTT Security, посвященном ВПО Albaniiutas из инструментария TA428. Как показал детальный анализ образцов Albaniiutas, который провели наши коллеги из Group-IB, данное ВПО представляет собой новую версию выявленного ранее специалистами PT Expert Security Center бэкдора RemShell (BlueTraveller).
Еще один домен, появляющийся на IP-адресе 209.250.239.96 в то же самое время — nameserver.datacertsecure.info. Очевидным образом связанные с ним домены datacertsecure.info и check.datacertsecure.info в период с июня по июль 2020 года разрешаются в IP-адрес 139.180.208.225. Одновременно с этим узел становится известен как контрольный сервер бэкдора HyperBro, а затем упоминается ESET в Operation StealthyTrident.
Перечисленные связи дополнительно объединяют цели злоумышленников: скомпрометированные установщики Able Desktop, так же как и упомянутые выше экземпляры Albaniiutas и HyperBro, были использованы в атаках на организации в Монголии.
Загрузчики
В сетевой инфраструктуре Space Pirates мы обнаружили два вида загрузчиков, содержащие приманки с русским текстом. Один из них был также найден в сети нашего клиента, подвергшегося атаке злоумышленников.
Downloader.Climax.A
Первый загрузчик отличается использованием частей исходного кода буткита Rovnix (он был подробно описан экспертами «Лаборатории Касперского»). Стоит отметить, что приведенные в отчете сетевые индикаторы, в частности домен bamo.ocry.com, а также IP-адреса 45.77.244.191 и 45.76.145.22, по нашим данным, входят в сетевую инфраструктуру Space Pirates.
У нас нет информации о том, какое вредоносное ПО доставлял этот загрузчик. Однако исследователям из «Лаборатории Касперского» удалось выявить вероятные экземпляры, основываясь на схожести PDB-путей и идентичных C2.
На приведенных в отчете скриншотах полезной нагрузки можно заметить специфическую технику хранения строк: все они находятся в одном блоке данных и проиндексированы числами с префиксом «PS_». Такая техника встречается в коде публично доступного бэкдора PcShare. Выделенные исследователями наборы строк в точности соответствуют тем, которые можно встретить в открытом коде бэкдора. Аналогичное соответствие можно провести и между командами, которые поддерживает ВПО. В результате можно уверенно утверждать, что данная полезная нагрузка основана на коде PcShare.
Далее мы рассмотрим модифицированный вариант PcShare, который мы назвали RtlShare. Стоит отметить, что во время расследования у нашего клиента мы обнаружили экземпляр RtlShare, соединяющийся с C2 202.182.98.74. Его же использует образец Downloader.Climax.A с SHA-256 e9c94ed7265c04eac25bbcdb520e65fcfa31a3290b908c2c2273c29120d0617b. Учитывая сказанное ранее, можно предположить, что полезной нагрузкой, которую доставляет загрузчик, является именно RtlShare.
Downloader.Climax.B
Другой вид загрузчика для своего исполнения может использовать уязвимости в Microsoft Equation Editor. Такую уязвимость, в частности, эксплуатирует документ с именем «Мэр Сеула.rtf» (7079d8c92cc668f903f3a60ec04dbb2508f23840ef3c57efffb9f906d3bc05ff), созданный с помощью известного билдера Royal Road RTF (8.t), широко распространенного среди азиатских APT-групп.
Код этого загрузчика полностью отличается от Downloader.Climax.A, но при этом в нем можно выделить некоторые схожие особенности. В частности, для соединения с C2 оба загрузчика используют TCP, а получаемая полезная нагрузка в обоих случаях распаковывается с помощью алгоритма LZW.
Downloader.Climax.B закрепляется в системе через ключ реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Run\GetUserConfig. Его задача —получить с контрольного сервера файлы с именами INFOP11.EXE и OINFO11.OCX и запустить EXE-файл на исполнение. При этом каждый из файлов имеет свой числовой идентификатор, который отправляется на C2.
После загрузки в тело полученного OCX-файла записываются параметры конфигурации, которые присутствуют в самом загрузчике: узел и порт контрольного сервера, время ожидания между обращениями к C2, строка TodaySend, а также сгенерированный GUID.
RtlShare
Полезная нагрузка ВПО RtlShare основана на публично доступном коде бэкдора PcShare. Вместе с тем вредоносное ПО имеет специфическую цепочку исполнения, код которой отсутствует в открытых источниках. В ней участвует три DLL, каждая из которых имеет свое экспортируемое имя. Далее мы будем использовать эти имена для обозначения соответствующих библиотек.
Рассмотрим RtlShare на примере образца 8ac2165dc395d1e76c3d2fbd4bec429a98e3b2ec131e7951d28a10e9ca8bbc46.
Интересно, что для его доставки злоумышленники использовали взломанный сайт петрозаводской математической конференции PICCAnA (piccana.karelia.ru), который в настоящее время недоступен (веб-архив). В качестве контрольного сервера в нем указан частный IP-адрес 192.168.193.165.
В процессе расследования инцидента у одного из наших клиентов мы встретили практически идентичные образцы, использующие контрольные серверы 45.76.145.22, 141.164.35.87 и 202.182.98.74.
Дроппер rtlstat.dll
В качестве начальной стадии заражения выступает DLL-библиотека rtlstat.dll, экспортирующая единственную функцию emBedding. Ее задача — извлечь и запустить библиотеку следующей стадии с внутренним именем rtlmake.dll.
Для этого сперва проверяется разрядность ОС и выбирается необходимый блок данных, после чего он расшифровывается XOR с ключом в виде одной из строк 4af233f4740c2fde7fc95ed3a834d7b1 (x64) и 3ad6faf2d7b714137de31efef137775b (x86). Затем расшифрованные данные распаковываются по алгоритму LZ4.
В тело полученной библиотеки копируется блок данных, содержащий конфигурацию (на данном этапе она зашифрована). В качестве маркера, обозначающего место, куда будет скопирована конфигурация, используется магическое число 0xAADDEE99.
Чтобы обойти детектирование на основе хеш-сумм, злоумышленники добавляют в конец библиотеки случайное количество случайных байтов, обновляя при этом поле Checksum в PE-заголовке файла. Таким образом, при каждом новом запуске будет извлекаться новый файл.
Затем дроппер проверяет, запущен ли он от имени пользователя SYSTEM. Для этого он ищет подстроку config в пути к папке LocalAppData. Если подстрока присутствует, то библиотека перезапускается от имени текущего пользователя через rundll32.exe.
В противном случае полученная библиотека сохраняется в файл %LOCALAPPDATA%\Microsoft\Windows\WER\Security\wuaueng.hlk, а путь к ней записывается в реестр по ключу HKCU\Software\Classes\CLSID\{42aedc87-2188-41fd-b9a3-0c966feabec1}\InprocServer32. Данный раздел отвечает за COM-объект MruPidlList, используемый в библиотеке shell32.dll, которую, в свою очередь, подгружает процесс explorer.exe — это известная техника закрепления ВПО в системе.
В конце своей работы дроппер запускает извлеченную DLL на исполнение с помощью regsvr32.exe и самоудаляется через BAT-файл.
Инжектор rtlmake.dll
Версии rtlmake.dll разной разрядности имеют одну и ту же функциональность, которая сводится к извлечению DLL следующей стадии и внедрению ее кода в процесс rdpclip.exe (либо в текущий процесс).
В начале своей работы инжектор проверяет, что он работает в одном экземпляре: чаще всего с этой целью используются мьютексы, но в данном случае применены именованные отображения файлов в память (file mappings). На время работы rtlmake.dll создается mapping с именем 55fc3f9a654c500932, а за работу полезной нагрузки отвечает mapping 7f8b6a2440e5c9e5b6.
Затем с помощью аналогичной предыдущему этапу функции выполняется расшифровка и декомпрессия DLL с полезной нагрузкой и конфигурации (напомним, что она была ранее скопирована в rtlmake.dll). Ключ шифрования конфигурации — строка 2ae06f136eb6588508eefd4b5f6c98d8345f1104746d15141, а полезной нагрузки — 1192f6c4b018c8e0f51d31d6dde22ff3.
Далее выбирается процесс, в который будет внедрена полезная нагрузка. Если текущий процесс — это explorer.exe (что верно, если библиотека была загружена в качестве COM-компонента), то целевым процессом станет rdpclip.exe. В случае если rdpclip.exe не удалось запустить, либо если DLL была загружена в другой процесс, целевым процессом становится текущий.
В память выбранного процесса записывается расшифрованная конфигурация, после чего инжектор формирует командную строку вида «/v /c:0x12345678», содержащую адрес конфигурации в адресном пространстве процесса. Полученная строка и полезная нагрузка также записываются в память процесса.
Чтобы запустить исполнение полезной нагрузки, инжектор определяет смещение в PE-файле, по которому располагается экспортируемая ей функция Putklm, после чего она получает управление вызовом CreateRemoteThread. При этом в качестве аргументов ей передается адрес командной строки. Важно отметить, что рефлективной загрузки до этого момента не происходит: функция Putklm фактически работает как шеллкод.
Полезная нагрузка rtlmain.dll (rtlmainx64.dll)
Последняя DLL полностью реализована на основе кода основного модуля бэкдора PcShare — PcMain. Отметим некоторые ее особенности, которые характерны только для семейства RtlShare:
- Внутри библиотеки реализован рефлективный загрузчик, который находится в функции Putklm. Адрес командной строки, который она принимает, передается в DllEntryPoint через параметр lpReserved и при этом шифруется XOR с константой 0x73DE2938. Восстановление адреса и разбор командной строки происходит внутри функции DllMain.
- После запуска rtlmain.dll завершаются все процессы rdpclip.exe кроме текущего.
- Хранилище строк бэкдора дополнительно к сжатию LZ4 (которое присутствует в открытом коде) зашифровано AES с ключом 68fa504a1aee69f71df454e554c74eaf. Аналогичным образом кодируются принимаемые (ключ 48d426ca6d45496e7413cf435516af06) и передаваемые (ключ 2e5140d04c7d7da454991bae10160369) сообщения.
- Добавлена поддержка соединения через прокси-сервер.
- Присутствует специальная команда, позволяющая злоумышленникам перезаписать конфигурацию внутри инжектора rtlmake.dll (необходимое смещение содержит магическую константу 0x76EE38BB).
- В код, отвечающий за реализацию удаленной командной строки, добавлена команда getip, которая реализована через вызов nslookup myip.opendns.com resolver1.opendns.com.
Использование RtlShare
Образцы RtlShare можно обнаружить в других отчетах. Так, например, исследователи Recorded Future обнаружили в сетевой инфраструктуре группы RedFoxtrot образцы ВПО PcShare, которые имеют значительное сходство с семейством RtlShare. Помимо этого, аналогичные экземпляры ранее встречались Bitdefender при расследовании активности APT-группы с азиатскими корнями, нацеленной на государственные учреждения Юго-Восточной Азии.
Связей в сетевой инфраструктуре ни между вышеупомянутыми случаями, ни между этими случаями и активностью, которую мы обнаружили при расследовании инцидента у нашего клиента, не наблюдается. Это позволяет предположить, что, несмотря на отсутствие кода RtlShare в открытых источниках, к данному ВПО имеют доступ несколько различных APT-групп азиатского происхождения.
PlugX
В сети нашего клиента мы также обнаружили несколько экземпляров бэкдора PlugX. Найденные экземпляры использовали в качестве контрольных серверов адреса micro.dns04.com, microft.dynssl.com, api.microft.dynssl.com и www.0077.x24hr.com, входящие в сетевую инфраструктуру группы и прямо пересекающиеся с C2 MyKLoadClient.
PlugX широко применяется в среде киберпреступников, имеет несколько версий и большое количество модификаций. Однако выявленные нами образцы обладают набором особенностей, позволяющих выделить их в отдельную группу.
Как и в обычном PlugX, основная полезная нагрузка бэкдора реализована в виде DLL-библиотеки, которая рефлективно загружается в память в процессе исполнения ВПО. В ее точку входа первым аргументом передается указатель на структуру, в которой содержатся, в частности, сигнатура и адрес зашифрованной конфигурации.
В оригинальном PlugX сигнатура представляет собой константу 0x504C5547 (строка PLUG), однако в нашей группе образцов это значение было равно 0xCF455089. Нестандартен и размер конфигурации, который равен 0x1924 байта: нам не удалось найти упоминание такой конфигурации в открытых источниках. В отличие от многих других вариантов, имеющих сигнатуру XV вместо MZ и PE, в нашем случае заголовок PE-файла с полезной нагрузкой остается неизменным.
В бэкдоре активно применяется техника встраивания кода (inlining), в частности это касается API-вызовов и шифрования строк.
Для поиска API-функций бэкдор использует CRC32-хеши от их имен. Полученные указатели кэшируются, при этом отвечающие за эту операцию фрагменты кода встроены в каждое место, где требуется обращение к WinAPI.
Практически все строки в бэкдоре являются стековыми, большинство из них зашифровано методом ADD-XOR-SUB. Код для расшифровки копируется во все места, где используются шифрованные строки.
ВПО использует стандартный набор плагинов, известный с ранних версий. В оригинальном PlugX на этапе их инициализации используется параметр, выглядящий как дата. Так, плагин Disk имеет параметр 0x20120325. В нашем случае для всех плагинов сочетание 2012 изменено на 8102 (что может означать 2018): тот же плагин Disk использует значение 0x81020325.
Бэкдор целиком также имеет числовое значение, указывающее на версию: оно передается на C2 вместе с информацией о зараженной системе и равно 0x20161127. Такую же версию можно встретить в Backdoor.PlugX.38 из отчета Dr.Web об атаках на государственные учреждения Казахстана и Киргизии. Однако другие уникальные значения из варианта группы Space Pirates, такие как сигнатура и размер конфигурации, в BackDoor.PlugX.38 отсутствуют. По-видимому, оба варианта основаны на базовом коде одной и той же версии PlugX, но его модификации в каждом из этих случаев отличаются.
Более точные пересечения мы встретили в других отчетах. Среди экземпляров PlugX, которые были использованы в атаках на Ватикан в 2019–2020 годах, можно обнаружить несколько образцов, которые аналогичны используемым группой Space Pirates. Помимо этого, те же модификации бэкдора встречаются в образцах, которые связывают с активностью группы RedFoxtrot. При этом обнаружить связей в сетевой инфраструктуре нам не удалось, что позволяет вновь говорить об обмене инструментарием между группами. Учитывая другие пересечения между использовавшимся в атаках ВПО (Zupdax и RtlShare), можно также предположить, что вся эта активность принадлежит одной или нескольким совместно действующим группам. Впрочем, это требует дополнительного подтверждения.
Demo dropper
Некоторые экземпляры обнаруженного нами варианта PlugX извлекаются в систему интересным дроппером, исполняемый файл которого может называться demo.exe. Он реализован на основе библиотеки MFC. Его работа сводится к созданию VBS-скрипта с именем msiexece.vbs или cosetsvc.vbs и его последующему запуску.
В качестве параметров командной строки скрипту передается путь к EXE-дропперу и имена файлов, которые будут из него извлечены. Файлы находятся в оверлее demo.exe и могут быть зашифрованы однобайтовым XOR (но во всех известных нам экземплярах ключ равен 0). Смещение оверлея и длина каждого из файлов прописаны в VBS-коде. Скрипт извлекает стандартные для PlugX компоненты — легитимный EXE-файл, DLL для Side-Loading и зашифрованный шеллкод, после чего легитимный файл запускается.
BH_A006
Данное ВПО, как и в других случаях, мы обнаружили как во время конкретного расследования у клиента, так и в процессе исследования сетевой инфраструктуры группы. В качестве полезной нагрузки оно содержит модифицированный бэкдор Gh0st. Строка BH_A006 постоянно встречается в PDB-путях и внутренних именах DLL-библиотек, связанных с бэкдором, поэтому он получил такое название.
BH_A006 имеет нетривиальную схему исполнения полезной нагрузки, которая может варьироваться на начальных этапах в различных экземплярах. Рассмотрим ее на примере одного из вредоносных файлов.
Стадия 0. Загрузка DLL из оверлея
SHA-256: 1e725f1fe67d1a596c9677df69ef5b1b2c29903e84d7b08284f0a767aedcc097
Исходный образец представляет собой исполняемый файл, использующий библиотеку MFC. Он извлекает содержимое оверлея, расшифровывает его XOR с ключом 0xA0 и рефлективно загружает полученную DLL в память.
Стадия 1. DLL-дроппер
SHA-256: 8bf3df654459b1b8f553ad9a0770058fd2c31262f38f2e8ba12943f813200a4d
извлекает следующие файлы:
- C:\ProgramData\resmon.resmoncfg
- C:\ProgramData\Sandboxie\SbieIni.dat (install32.dat)
- C:\ProgramData\Sandboxie\SbieDll.dll
- C:\ProgramData\Sandboxie\SandboxieBITS.exe
После этого происходит проверка наличия прав записи в системную папку. Для этого дроппер пытается создать в ней файл с именем формата wmkawe_%d.data. В качестве содержимого выступает строка Stupid Japanese.
Если права отсутствуют, а система является 64-битной, дополнительно извлекаются еще два файла:
- C:\ProgramData\Sandboxie.dll (install64.dll)
- C:\ProgramData\Sandboxie.dat (install64.dat)
Имена, указанные в скобках, не используются, но присутствуют в коде. По всей видимости, они остались там от другой версии дроппера.
Все файлы содержатся в секции данных в упакованном виде, для сжатия используется вариант алгоритма LZMA. Такой метод сжатия применяется и на следующих этапах работы ВПО. Далее по тексту раздела, если не указано иное, мы будем иметь в виду данный алгоритм.
В зависимости от наличия прав и разрядности ОС дроппер запускает одну из цепочек для обхода UAC:
- (x32) C:\ProgramData\Sandboxie\SandboxieBITS.exe ByPassUAC
- (x64) rundll32.exe C:\ProgramData\Sandboxie\SbieMsg.dll,installsvc ByPassUAC
Либо сразу же переходит к исполнению следующей стадии:
C:\ProgramData\Sandboxie\SandboxieBITS.exe InsertS
В любом из трех случаев создается и запускается файл %tmp%\delself.bat, содержащий команды для самоудаления.
Стоит отметить, что данный экземпляр не впервые встречается исследователям. Другой вариант MFC-загрузчика (стадия 0), содержащий тот же самый дроппер, был упомянут ESET в отчете Operation NightScout, а затем подробно изучен нашими коллегами из VinCSS.
Стадия 2. Загрузчик .dat (SbieDll.dll / SbieMsg.dll)
Вне зависимости от команды, которая была запущена DLL-дроппером, исполнение переходит к одной из извлеченных DLL-библиотек. В случае 32-битной версии для этого используется легитимный компонент утилиты Sandboxie, уязвимый к DLL Side-Loading.
Код в 32- и 64-битной версиях библиотек практически идентичен и отвечает за загрузку соответствующего файла .dat, расшифровку его содержимого и запуск на исполнение. Для расшифровки используется XOR с последовательностью байт вида 00, 01, 02, … FF, 00, 01, … Так же как и в коде предыдущей стадии, здесь можно увидеть альтернативные пути к файлам .dat, которые не используются во время работы.
Стадия 3. Шеллкод .dat и DLL
Шеллкод представляет собой рефлективный загрузчик DLL-библиотеки, которая расположена в его теле сразу после функции загрузки. В данном случае в версиях шеллкода с разной разрядностью функциональность библиотеки существенно отличается.
Стадия 3.1 ByPassUAC (x64)
Стадия 3.1.1 Промежуточная DLL
64-битная версия отвечает только за реализацию обхода UAC. Для выполнения этой задачи она извлекает из себя в память еще одну DLL и передает ей управление. Рефлективная загрузка вновь выполняется с помощью шеллкода, который предварительно расшифровывается XOR с ключом 0x97. Шеллкод при этом не автономный: помимо буфера с PE-файлом, ему передаются указатели на необходимые функции, такие как GetProcAddress и LoadLibraryA.
Стадия 3.1.2 DLL с реализацией обхода UAC
В DLL присутствует путь к PDB-файлу: e:\F35-F22\昆明版本\ElephantRat\nwsapagent\Bin\ByPassUAC64.pdb.
Применяемый метод UAC bypass зависит от наличия в системе процесса avp.exe (компонент антивирусных продуктов «Лаборатории Касперского») и версии системы. Всего реализовано три известных метода, использующих sdclt.exe, .NET-библиотеку и подделку доверенных директорий.
При успешном выполнении обхода любым из способов будет запущена уже встречавшаяся ранее команда C:\ProgramData\Sandboxie\SandboxieBITS.exe InsertS.
Стадия 3.2. ByPassUAC / InstallS (x32)
Стадия 3.2.1. Промежуточная DLL
32-битная версия DLL, которая расположена в соответствующем файле DAT, обфусцирована с помощью неизвестного протектора.
В секции данных этой DLL находится сжатый шеллкод, который распаковывается и получает управление.
Стадия 3.2.2. Шеллкод распаковки
Шеллкод начинается с вызова функции sub_20F, которая принимает три аргумента: хеш от имени VirtualAlloc, размер буфера для распаковки и указатель на данные. Аргументы записаны сразу после инструкции call, и вызываемая функция обращается к ним, используя смещение относительно адреса возврата.
Функция sub_20F получает указатель на функцию VirtualAlloc, для чего находит библиотеку kernelbase.dll в списке загруженных модулей (предполагается, что она всегда находится на втором месте в списке InInitializationOrderModuleList) и итерирует ее таблицу экспорта, используя хеш для нахождения нужной функции. Затем выделяется буфер заданного в аргументах размера с правами RWX, и в него распаковываются сжатые данные. В данном случае для сжатия применяется алгоритм семейства NRV из библиотеки UCL (используется в пакере UPX). Данные представляют собой еще один шеллкод, на который передается управление.
Стадия 3.2.3. Шеллкод релокации
Основная часть очередного шеллкода представляет собой содержимое секций данных и кода, по всей видимости, извлеченного из некоторого PE-файла. Для корректного запуска в начале своей работы шеллкод выполняет корректировку адресов (релокацию). Необходимые для нее параметры передаются аналогично предыдущему шеллкоду с использованием адреса возврата. Релокация выполняется относительно стандартного базового адреса 0x401000. После ее завершения управление передается на указанный в параметрах (как смещение относительно конца таблицы релокации) адрес точки входа.
Стадия 3.2.4. Инсталлятор в формате шеллкода
Основная функция инсталлятора загружает необходимые для работы функции WinAPI, после чего может выполнить указанную в командной строке операцию.
Поддерживаются следующие команды:
- InsertS — создание сервиса Network Service. В качестве пути для запуска указывается имя текущего модуля с параметром runsvc. При отсутствии в списке процессов avp.exe сервис будет сразу же запущен.
Runsvc — удаление всех вспомогательных файлов и папок, которые могли использоваться в процессе обхода UAC. Распаковка шеллкода следующей стадии, создание процесса svchost.exe и инъекция распакованного шеллкода. Интересно, что в коде, отвечающем за имперсонацию и запуск процесса svchost.exe, реализована специальная проверка для русского языка системы (и только для него), что говорит об ориентации на русскоязычные версии ОС.
Помимо этого, создается отдельный поток, который каждые 50 секунд проверяет наличие маппинга Global\MYKERNELDLLMAPPING06. В случае его отсутствия в системе повторяется создание svchost.exe и инъекция шеллкода.
- ByPassUAC — работает полностью аналогично 64-битной версии (стадия 3.1.1): распаковывает DLL с реализацией методов обхода UAC и передает ей управление.
- Memload — в коде присутствует отладочное сообщение MemLoadServer. Распаковывает шеллкод следующей стадии и запускает его напрямую в текущем процессе.
Стадия 4. MemLoadLibrary
Четвертая стадия имеет уже встречавшийся ранее формат: шеллкод распаковки извлекает шеллкод релокации, который в свою очередь запускает на исполнение основной код (полученный из PE-файла). Основной код в данном случае имеет небольшой объем и отвечает за распаковку и рефлективную загрузку DLL в память. Рефлективный загрузчик реализован в виде зашифрованного XOR шеллкода, как и на стадии 3.1.1. После загрузки библиотеки управление передается экспортируемой функции Online.
DLL вновь является лишь промежуточным загрузчиком и запускает очередной шеллкод.
Новый шеллкод является шеллкодом распаковки, и стадия 4 повторяется в точности, вплоть до вызова функции Online из последней DLL-библиотеки.
Стадия 5. Полезная нагрузка
Представляет собой частично обфусцированный с помощью уже встречавшегося пакера (стадия 3.2.1) бэкдор, который основан на коде трояна Gh0st.
Интересно, что сигнатура сетевых пакетов (Gh0st в оригинале) в данной версии генерируется и проверяется особым образом. В четырехбайтовом значении полезную нагрузку несет только младший бит каждого байта, остальные биты случайны. Младшие биты должны удовлетворять набору логических соотношений, в которых участвуют младшие биты магической константы 0x31230C0. Стоит отметить, что аналогичный алгоритм проверки этих соотношений, использующий ту же константу, можно найти в загрузчиках файлов .dat (стадия 2), однако там результат его работы не используется.
Библиотека имеет экспортируемое имя BH_A006_SRV.dll, а в оверлее PE-файла можно обнаружить соответствующий PDB-путь:
D:\005(fastapp f35 20181009)\nwsapagent\KernelTrjoan\BH_A006_SRV\BH_A006_SRV\Debug\BH_A006_SRV.pdb
Нам удалось найти экземпляр ВПО (57d4c08ce9a45798cd9b0cf08c933e26ffa964101dcafb1640d1df19c223e738), который имеет аналогичную обфускацию, идентичный алгоритм генерации сетевой сигнатуры и содержит имя BH_A006_SRV.dll. При этом данный экземпляр был загружен на VirusTotal в 2015 году.
Связь с 9002 RAT
В процессе изучения цепочки исполнения бэкдора BH_A006 оказалось, что использованная в ней техника преобразования PE-файла в автономный сжатый шеллкод не уникальна. Аналогичные шеллкоды распаковки и релокации, а также процедура загрузки WinAPI-функций присутствуют в экземплярах ВПО 9002 RAT. Например, их можно найти в образце 52374f68d1e43f1ca6cd04e5816999ba45c4e42eb0641874be25808c9fe15005 из отчета Trend Micro об атаках на южнокорейские компании — одного из последних упоминаний данного ВПО.
Deed RAT
Еще один вид ранее неизвестного ВПО, который в единственном экземпляре мы обнаружили у нашего клиента, представляет собой модульный бэкдор. По значению сигнатуры, которая используется в заголовке его модулей, мы дали ему название Deed RAT.
Контрольный сервер Deed RAT ftp.microft.dynssl.com напрямую связан с инфраструктурой группы Space Pirates. Сходство можно найти и в одной из кодовых особенностей: для шифрования шеллкода так же, как и в части экземпляров PlugX, используются операции [xor 0xBB, sub 0x1].
Схема исполнения полезной нагрузки напоминает стандартный метод, который использует PlugX: легитимный EXE-файл, подписанный Trend Micro, загружает в процессе работы вредоносную библиотеку TmDbgLog.dll, которая, в свою очередь, запускает на исполнение зашифрованный шеллкод из файла PTWD.tmp.
Однако при этом используется интересный метод передачи управления шеллкоду: в момент загрузки библиотека модифицирует исполняемый файл таким образом, чтобы после возврата управления в EXE-файл для нее сразу же была вызвана функция FreeLibrary. Повторно получив управление в момент выгрузки, библиотека вновь модифицирует исполняемый файл, записывая в него ассемблерные инструкции для вызова шеллкода: они будут выполнены сразу после возврата из FreeLibrary.
Шеллкод представляет собой загрузчик основного модуля, который в сжатом и зашифрованном виде располагается после кода загрузки. Модуль имеет специальную структуру и использует техники, заимствованные из PE-файлов. В частности, в модуле присутствуют три «секции» с различными правами доступа и таблица релокации, полностью аналогичная используемой в формате PE.
Расшифрованный модуль состоит из заголовка, начинающегося с сигнатуры 0xDEED4554 и основного блока данных, сжатого LZNT1, в котором содержатся данные секций и таблица релокации. Для каждой из секций в заголовке указаны ее фактический размер и размер в памяти, который выровнен на границу 0x1000. Структура заголовка выглядит следующим образом:
struct SectionHeader{ _DWORD VirtualSize; _DWORD SizeOfRawData; }; struct ModuleHeader{ _DWORD Signature; // 0xDEED4554 _DWORD ModuleId; _DWORD EntryPoint; _DWORD OriginalBase; _DWORD AbsoluteOffset; // 0x1000 SectionHeader Sections[3]; _DWORD Unknown; };
В процессе работы загрузчик выделяет необходимую область памяти, копирует в нее каждую из секций (учитывая ее размер в памяти) и выполняет настройку адресов (релокацию). Первая из секций содержит исполняемый код, и для ее области памяти устанавливаются права RX, остальные секции имеют права RW. После загрузки секций управление получает точка входа модуля, указанная в заголовке.
Основной модуль бэкдора имеет идентификатор 0x20 и отвечает за загрузку и управление плагинами, реализующими различные функции. В его секции данных расположены восемь зашифрованных плагинов, которые инициализируются в начале работы:
ID | Имя | Описание | Сетевые команды |
---|---|---|---|
0x30 | Startup | Плагин, реализующий алгоритм запуска ВПО | |
0x40 | Config | Плагин, отвечающий за работу с конфигурацией | 0x40 — передача конфигурации на C2 0x41 — получение новой конфигурации от C2 |
0xA0 | Install | Плагин, отвечающий за закрепление на зараженной машине. Закрепление может выполняться через механизм служб и через реестр (ключ задается конфигурацией) | |
0xB0 | Inject | Плагин, осуществляющей внедрение кода в заданный процесс (определяется конфигурацией) | |
0x60 | Network | Плагин, управляющий сетевым взаимодействием | |
0x70 | NetSocket | Плагин, реализующий различные типы коннекторов для сетевого взаимодействия | |
0x50 | Plugin | Плагин, реализующий мониторинг реестра на предмет появления в нем новых плагинов и их загрузку | 0x50 — сбор информации о плагинах 0x51 — добавление плагина в реестр и его запуск 0x52 — удаление плагина из реестра и памяти |
0x90 | NetProxy | Плагин, управляющий информацией о доступных прокси-серверах. Имеет встроенный сниффер для автоматического обнаружения прокси, используемых зараженной машиной |
В отличие от основного модуля для шифрования плагинов используется алгоритм на основе Salsa20. Среди модификаций — собственная константа для расширения ключа, равная arbitraryconstat. Структура расшифрованного плагина полностью повторяет структуру основного модуля, и для его загрузки используется аналогичный алгоритм.
Каждый плагин реализует пять служебных операций, которые реализованы в его точке входа:
- Инициализация.
- Получение числового идентификатора плагина.
- Получение названия плагина.
- Получение ссылки на структуру с API-функциями плагина.
- Освобождение ресурсов.
Полезная функциональность плагина доступна через структуру с его API-функциями. Среди них может присутствовать функция-диспетчер, отвечающая за обработку сетевых команд, которые поддерживает плагин. Основной модуль также имеет API-интерфейс, позволяющий получить доступ к другим плагинам и реализующий вспомогательные функции, такие как шифрование или работа с реестром.
Одной из интересных особенностей бэкдора является псевдослучайная генерация различного рода строк — ключей реестра, имен мьютексов и каналов (pipes), аргументов командной строки. Строка необходимой длины создается на основе сида, в формировании которого участвуют числовой идентификатор строки, а также серийный номер системного тома. В результате на каждой из зараженных машин используется свой уникальный набор строковых констант.
Все необходимые данные бэкдор хранит в разделе реестра [HKLM|HKCU]\Software\Microsoft\. Для каждого типа информации в нем создается свой подраздел, имя которого получается с помощью описанного выше генератора строк. Чтобы получить все ключи, которые может использовать бэкдор, мы реализовали скрипт на Python, принимающий серийный номер тома и воспроизводящий работу генератора.
Генератор ключей реестра
import click def rshift(val, n): s = val & 0x80000000 for i in range(0,n): val >>= 1 val |= s return val def generator(volume_number, seed, length): gr_seed = (volume_number + seed + 0x1000193) & 0xffffffff r = [] for i in range(length): r1 = (gr_seed * 0x2001) & 0xffffffff r2 = rshift(r1, 7) r3 = r2 ^ r1 r4 = (r3 * 9) & 0xffffffff r5 = rshift(r4, 17) r6 = r4 ^ r5 r7 = (r6 * 33) & 0xffffffff r.append(((r7 & 0xffff) % 26) + 0x41) gr_seed = r7 return bytes(r).decode('utf-8') @click.command() @click.argument("VOLUME_NUMBER") def main(volume_number): try: serial_number = int(volume_number, 16) except ValueError: print("[~] Invalid Volume number") return registry_key_1 = generator(serial_number, 0xC4DA8B2F, 6) registry_key_2 = generator(serial_number, 0x7BD90AA1, 10) registry_key_3 = generator(serial_number, 0xF7BBC23F, 10) registry_key_4 = generator(serial_number, 0xDF12A5B2, 8) registry_key_5 = generator(serial_number, 0x6EB208A4, 9) registry_key_6 = generator(serial_number, 0xDE8765CB, 8) registry_key_7 = generator(serial_number, 0x6D3C218A, 8) registry_key_8 = generator(serial_number, 0x78D3BC22, 8) registry_key_9 = generator(serial_number, 0xD53BCA90, 10) registry_key_11 = generator(serial_number, 0x4FD82CB4, 8) registry_key_13 = generator(serial_number, 0xDCBC5D23, 8) registry_key_10 = generator(serial_number, 0xE2C7BA56, 15) registry_key_12 = generator(serial_number, 0x8BD43C12, 8) print(f"[+] Plugin monitor registry key: [HKCU|HKLM]\\Software\\Microsoft\\{registry_key_1}") print(f"[+] Executable path: [HKCU|HKLM]\\Software\\Microsoft\\{registry_key_3}; ValueName: {registry_key_2}") print(f"[+] Machine ID: [HKCU|HKLM]\\Software\\Microsoft\\{registry_key_5}; ValueName: {registry_key_4}") print(f"[+] Shellcode for injection: [HKCU|HKLM]\\Software\\Microsoft\\{registry_key_6}; ValueName: {registry_key_7}") print(f"[+] Proxies: [HKCU|HKLM]\\Software\\Microsoft\\{registry_key_9}; ValueName: {registry_key_8}") print(f"[+] Config : [HKCU|HKLM]\\Software\\Microsoft\\{registry_key_11}; ValueName: {registry_key_13}") if __name__ == "__main__": main()
За алгоритм взаимодействия с контрольным сервером отвечает плагин Network. Он извлекает адрес C2 в виде URL-строки из конфигурации и в зависимости от указанной в нем схемы выбирает один из коннекторов, доступных в плагине NetSocket. Все они реализуют общий интерфейс, позволяющий единообразно принимать и передавать сетевые сообщения. Перед отправкой сообщения сжимаются с помощью алгоритма LZNT1 и шифруются модифицированным Salsa20 с использованием случайного ключа.
Для разрешения домена контрольного сервера бэкдор последовательно использует DNS over HTTPS и обычные DNS-серверы, указанные в конфигурации (публичные серверы Google и других провайдеров), прежде чем обратиться к стандартному механизму. Это дает ВПО возможность скрыть домен C2 от средств инспекции сетевого трафика.
Среди поддерживаемых протоколов соединения — TCP, TLS, HTTP, HTTPS, UDP и DNS.
Для TCP доступна опция REUSEPORT — ее указание приводит к предварительной привязке сокета, с помощью которого выполняется соединение с C2. Привязка выполняется к наибольшему свободному порту в диапазоне системных (well-known) портов. Порты перебираются начиная с 1022 в порядке убывания. По-видимому, такая техника внедрена для обхода средств защиты и маскировки трафика под системные сетевые сервисы.
В бэкдоре также предусмотрена возможность получения нового C2 по протоколу HTTP. Для этого может быть использована веб-страница, адрес которой указывается в конфигурации со схемой URL://. Страница загружается, после чего в ее теле происходит поиск подстрок agmsy4 и ciou0, которые обозначают начало и конец строки с контрольным сервером. Эта строка закодирована с помощью base16 (hex) с алфавитом abcghimnostuyz0456 и обрабатывается аналогично адресу из конфигурации.
Коннекторы TCP/TLS и HTTP/HTTPS поддерживают соединение через прокси-сервер, который может быть получен с помощью плагина NetProxy. Плагин имеет собственное хранилище прокси, которое располагается в реестре и может наполняться значениями из конфигурации, системными прокси и данными из установленных браузеров (Chrome, Opera и Firefox). Кроме того, плагин имеет функциональность встроенного сниффера, который прослушивает трафик зараженной машины с помощью raw socket. Если сниффер обнаруживает в исходящем пакете попытку соединения с прокси-сервером (SOCKS4, SOCKS5 или HTTP), он сохраняет информацию о нем в хранилище.
Прежде чем подключаться к контрольному серверу, бэкдор проверяет расписание: в его конфигурации может быть указано до четырех записей, содержащих дни недели и часы, в которые соединение запрещено.
После установки соединения бэкдор может выполнять следующие команды:
ID | Описание |
---|---|
0x210 | Сбор информации о системе |
0x211 | Создание отдельного соединения для работы с плагинами |
0x212 | Самоудаление |
0x213 | Пустая команда (пинг) |
0x214 | Деактивация соединения |
0x215 | Обновление шеллкода для инжекта, который хранится в реестре |
0x216 | Обновление основного шеллкода на диске. Все сохраненные в реестре плагины удаляются |
Если получена команда, которой нет в списке выше, то предполагается, что это сетевая команда одного из плагинов. Его ID определяется наложением маски 0xFFF0 на идентификатор команды. Если плагин отсутствует локально, он предварительно загружается с C2 и сохраняется в реестре.
На зараженной Deed RAT машине нам удалось обнаружить единственный плагин, полученный динамически с контрольного сервера. Он называется Shell и имеет ID 0x270. Shell поддерживает две сетевые команды (0x270 и 0x271), каждая из которых запускает указанный процесс и перенаправляет его ввод-вывод на C2. В первом случае взаимодействие происходит в текстовом режиме через потоки (pipes). Во втором случае используются операции Windows Console API, что позволяет злоумышленникам полноценно эмулировать консольное окно на своей стороне, учитывая информацию о размере экранного буфера, позиции курсора и другие параметры.
В конфигурации исследованного нами образца содержался следующий набор строк:
Строка | Назначение |
---|---|
%ALLUSERSPROFILE%\Test\Test.exe | Путь к легитимному исполняемому файлу (путь установки) |
TmDbgLog.dll | Имя библиотеки для DLL Side-Loading |
PTWD.tmp | Имя файла с зашифрованным шеллкодом |
Test | Имя сервиса |
Trend Micro Platinum | Отображаемое имя сервиса |
Platinum Watch Dog | Описание сервиса |
SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce | Ключ для закрепления в реестре |
%windir%\system32\svchost.exe | Имена процессов для инжектирования кода |
%windir%\system32\taskeng.exe | |
%ProgramFiles%\Internet Explorer\iexplore.exe | |
%windir%\system32\WmiPrvSE.exe | |
hio2cF9VF2Jsdf9n | Идентификатор, отправляемый вместе с информацией о системе |
asdRFSDabormhkmfgUIYGBDURE | Имя мьютекса |
https://dns.google/dns-query | Адреса серверов DNS over HTTPS |
https://cloudflare-dns.com/dns-query | |
https://dns.adguard.com/dns-query | |
https://dns.quad9.net/dns-query | |
TCP://ftp.microft.dynssl.com:53412 | URL контрольного сервера |
Заключение
APT-группировки с азиатскими корнями продолжают атаковать российские компании, что подтверждает и активность группы Space Pirates. Злоумышленники как разрабатывают новое ВПО, реализующее нестандартные техники (такое, например, как Deed RAT), так и используют модификации уже существующих бэкдоров. Иногда такие модификации могут иметь множество слоев обфускации, добавленных для противодействия средствам защиты и усложнения процедуры анализа — как в случае BH_A006, построенного на коде популярного бэкдора Gh0st.
Отдельную сложность в случае APT-групп азиатского региона представляет точная атрибуция наблюдаемой активности: частый обмен используемыми инструментами, а также совместная в некоторых случаях деятельность различных группировок существенно затрудняют эту задачу. Основная часть нашего исследования построена на результатах работ по расследованию инцидента ИБ у нашего клиента и анализу специфической сетевой инфраструктуры, использующей DDNS-домены. Полученные данные позволяют уверенно утверждать, что за выявленной активностью стоят одни и те же злоумышленники.
Специалисты PT ESC продолжат работу по мониторингу угроз: новые факты могут дать больше информации о деятельности группы Space Pirates и ее взаимосвязи с другими группировками.
Приложения
MITRE
ID | Имя | Описание |
---|---|---|
Initial Access | ||
T1566.001 | Phishing: Spearphishing Attachment | Группа Space Pirates использует фишинговые рассылки с вредоносным вложением |
T1566.002 | Phishing: Spearphishing Link | Группа Space Pirates использует фишинговые письма со ссылками на ВПО |
Execution | ||
T1059.003 | Command and Scripting Interpreter: Windows Command Shell | ВПО группы Space Pirates имеет функциональность удаленной командной строки |
T1059.005 | Command and Scripting Interpreter: Visual Basic | Группа Space Pirates использует VBS-скрипты, включая ReVBShell |
T1106 | Native API | ВПО группы Space Pirates использует функции WinAPI для запуска новых процессов и внедрения шеллкода |
T1053.002 | Scheduled Task/Job: At (Windows) | Группа Space Pirates использует atexec.py для запуска команд на удаленном узле |
T1053.005 | Scheduled Task/Job: Scheduled Task | Группа Space Pirates использует системные задачи |
T1569.002 | System Services: Service Execution | Группа Space Pirates создает вредоносные сервисы. |
Persistence | ||
T1053.005 | Scheduled Task/Job: Scheduled Task | Для закрепления на узле группа Space Pirates создает системные задачи |
T1543.003 | Create or Modify System Process: Windows Service | Для закрепления на узле группа Space Pirates создает вредоносные сервисы |
T1546.015 | Event Triggered Execution: Component Object Model Hijacking | ВПО RtlShare закрепляется в системе через подмену COM-объекта MruPidlList |
T1547.001 | Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder | Для закрепления на узле группа Space Pirates может размещать ярлык в папке автозапуска и использовать ключи реестра Run и RunOnce |
Privilege Escalation | ||
T1548.002 | Abuse Elevation Control Mechanism: Bypass User Account Control | ВПО группы Space Pirates содержит различные техники для обхода UAC |
T1068 | Exploitation for Privilege Escalation | Группа Space Pirates может использовать уязвимость CVE-2017-0213 для повышения привилегий |
Defense Evasion | ||
T1027.001 | Obfuscated Files or Information: Binary Padding | Дроппер RtlShare добавляет случайные байты в извлеченную нагрузку |
T1027.002 | Obfuscated Files or Information: Software Packing | Одна из стадий ВПО BH_A006 обфусцирована с помощью неизвестного протектора |
T1036.004 | Masquerading: Masquerade Task or Service | При создании сервисов группа Space Pirates использует легитимно выглядящие имена |
T1036.005 | Masquerading: Match Legitimate Name or Location | Группа Space Pirates маскирует свое ВПО под легитимное ПО |
T1055 | Process Injection | ВПО группы Space Pirates может внедрять шеллкод в другие процессы |
T1055.001 | Process Injection: Dynamic-link Library Injection | ВПО группы Space Pirates может внедрять DLL с полезной нагрузкой в другие процессы |
T1078.002 | Valid Accounts: Domain Accounts | Группа Space Pirates использует скомпрометированные привилегированные учетные данные |
T1112 | Modify Registry | Deed RAT хранит в реестре все свои данные, включая конфигурацию и плагины |
T1140 | Deobfuscate/Decode Files or Information | ВПО группы Space Pirates шифрует конфигурационные данные и полезную нагрузку с помощью различных алгоритмов |
T1197 | BITS Jobs | Группа Space Pirates использует BITS Job для загрузки ВПО |
T1218.011 | Signed Binary Proxy Execution: Rundll32 | Группа Space Pirates может использовать rundll32.exe для запуска DLL-библиотек |
T1553.002 | Subvert Trust Controls: Code Signing | Группа Space Pirates использует похищенные сертификаты для подписи некоторых экземпляров Zupdax |
T1564.001 | Hide Artifacts: Hidden Files and Directories | Группа Space Pirates может хранить свое ВПО в скрытых папках по пути C:\ProgramData |
T1574.002 | Hijack Execution Flow: DLL Side-Loading | Группа Space Pirates использует легитимные приложения, уязвимые к DLL Side-Loading |
T1620 | Reflective Code Loading | ВПО группы Space Pirates использует рефлективную загрузку для запуска полезной нагрузки в памяти |
Credential Access | ||
T1555.003 | Credentials from Password Stores: Credentials from Web Browsers | Группа Space Pirates использует утилиту Chromepass для извлечения паролей из хранилища браузера Chrome |
T1003.001 | OS Credential Dumping: LSASS Memory | Группа Space Pirates получает дампы процесса lsass для дальнейшего извлечения учетных записей |
T1040 | Network Sniffing | Deed RAT собирает информацию об используемых прокси с помощью прослушивания трафика |
Discovery | ||
T1087.001 | Account Discovery: Local Account | Группа Space Pirates собирает информацию о пользователях посредством команды query user |
T1087.002 | Account Discovery: Domain Account | Группа Space Pirates собирает информацию о пользователях в домене посредством легитимной утилиты CSVDE |
T1082 | System Information Discovery | ВПО группы Space Pirates собирает информацию о системе, включающую версию ОС, информацию о процессоре, памяти и дисках |
T1614.001 | System Location Discovery: System Language Discovery | Deed RAT в процессе сбора информации о системе получает языковой идентификатор LCID |
T1016 | System Network Configuration Discovery | Группа Space Pirates собирает информацию о сетевых параметрах зараженной машины |
T1069.002 | Permission Groups Discovery: Domain Groups | Группа Space Pirates собирает информацию о группах в домене посредством легитимной утилиты CSVDE |
T1083 | File and Directory Discovery | Группа Space Pirates собирает информацию о наличии файлов в системе по расширениям .doc и .pdf |
T1033 | System Owner/User Discovery | Группа Space Pirates собирает информацию о пользователях скомпрометированных компьютеров |
T1057 | Process Discovery | Группа Space Pirates использует утилиту tasklist.exe для получения информации о процессах |
Lateral Movement | ||
T1021.002 | Remote Services: SMB/Windows Admin Shares | Группа Space Pirates использует утилиты atexec.py и psexec.rb для продвижения по сети |
Collection | ||
T1119 | Automated Collection | Группа Space Pirates производит поиск и копирование файлов с масками *.doc и *.pdf |
T1560.001 | Archive Collected Data: Archive via Utility | Группа Space Pirates собирает в защищенные паролем архивы украденные документы с помощью 7-Zip |
T1056.001 | Input Capture: Keylogging | Группа Space Pirates может записывать пользовательский ввод с помощью своего ВПО |
Command and Control | ||
T1071.001 | Application Layer Protocol: Web Protocols | Deed RAT может инкапсулировать свой протокол в HTTP и HTTPS |
T1071.004 | Application Layer Protocol: DNS | Deed RAT может инкапсулировать свой протокол в DNS |
T1132.001 | Data Encoding: Standard Encoding | ВПО группы Space Pirates может сжимать сетевые сообщения с помощью алгоритмов LZNT1 и LZW |
T1573.001 | Encrypted Channel: Symmetric Cryptography | ВПО группы Space Pirates может шифровать сетевые сообщения с помощью симметричных алгоритмов |
T1008 | Fallback Channels | ВПО группы Space Pirates поддерживает работу с несколькими C2 и может обновлять список C2 через веб-страницы |
T1095 | Non-Application Layer Protocol | ВПО группы Space Pirates использует собственные протоколы для коммуникации с управляющим сервером |
T1105 | Ingress Tool Transfer | Группа Space Pirates загружает дополнительные утилиты с управляющего сервера посредством утилиты certutil |
T1571 | Non-Standard Port | Группировка Space Pirates для связи с управляющим сервером использует нестандартные порты, такие как 8081, 5351, 63514 и другие |
T1572 | Protocol Tunneling | Группа Space Pirates для туннелирования трафика использует утилиту dog-tunnel |
T1090.001 | Proxy: Internal Proxy | Deed RAT может обнаруживать и использовать прокси для соединения с C2 |
IOCs
Файловые индикаторы
MyKLoadClient
947f042bd07902100dd2f72a15c37e2397d44db4974f4aeb2af709258953636f | 09c29c4d01d25bae31c5a8b29474258dc1e40936 | a2f2e6cdd27c13d2d2d3a5d15e905bb4 |
949cb5d03a7952ce24b15d6fccd44f9ed461513209ad74e6b1efae01879395b1 | 55604a258d56931d0e1be05bcbe76f675ed69e6e | 5cce810a04197dc25231c477e7e0b402 |
35e36627dbbcb2b6091cc5a75ab26d9e5b0d6f9764bc11eb2851e3ebd3fbfe6e | 415ae82bc0aa94e425009068a239e85a78b8e837 | f250cc6ea8b240cfe9eb7e2007656e53 |
730b9ee9f031c8c543664ee281c7988467a3c83eabbbde181aa280314a91ba41 | 7be81aa01715c78166b8529eb999ec52f01a6367 | 399e655f1544e6c34601d3ee1e99d088 |
16c2e10b2e3d74732edfae4a4fcc118600e9212162256434f34121fa41eaf108 | 7f9d53dc8247e68bfc30c2399eb227a9f1aa9dae | 850c1355f713c6f6235863d7245221ea |
b822a4ec46aacb3bb4c22fe5d9298210bfa442118ee05a1532c324a5f847a9e6 | 869bd4d2520e5f2cf1d86e7fa21d0fb9a8fae41b | 12c83dc14e08c206725933e7b69e8e66 |
192499ad69ec23900f4c0971801e7688f9b5e1dc5d5365d3d77cb9bf14e5fd73 | c3f82d46c5138ba89e3a8fe5ea80ce3b0d2467c0 | 5865679e252c0c9fcfcae4546760f7a5 |
56b9648fd3ffd1bf3cb030cb64c1d983fcd1ee047bb6bd97f32edbe692fa8570 | a8d5e941b04cdd0070fe3218fa1bc04fb1bdd1b4 | a5d85f982d6650b26cccee4741fc3f00 |
0bac8f569df79b5201e353e1063933e52cfb7e34cd092fc441d514d3487f7771 | 64d97ea909a9b14857490724f19b971bb95d641d | cb9617de5bc93949844a3e26e1360aa3 |
1bab80116fa1f1123553bdaf3048246f8c8a8bb3a71b2a13e87b704e68d10d2b | 3f32c341a71a32b6421822f44d4efde30d15421b | e26713d8091da1946a158f168342cae9 |
444d376d251911810f3f4b75923313b3726050153d50ad59deff5a0b8b1ada20 | 90ff670baddb8bce0444a8a422096461e78fb287 | bf11b368d610922ac28cd4a9f20bfe97 |
84eb2efa324eba0c2e06c3b84395e9f5e3f28a3c9b86edd1f813807ba39d9acb | 82c18765ac3a1a2ecf3f258c0912beaf5aedd175 | ddc9174f111e8aa445a71b8eeb0ad490 |
14b03ac41b5ef44ca31790fefb23968f2525c3aabfe11e96b9b1ccb6215eb8be | e5882192901c00d8ac47bd82b7d4565761847e7b | 7b7c21eac0d9a06178a68d73fc5a18a6 |
b1d6ba4d995061a0011cb03cd821aaa79f0a45ba2647885171d473ca1a38c098 | 9f671e338bc9b66e2dd3b7a3c9115723911b8f65 | 135f224c2d740b1f1b6f43235e96d3f2 |
5847c8b8f54c60db939b045d385aba0795880d92b00d28447d7d9293693f622b | 878b2b8543ee103841cf30af70813b1c27434d71 | 10b52c1ccaba52a52c991b05704bb12e |
95811d4e3c274f4c2d8f1bf092b9ddc488aa325aabf7c87a2c4877af4ba8bfb7 | 6b0bebd54877e42f5082e674d07563f527fdd110 | fed14e228ba25fdef9904adaf70c145f |
0712456669e65b2b3e8d1305256992c79213a6dd4fd9128cf3e78ab9bae3cff6 | ee6b0845ebaae57f88b262c198fad8cf151f6b85 | 72571ebddf49e7546f9d5fafc0664e0c |
607c92088b7a3256302f69edbfad204cab12bf051a5aac3395130e18ae568dd5 | 2452567c5e28f622fa11c8e92f737cd5d8272abf | 3562bd5a94f4e8d62250201e035e1a49 |
d0fb0a0379248cdada356da83cd2ee364e0e58f4ed272d3369fe1d6ca8029679 | 96bae22955bd85110c3f0b7de9a71b81c025f76a | 8a8425a0a4988fa7e9bf98def23c1ec4 |
a8a16168af9dcdc4b34d8817b430a76275338dbbda32328520a4669dbe56e91b | 57bd45e4afb8cd0d6b5360de6411ae0327812d5f | a2b245bbb1de4f61dd8c31f391b28605 |
7b7a65c314125692524d588553da7f6ab3179ceb639f677ed1cefe3f1d03f36e | a97b1e1e0de7f0eab5304d206f4d7131987aca6e | 568594397a24a53ecbbb9c7766194678 |
f6c4c84487bbec5959068e4a8b84e515de4695c794769c3d3080bf5c2bb63d00 | 9358b341bc217dcd15599b43d88b157f8a9f4882 | 05a025736a6fd75f183a04a267cee165 |
467979d766b7e4a804b2247bbcdde7ef2bbaf15a4497ddb454d77ced72980580 | ae021c91c759d087ead95319608326e0ed154cfd | 78acab8a8d263968c46ef07d8ba98f0a |
3e57ca992c235b68027cb62740d8e86a3294ac0ebcff4a2683b29bdaec016646 | aad3241fd23372523528a99f4c18127a3ebbea59 | a75c81a18e3965b5942e7b1669db16ca |
c3415bddc506839614cbb7186bfc6643713806de4f5b1c15445e96a644b44bea | e29b263a89217412f45d6c7a0235b19af030755a | b1f907379148c1e09009cda3cbd3877b |
d3a50abae9ab782b293d7e06c7cd518bbcec16df867f2bdcc106dec1e75dc80b | a9d64e615171b05a402422056ddfcd250febae93 | b03192389159b15f5552c82a29c747fe |
69863ba336156f4e559364b63a39f16e08ac3a6e3a0fa4ce11486ea16827f772 | ec928047d511286c4db2580045d02ced34b639ea | 27ea69e0233f32d521c7bb1330690731 |
50f035100948f72b6f03ccc02f9c6073c9060d6e9c53c563a3fdb1d0c454916e | d5ce13a66e8407baec0f447c7fb41d493fd8d73a | 343a9cc37cc9843cf862dd946c7eb714 |
6bc77fa21232460c1b0c89000e7d45fe42e7723d075b752359c28a473d8dd1fd | 74847db3abdb5b0fd3952bb76018f9346815035a | 359ae18fbfc16b5b09e0f571d563d8e6 |
3ccae178d691fc95f6c52264242a39daf4c44813d835eaa051e7558b191d19ee | 0e40d0424aefa672c18e0500ff940681798f2f02 | 196222b313b6c2ef728695ad5133da06 |
a99612370a8407f98746eb0bf60c72393b1b4a23f52e7d7a6896471f85e28834 | 757af512d07fc8fe1167750a748dbb9c700f71f1 | 6b2e4ff182bffe5a22944fa8d2a7d41d |
Zupdax
f2ce101698952e1c4309f8696fd43d694a79d35bb090e6a7fd4651c8f41794a3 | 9ec2f21641bd3f482b4c85cd6050432dc05e7680 | d0cb15e5fd961e4f5b3b120fc60dbdf8 |
84b8bfe8161da581a88c0ac362318827d4c28edb057e23402523d3c93a5b3429 | 6f1b4ccd2ad5f4787ed78a7b0a304e927e7d9a3c | 6e9ff09f5a7daa46cfbfb1cf5707179f |
3a093f2c2cb5ba59197a4c978cfa9687d5778a53ae17c2ce2757d3577a5e7c69 | 9e0e0582eef9e2e2f38893a06c552d607f835fcc | b0f95350b13b65ae427075fbdf5f7230 |
137a3cc8b2ecd98f7d6b787d259e66ca2c1dae968c785d75c7a2fecb4cbbcaf0 | 1a7967c6357269414cfd1f9e1060a8613bc59f7b | 869de5ac4d3520373a8a2f1a5991d365 |
9e010a2b43a6b588b95b5281544739833fb0250e8e990a4fe9879459f92367d0 | 24732b6b00326439dc373df56aff78c9c82d7169 | 814019ff0004d54c9b14981ac02752d4 |
408608c6b6f7299561c04f37ab46ca9c82834428ad0e8d42b16ca5da9b86d62e | 9f596346c9acc09772bc5baf8c4dbc80fbdbf03b | 3801a156c01b2d3ab42bc431a5f2fc46 |
6cc33a21417967a1bb3294179ea10aa3d9ee8d945a5ea0f6c44530189344a10a | 6f43f6e8cb1474a6272f9632487fa1932dfba18c | 6d6c3cbf2c2a3f106fcffdcbf4c70990 |
24b749191d64ed793cb9e540e8d4b1808d6c37c5712e737674417573778f665b | 26062de2657bd2a3c228049af27333d2c46a041b | 58c734474fc415905c6c9f95783d79b7 |
a95dfb8a8d03e9bcb50451068773cc1f1dd4b022bb39dce3679f1b3ce70aa4f9 | 1e8bf3c1a05f37857a9e8f7adb773ed9b9af1b8b | 4ef9466b7ef300ec5fc98257e07efd40 |
efaa30bef6327ca8123e5443aa831dd7173de8ac9a016aaa2ae878641f85f952 | 04951144dc621f5f7ff2d66c8bcb710b77cc3d55 | 80397808492e12b83e5c9f5467740fd7 |
699bd1babf50a360e0a2ba6b5e0ed2379571ee8356f3f08b09ff8ce434d72696 | 3c10a0256cc1f0af3c31770314257eb8f994260c | 09c34b06199eb1cacfbfc159e88e13e4 |
d6af2d1df948e2221a4bdaa3dd736dc0646c95d76f1aa1a1d314e5b20185e161 | 44858761afc0439ba361c90f04ae9719b362d315 | 9afe1f1936145a0a2ff1f6b34160c37f |
0ecd7741dbdfa0707ccd8613a5ea91e62ab187313dd07d41760c87ed42649793 | daacbe773105fd7b0834ed2e3a05ef80275e3c11 | e8357ac87261f74c5d40e4baa273d3f0 |
2360fa60a1b6e9705bf6b631fcfe53616f37738cf61bc0444ea94ce09c699c7f | 54e9de60e3a5c58fc2f3daadd18a1355350e13ec | e0592c56ee8f0a2149fd9a8ed3b85f6f |
ffe19202300785f7e745957b48ecc1c108157a6edef6755667a9e7bebcbf750b | 25d0321df77623c5af6629c357201941d4cd452c | ddf7ed52856f7ab9cb75403c30cc2c2b |
d45c1ce5678259755df24bd680316a945515fc1bd916ce1d504f9d27cf9d03e4 | 0f5a74f11c270a02b0c0cc317e0b850c78261b04 | a2972cb5228a56a530543f187e33e160 |
00847787ea6568cfaaa762f4ee333b44f35a34e90858c1c8899144be016510ef | d82bc3800396452ee519fbb35f708802fee335af | 41f3e576216bb551a0ab1f3f18e9749d |
Downloader.Climax.A
fa2305975aded0fd0601fdab3013f8877969cb873fb9620b4d65ac6ff3b25522 | 003f46f74bbfc44ffd7f3ebfec67c80cf0a07bbf | 24b90157056913bef8c90b6319164afe |
0a0ce7fb610e3c037beb2c331e147c8750ba9f7ea2ece2f91f27f1a83c6839e4 | 1e0a63331814aab39ffb7806289a8ef3433553c3 | 68875f4b80fd1350af7dbea4d05a811b |
898741e11fbbe6b5534fb12a489add1aaa379ee6757c0bd8d6c631473d5c66f7 | 3fa2f11e142f5f07f2dd63d89b58d01e9397ded0 | 1fe521f0ad24145704e6085b4a4859a9 |
59e4b8d2b65f1690139c094ee27182285febda115304c44e8d9e7329e09dc794 | 18cd249add7cfae87615ca5b32aca8503337a2d6 | 9bf855e5e8480fdb93fd12068699446d |
0c64cc96a52ff9bdf6593e948fed1bc743bdf714ec1f7b392490423d927c3bb4 | bb1c27db5f8d7e43592fa81cbfa319f1ce7c828f | 0830581452de0c91090f8de7dbd123fb |
1ca423fe0159e75718eb66524cd24002071a06b2fa68ce2cbb39d10682a154a6 | 78c8298b8357eee1a2d5d9da86f290bad798ce39 | ff5896c0749b1e8c403203ebb679ab09 |
e9c94ed7265c04eac25bbcdb520e65fcfa31a3290b908c2c2273c29120d0617b | 47edf57c5724ef9ff232dbb76f749977c767106a | ef8bcb5865669bc1d1776aeecd1c29de |
d376164e377577fc590a780d15603d6411fde6e45ea21971670d5dff597d9def | d9e12317a43f233a739972723abc00f1b88f53b0 | 5faa973967fee2f35229685ceacf20b3 |
4301abae1a62f87b1c51acc6a6b4f2c3926a248b4aa9c04b734cef550196c030 | cc402936b3d6fa5db14b54f0065404d975f2aeb5 | f0f2731cabf1c1a6381d0cd265c937bd |
Downloader.Climax.B
7d9e1a193402b87dbbb81c2ab95632686154cff9c991324e46b275850a4b2db6 | 36a6eb414c9b8a7c2cdf12eb46e490d288e7a47a | 98416b41f386bb45ed36c2b6bd0f55ca |
dd82a7b9b5dc0ee1f9e9f19d46212f3e2a1d09a816f5c0ece96275ee221fca13 | cf0fb4950130abddead04c21316912418562bf8a | a74341091f88d5980a2394be28ed0239 |
9f4d15ca56f87a5ded792f2a27a4c112bf59517079aedbefe49fcd0474600b69 | bbbca10a8545b0421fbfcbd0b3b7a42527fea641 | 1bdaa370b064f90abbc2c7cecc6d3316 |
5872abe12a8e4c7182e4c6a894d6c27961b00d333657736bcbfd7cb1b38af2ed | 133eca56512d8d5f8c730e102bf9042915e9bf41 | c60df47562dba1c75e9932aa088c24bf |
8dcb99e56c888800e0712faddc07d991b6dcb7a6fd4cceffe9e27fe3da83d206 | 2e76fa63adc870ca1de19fc7ea5afd6860f36e32 | 1a22342f883ad150c5a6f7e85e9ba2ae |
7079d8c92cc668f903f3a60ec04dbb2508f23840ef3c57efffb9f906d3bc05ff | 8993d0d5ec2f898eb8d1b8785cc5bb3275b43571 | 1690766e844034b3c2ab4f853bd59df7 |
5e8df46c9bc75450e2660d77897fa3dfa4d6c21eea10a962f7a9cf950ca9ca76 | b0506335e332d64d6568f7830a8fab6a8a6ce1f8 | 923d60f3e63c95021f9e99f943fcfbbc |
RtlShare
8932c2d1ed0ae1f64d9cff4942f08699b4a7b1b30f45626d7bc46c8c51f8a420 | 8903e04d7ffae2081867337801ca2fa5f93220bd | 9d116d94151682934dfd753485c91b88 |
8ac2165dc395d1e76c3d2fbd4bec429a98e3b2ec131e7951d28a10e9ca8bbc46 | c0988a4ade711993632a03a2f82eea412616ef2a | ab01a4642e76df9e20a6d936d1f287fc |
3f6102bd9add588b4df9b1523e40bb124af36a729037b8c3f2261563e4fa4be9 | c865ef013018db3ed00f946b96a7a98ef2660e65 | e8e966455a60c6f5dbfce3e82564d2c7 |
785ac72b10fd9cf98b5e2a40dc607e1ff735fcd8192bf71747755c963c764e2d | a429d9c8c67c8c8036ef05f7b4a27530ee6ae98a | f15c15e2b26f47b436b2a91d332ad59f |
PlugX
0f7556c6490c4a45a95f5b74ced21185fe48a788bcbe847017084ec1bf75d20a | 53a17133173ee8f32261d4ac8afb956e1540f7be | 4b6e1f5375552e09975f23fd8661e0f3 |
429b6c5d380589f2d654a79ea378db118db4c1fd1d399456af08e807d552e428 | 97ecc5aba4ce94a5012dcf609f2d325f293d4bea | 3f8de0e26ee2f1f030e7d61215a227fe |
0956ab263c7c112e0a8466406e68765350db654dbe6d6905e7c38e4f912a244e | 457a592ece5e309cc8844623f29fc6be62c5be60 | bdc734d2c049d77285fdb503aac86cd8 |
1c0cf69bce6fb6ec59be3044d35d3a130acddbbf9288d7bc58b7bb87c0a4fb97 | ef3e558ecb313a74eeafca3f99b7d4e038e11516 | b4f12a7be68d71f9645b789ccdc20561 |
a072133a68891a37076cd1eaf1abb1b0bf9443488d4c6b9530e490f246008dba | e9e8c2e720f5179ff1c0ac30ce017224ac0b2f1b | d5f5bb6368735f34440621b80fb8e003 |
1bad7e53cb4924576b221a62d2cddb4d18bd387734328b7d48e32046700e2df9 | 7539e5f25b3e66ea849ebee6bf6104d504573035 | 25db7152f66588dd8ce035f4bbd811d6 |
39083375012d2a854e6310411e7ce4c4e3440bd5784ae158599be25deaeabcb5 | 7ad24d1873325a02ca4644ebbebe5c5f95bb927c | e7a9d56297f8d0c16eca077b5f0a86bf |
3c4483e1185d00b282b19910ad5e7970462122b8b7d8895860ffc132a05b3b9d | 62d33015859f49e2ad178239891dbed78a0e2de6 | a83b0a6b5c590aaf7528dc23ce1856f2 |
f8885d5caeec2627d808dc20bd1fbcd42732700686d34f1bb29d83d5d5115ee0 | 8a44433cfc2e4f116ebd59aac5f596f83c468d44 | 633eaedd4944db79d0ac68e71418c34c |
07ef63b7c9554065e3a6047404d2526e8c8e450c5fe977247336626be403d790 | a397d9d7d242bc748dc2bf5307d0f16c5144d98d | cfd0a7ab2c2c99dd341d844a5486599b |
8d2ff35a5c941cb2f0438969be1a16116efacb51bb9820e6facc285640855682 | 702cf75a6b23a18001a909d6743a739837cc2053 | 0fe86427810229e4927b3a7091bea583 |
31af406fababf825eb15969970f5de1d2de9fa29a3ca609aed3174c48806492f | 12e4407d5341836635ce54727ad4dae7712c2a4c | f4c9dd900488d6ad172f16a812b5e0fc |
c150172ae47f9708bf4a87cf67eb19b09e6d4f5a565043f309c1da5ffc9bd656 | eb6b2ddf1da767848ffe51f14b177298173227f5 | 7a4a791eeb0a195057a65ecceeafc8ff |
5f8e8eada8ad8fcb007a1da7d2dedfdc55473cd5d65a287224c345edf9c1e964 | a7837c8e3f789a112fbc2eea623c4e03664280ce | 11fba00953cbd550be12a5691f79547a |
fda4712cfb3007e7eb5f61b37c746640ff5428108c74106352b69a11193d79a1 | 628dc1642de5e74bf230e9b933f264196b9678bb | be4625cb6e797b05a5ce3f2f5d0618c2 |
17c4a6adca907b7cd0fc75d6008a307a3813ac3b75bfebb4f173360b5d2e7964 | d5959009d3a2bdadd0db5385706920da21e5c8d4 | ff7b237c3049fce0559876239e5c0ae8 |
b153195807d9b58168bba751517498268e396a79965c5d323fad5c16bbc9520d | c14b4468a33b12250b560a0c7e884e01dd986c95 | 9f4150eee0d18c7ebe6fe2881e40f1a2 |
7112f1033f1fafd9cef1862f6ea0a77994858bb54270deede1ed24b0f18fa7b1 | bc0a54644b5ba7eff9ca10d8b42d73f0c69e4c53 | 824e76688a5b5bad414bc170721a29da |
5ece318d3df972291896e858b76224c5ec34637d5409db44c89ec67ee0a6089d | b253c8ff5fc2cb1ea8933721c3a4002a42eec2f9 | b0b6d1d000f031c2883df9f67360a338 |
e452ea28a9d3e37a2ac0cb8f4bca8ce41bea1a362d4c1680ab3ccaec6e5123d9 | 7f81103b574a3c26b478e9ab41abc422f979f299 | 49a5af86baf3d7bee422b841781d1bfe |
195b39d40cd9d50e0b4b6b41f8b45140bb0f6e201e75b4398bd07b1e5959970b | 5d449cad4b2a8d8a6b7489d82b110c370142acdd | ff58ce5d9d76502785ed1900056a4501 |
675abcf2bc7b1792b50fa296315f39ce5ac8e7e3f754a9be867eb0dd6bbf1799 | 103cf5647a8dc33d9d611b5b1eafc3e498d02dab | cb9b8cf286b84678784e7456b7d8fa85 |
e60757a893881559104513d75cf521c8f72e10653442b9f2510402453e48cdcb | b2e4179f7a2d1942fdb8e0fff632a3b65e9dce37 | 3a0536d8cd93119389d06575adc64079 |
a9acf75a658cb6e8aed6f638b08931fbe74f7b69a26e6b45486caff9d8e455a4 | 187541ef47985e11324be53309808e23b33c12a1 | ef479d7cd2e77a764ffb0a4b291a70fc |
ad48650c6ab73e2f94b706e28a1b17b2ff1af1864380edc79642df3a47e579bb | f1a8c309806c90c100e680299a037ec71cf4397c | 1cba2ec3fc5f1451aaf3a75c9823825e |
0b1ed5214dd31a241920de4b5c7cdf3f02ad5f76260bcd260328732c9bedbcec | 9be46478e3cbeb51267b8fb88952860790051c07 | b404e426c53c066620d440f92331a113 |
555fd0d7c1584f7b504ac65f34017f7070ee12ce0f4070cd0555361b3adea54c | 1f10627b46b51a97b059395bf062117fdfae4cf0 | 895644020eba9ec62d47ca85ccf94012 |
fe885d1a2bef4e99dcbcacd9393c59ed52a718ff2cbbc6a15e443e150edaa662 | 9d490725443c9f426cdc0bfa75b3d900404153c0 | 13febb9240f37a69f251fd6055b8e1eb |
354c3c2a7602475b72727158ebae8261f0ac9f2ce6c2ab86ee9ec38169b40f62 | 68a651026a3bae94776a9e1a45c6cca58b9609b7 | 1d866ed934518061839588565ff71edd |
ab1282afced126da7d330d7be338dfe1f3623970a696710e55a67fb549118f1d | 3ebe6bd2d44a4d54d8ba314b92c9c379398bf095 | c063adbb4a8a41a8678c594258065fb7 |
e3d32b0758f98b55483a18631ae42e944c387b5a73b1fbc39f62b2c13a6ec198 | 5fe3b83b3ccdf78303b59e5f3e628a2cf80e9d13 | 923165c972c38678f6d9ab4cef36a007 |
a4576ca47764284bc3aa8e5dacad84163ca56258dc8af4aa4916bb3bacbd58e0 | 1166b3daa8ad2496a8b71f37656be7ac41821e03 | a1503cec20057e367cff4db5e4a8b93c |
8871bd39918868d4f4390e430e82730819182a8ae9fb3ef7096c2ce5dbafbe26 | f1d74087627879e224303ee56e74d53f6dc67204 | ec0a9cecb7e1b4b40ffdba19407332ea |
f5e780d10780f45adb0ddc540978d7e170e8c143a251003651e12c18142cee16 | 8e5ef3c08eb584d041a7aa93473aa2e31787d111 | f16790e4e2029367cf3ae07037169424 |
37b3fb9aa12277f355bbb334c82b41e4155836cf3a1b83e543ce53da9d429e2f | ea7595bff1cfd1d72fe72417bf263d9adc9bc59e | 9ae8a7837c60f3f587701934ff41bd96 |
6cd5079a69d9a68029e37f2680f44b7ba71c2b1eecf4894c2a8b293d5f768f10 | 50064d66c9b55b6f7d22051b81914d8366fe36c8 | d5915394a6916a00c426aa2827d97c0e |
c21a3a44b46e7242c0762c8ec5e8a394ddc74b747244c5b83678620ae141e59c | 31d67b5a5588b2d28365534c36a7b754f28e1df9 | ecab63b6de18073453310a9c4551074b |
fe18adaec076ffce63da6a2a024ce99b8a55bc40a1f06ed556e0997ba6b6d716 | 1e8dee59355e064790d05e44199443d94ab1aa02 | 219983c1a7c6c08707f4907b17a72eb9 |
PlugX demo dropper
50f1092795c493c5275637b81fbcacfc4ca7951dfda06782a792988bbde2f5a1 | 8e0ee1ceb7ce14994a481c266eef1f67087b59b1 | 6dfabe77bf18f1424cf47e2e0794f6d5 |
82894e2534feb0d9edbb3dd5339c3ff0f6eb73b07e40f0f8b15e759e8a55d052 | 0b8c9bbea5614d2fec852cf2f74fd20b591edbb2 | 814e3cfdbf77e8b400dda78ab0a80e24 |
e5f471dcd4f5a47f0a53fc389e58c70b9ef81805c503ed6b100950d02ee7f777 | 9eb2ed9db419cda517fbea69a9204644e946913c | a70db29d6a7ba154eeb029be19136cb6 |
aeee80588212bc941e179ca95931a91bf446cbc1446111d4e520243d708f1d5b | dbb93c7b7e36b5eb0dd408e836f7bf305ee076bf | 661635e774fef37e56928333d6040cac |
c66dda5131c0aaa118e7cbb5de16fbc984f1f0c9194717b8981bca0fb024f170 | 58ec65e2d39e3dff7df3c85d3896ab37a04cd475 | a96e3b2fd7c8bb7c903240e0b9b1e980 |
051b08ef35a6122bd9ff75609ccd50d84793e5502a9e428a57f2bf688d21d1e9 | 1b43bb893767f48bc134c1894f3390fd20dbb22d | d2b60af1360508ca2728f06f45a3f931 |
f96adc9e046ecc6f22d3ba9cfea47a4af75bcba369f454b7a9c8d7ca3d423ac4 | cb85578a26dd90f536b9c97cf88ff93baba22107 | 4412dcf06cb428d710297a3efcf24a91 |
BH_A006
1e725f1fe67d1a596c9677df69ef5b1b2c29903e84d7b08284f0a767aedcc097 | c0292c55fca5f68f4f4831fb5d2a77a78c1f1a45 | 36a8ce6f27c251a81d9deada291b2a2c |
e76567a61f905a2825262d5f653416ef88728371a0a2fe75ddc53aad100e6f46 | e45a5d9b03cfbe7eb2e90181756fdf0dd690c00c | 06af27c0f47837fb54490a8fe8332e04 |
f2ab7d78377fe1898eb6406d66668c9dbbe0836e9c97af08bc57da56a78272a1 | 87ae868159d572acbb376faf7fda6593058f8518 | c241e8486a0674f7af1b0928b59b94df |
1a4cc1c66082f4bb10b917bc434ecc9e7e4f92877fd42e3fbe5e8a96154318f5 | 927f428e0de0391a6392943b3c79fda8363828d0 | 758eabd1b7b644b01a21011d6e1159e6 |
1b0e8f31b513ad53db7ca6d8db35c37eb24eaddf859521b6913209af934808ce | 9df3431e26b958f671b28d1c4d34dfa5c0c653bf | 94759ce1618ffa9e38cfa7c3ad43061a |
f42f8896183d298a6ecd2c3fa78393bf7e58bc33ab7994e35346a57cbe2e2521 | f214cbda1dcdc75b3d355affef74354a104d5b29 | 5ea6d25bb95d8643dfe2deb4afd92843 |
bd366f22fd0f1b5b5a041621f70b357287c45883e847bb8f31809d16ca46052f | c213d8d98359c32e1b320b8ab0cf168e3f369441 | 8f088b92a9f68681dd17f0fb89b1058d |
77052236a7061f91ba6442568f6db1200169fe4afdf9c3c81750e0929dd4fb96 | aa9b71858b893a131908b3236bb724226af6b1dc | 02a7272416fefc68ff214b24214fc370 |
2bd9b56ddcccc0a9d33debd1c56b493bb60f8b4229f728b0c6c3bac0e556d080 | 0e2c294692cebcaecb5e2f3677d07f96a09ab610 | c7f0ec11b70be64695d826587d8fb9f2 |
59fe1b5b641c140225ed12a8122da47716b9d841754f4604a2bdbb2a0dc765ad | 7324dd736142db51c4d3887c30df810a45b46b08 | 32cb37c984fe0d00009e7566f18463eb |
cb35899e21269b564ffdd4785961195af1779daf5ff3e64746e2d6368744ba2a | 5ad5183ce68975a59d85d650e72b13a845be82e4 | 7950cf56e58e2be3fc401885e815e9b6 |
f97d1f7e3ed963654fb68803f2ac6cd79580abb8f86ab477c49aec76157bb184 | cf1a335ffe672f19fa0160151c50eb9209b5e99b | b66203f634e48430af63a3c1503b2a4d |
74af7c238935e2fc11f97e122bbcf0b813c27f5a4a3b8aa47a574c24003df533 | ffb8da41d8a92b4cbeaf4d85a4c2732b90d178c3 | 7428f82ed54e0d75c37afc0dde45ea57 |
9cd487bcec62fb5192fbe654ca5c02750b846070b85016fc3d2071add8e04f39 | b20c993e963a5540593120cfc1b596ba42aff649 | 46c4fd5ae4f5907d5ba3faa2978ffbe5 |
b0a58c6c859833eb6fb1c7d8cb0c5875ab42be727996bcc20b17dd8ad0058ffa | fcc66ea2198a03def308c53adda78d4a64ed22f7 | 823e689e34be362faeddb2bd8d32a05e |
9843ceaca2b9173d3a1f9b24ba85180a40884dbf78dd7298b0c57008fa36e33d | 6c8ab56853218f28ac11c16b050ad589ea14bafe | 964be19e477b57d85aceb7648e2c105d |
9969fc3043ed2917b76b6dbae36bd2e0846b90e9d93df4fc4f490fdf153da435 | e102a2ff536d2df93ec9c507e52c04bba773b550 | fff3c03e6c455eaba70ec816a4439b95 |
690f5bd392269d80061e8e90a9aedac4f9bb2e898db4211b76a6e27a1ed95462 | 5c1d4af865b4d514340d6a2dbb42523a142ab5d8 | 18ea3d4c9639a696b96e49f53af2b161 |
7bd1016b5f3a5004166de5cf7f1846024684979de413417d83321c931c1b5929 | cebabb80844c823df4539f4db29d7bca27e1f50a | 89de9c0ce214d2e437e2ce6d266ab100 |
1687af091d38108eeed634c0539b9639c6128aed9588a370f51a957bee534f39 | 53ab54c2c3ea3d6921fa2bf5fde69255dc41fbed | ae755e20cd3a6f2721096736c5c3aed5 |
16d2b4bb67147c0086c5716639e226fe1656da26f40bac86f7df970fa92a8460 | 1f89b71204ef85c00a6675f65acf4b834c0a58ce | 68f52f72f9f3becd0f51da342dd6bd31 |
Примечание: файл с SHA-256 9843ceaca2b9173d3a1f9b24ba85180a40884dbf78dd7298b0c57008fa36e33d ранее был ошибочно приведен в нашем отчете как экземпляр ShadowPad. В действительности он относится к семейству образцов бэкдора BH_A006.
Deed RAT
ff87ec66b89db551d6f4ce33ad150fae7286f58d465179acf2b8001d9ca9bcea | 6c2e080407f03e507316c7bc340ecfe2fa1c248f | 508b845dbb4d182116fe1d3a7c52a578 |
761557ecc63ec5fbc2e3573f61a860bd8967f04818be25893361c63409ab5af0 | 60b4af5c44d0ccdfb6003ca77d5ddda808219972 | 60c6573fe8bc47943009b71046cbf895 |
ShadowPad
9324d7a72c436d8eb77f3df72b6f41aa4e1b85f08ef7583e26de75e17cad490c | c82f168cdd311078bc1a9a748a0e304d26b10d04 | e88442798b3881f41b369b849ed6ee52 |
06ce5271836a6a1ee40513b1de6991ccd87bc7ff640948f194e7c12bdf779fd9 | 3e38742d05ab64d1c484f157b345d339becef404 | 927af917daaee340c2095fb3f86ecaf3 |
d34b6306aeaaccea3b30dde377701c4a23b861b47f9bda777ca7dc0552f2754f | 72881125929a2c445c6cd094fa13607b9cdea95c | 15d973bcaef5f97329f76be89ee26cdd |
d011130defd8b988ab78043b30a9f7e0cada5751064b3975a19f4de92d2c0025 | a43edb2221919ac5d52bde498f604164b3c86118 | 08b419b754122d44b44831384c520b21 |
459f386be186c0e23234f299f2607d0eb2745eb743e1422a95ec2dca645b0e21 | 9d05decdda370292012ded9c4e04d8d46c1d0de7 | 3b0a45da21a9244970f91df6dde5204e |
Poison Ivy
672d1ec9f27870a9ed4983038e58e8577bacc735d5168d74bcff8d6ed9aa7947 | f5ccdd6cc4aae67c822ddd4509f33672ca5335f4 | 4e87e5af554322a2c7c754701290c52c |
2e35a1599b58e76167f2235d46840cc973dc49a6f14c0c2a2e91310a2fe2c2dd | d80b939d9d46cdff9cf20f6234186a1bf3b963c2 | b1aadcb19d49519f4564d6f52c3c8efa |
Сетевые индикаторы
MyKLoadClient
microft.dynssl.com
micro.dns04.com
207.148.121.88
47.108.89.169
120.78.127.189
121.89.210.144
Zupdax
ns2.gamepoer7.com
mail.playdr2.com
pop.playdr2.com
news.flashplayeractivex.info
update.flashplayeractivex.info
ns9.mcafee-update.com
154.211.161.161
192.225.226.218
Downloader.Climax.A
bamo.ocry.com
202.182.98.74
Downloader.Climax.B
ruclient.dns04.com
loge.otzo.com
RtlShare
asd.powergame.0077.x24hr.com
w.asd3.as.amazon-corp.wikaba.com
45.76.145.22
141.164.35.87
202.182.98.74
PlugX
microft.dynssl.com
api.microft.dynssl.com
micro.dns04.com
www.0077.x24hr.com
js.journal.itsaol.com
fgjhkergvlimdfg2.wikaba.com
goon.oldvideo.longmusic.com
as.amazon-corp.wikaba.com
freewula.strangled.net
szuunet.strangled.net
lib.hostareas.com
web.miscrosaft.com
eset.zzux.com
elienceso.kozow.com
lck.gigabitdate.com
miche.justdied.com
45.77.16.91
103.101.178.152
123.1.151.64
154.85.48.108
154.213.21.207
192.225.226.123
192.225.226.217
BH_A006
comein.journal.itsaol.com
www.omgod.org
findanswer123.tk
45.76.145.22
103.27.109.234
108.160.134.113
Deed RAT
ftp.microft.dynssl.com
ShadowPad
toogasd.www.oldvideo.longmusic.com
wwa1we.wbew.amazon-corp.wikaba.com
Poison Ivy
shareddocs.microft.dynssl.com
DDNS-домены третьего уровня
microft.dynssl.com
reportsearch.dynamic-dns.net
micro.dns04.com
werwesf.dynamic-dns.net
fssprus.dns04.com
loge.otzo.com
alex.dnset.com
ruclient.dns04.com
bamo.ocry.com
tombstone.kozow.com
toon.mrbasic.com
fgjhkergvlimdfg2.wikaba.com
rt.ftp1.biz
apple-corp.changeip.org
amazon-corp.wikaba.com
0077.x24hr.com
staticd.dynamic-dns.net
srv.xxxy.biz
serviechelp.changeip.us
mktoon.ftp1.biz
noon.dns04.com
ybcps4.freeddns.org
oldvideo.longmusic.com
chdsjjkrazomg.dhcp.biz
q34ewrd.youdontcare.com
journal.itsaol.com