[Перевод] Бэкдор от монгольского центра сертификации CA MonPass

05f11b845c8bd783fe2fa731e765169c.png

Мы обнаружили загружаемый с официального сайта MonPass (крупного центра сертификации в Монголии) установщик с бинарными файлами Cobalt Strike (фреймворк, помогающий эксплуатировать уязвимости, закрепиться и продвинуться в целевой системе). Немедленно уведомив их о нашей находке, мы призвали MonPass обратиться к их скомпрометированному серверу и предупредить тех, кто скачал клиент с бэкдором.

MonPass предприняли все необходимые шаги для решения этих проблем, и теперь представляем вашему вниманию наш анализ.

Анализ, начатый в апреле 2021 года, показывает, что публичный сервер, организованный MonPass, потенциально мог быть взломан 8 раз: мы обнаружили восемь различных веб-оболочек и бэкдоров на этом сервере. Также мы выяснили, что клиент MonPass, доступный для скачивания с 8 февраля по 3 марта был взломан.

Наше исследование содержит анализ взломанных установщиков и других образцов кода, обнаруженных в «дикой природе» (прим. Дикая природа (in the wild) — сленговый термин, подразумевающий технологии и ПО, уже выпущенное для широкой публики и не находящиеся под контролем разработчиков). Также во время расследования было опубликовано схожее с нашим исследование от NTT Ltd (при нажатии начнется загрузка pdf), поэтому некоторые технические детали наших работ могут пересекаться.

Все рассмотренные образцы очень похожи друг на друга и имеют одинаковый путь к pdb:  

C:\Users\test\Desktop\fishmaster\x64\Release\fishmaster.pdb и строка Bidenhappyhappyhappy

Путь к pdb и искомая строкаПуть к pdb и искомая строка

Технические подробности

Вредоносный установщик представляет из себя неподписанный PE-файл. Работа бэкдора начинается с загрузки установщика с официального сайта MonPass. Легитимная версия помещается в C:\Users\Public и выполняется в новом процессе. Это гарантирует, что установщик ведет себя так, как и задумано, поэтому обычный пользователь едва ли заметит что-нибудь подозрительное. 

В «дикой природе» мы также нашли схожие установщики со следующими SHA256 хешами: e2596f015378234d9308549f08bcdca8eadbf69e488355cddc9c2425f77b7535 и f21a9c69bfca6f0633ba1e669e5cf86bd8fc55b2529cd9b064ff9e2e129525e8.

Это изображение не так невинно, как может показаться на первый взгляд Это изображение не так невинно, как может показаться на первый взгляд

Злоумышленники использовать стеганографию для передачи шелл-кода своим жертвам. При выполнении бэкдор загружает файл растрового изображения с http: //download.google-images [.] Ml: 8880 / download / 37.bmp (переходите на свой страх и риск) с картинкой выше. 

При этом, загрузка выполняется немного необычно, с помощью двух HTTP-запросов. Первый запрос использует метод HEAD для получения Content-Length, после чего следует второй запрос GET для фактической загрузки изображения. После того, как изображение скачалось, бэкдор извлекает зашифрованные данные следующим образом. Ожидается, что скрытые данные будут иметь размер до 0×76C байт. Начиная с 3-го байта данных изображения, бэкдор копирует каждый 4-й байт. Результатом работы является ASCII строка шестнадцатеричных символов, которые затем переводятся в соответствующие двоичные значения. Получившиеся байты дешифруются XORом с помощью hardcoded ключа miat_mg, в результате создается Cobalt-Strike beacon.

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

В одной из версии была удалена расшифровка с помощью XOR, а в другой были убраны основные приёмы антианализа. На изображениях ниже отображены одинаковые rich header с разными временными отметками:

Дата: 26 февраля 2021 08:16:23

5c084b83edc7fb6406268fcf256fc29e.pngec05ec1526632f0e59ab01b9b8c53253.png

Дата: 1 марта 2021 08:56:04

83e57591bd033e0da468eecbdda14e21.png5f6973bbad0b93dd280767fa825ab303.png

Также во взломанном установщике мы обнаружили некоторый перечень основных методов антианализа, используемых в попытке избежать обнаружения. В частности, наблюдались следующие приёмы:

  • проверка количества используемых процессоров с помощью функции GetSystemInfo:

  • проверка объема используемой физической памяти с помощью функции GlobalMemoryStatusEx;

  • проверка емкости диска с помощью IOCTL вызова IOCTL_DISK_GET_DRIVE_GEOMETRY.

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

Методы антианализа Методы антианализа Проверка емкости дискаПроверка емкости диска

В одном образце для выполнения шелл-кода использовалась уже другая известная техника. Сначала шелл-код декодируется из списка UUID с помощью UuidFromStringA API, а затем выполняется с помощью EnumSystemLanguageGroupsA. 

Декодирование из UUID списка и выполнение шелл-кода

Декодирование из UUID списка и выполнение шелл-кода

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

Совпадение в VT Совпадение в VT

Мы проанализировали этот образец и заметили, что он очень похож на те установщики, что были обнаружены у наших клиентов. Найденный образец содержал схожие методы антианализа с использование XOR дешифрования, а также включал в себя аналогичные адреса С2 серверов, которые наблюдались в предыдущих взломанных установщиках. Помимо этого, в образце мы обнаружили упоминание вредоносной ссылки (hxxps://webplus-cn-hongkong-s-5faf81e0d937f14c9ddbe5a0.oss-cn-hongkong.aliyuncs[.]com/Silverlight_ins.exe) и путь к файлу C:\users\public\Silverlight_ins.exe, которые, по всей видимости, не использовались. Также нас привлекло необычное название этого образца — Browser_plugin (8).exe. Мы думаем, что это может быть тестовый образец, загруженный злоумышленником.

В Vt мы заметили ещё один хеш с таким же именем Browser_plugin.exe. Согласно VT, образец с данным хэшем был скачан отсюда hxxps://jquery-code.ml/Download/Browser_Plugin.exe. Данный образец загружал PDF файл из hxxp://37.61.205.212:8880/dow/Aili.pdf. В целом, он имеет такие же функции, как и ранее упомянутые образцы от VT.

Содержание Aili.pdfСодержание Aili.pdf

В нашей базе мы обнаружили аналогичный образец, но уже с названием Browser_plugin (1).exe, замеченный 4 февраля 2021 года. Он ничего не загружает, а только показывает MessageBox с C&C (Command and Control server) адресом.

Содержимое скомпрометированного веб-сервера

На взломанном сервере, откуда можно было скачать установщик с бэкдором, мы нашли ещё два исполняемых файла: DNS.exe и уже знакомый Browser_plugin.exe.

DNS.exe

Этот «экзешник» загружал bat-файл с C&C сервера, который сохранялся в формате C:\users\public\DNS.bat.  Файл содержал этот скрипт:

Скрипт DNS.bat Скрипт DNS.bat

Во второй части этого экземпляра содержались те же функции и адрес на C&C сервер, что и в не раз упомянутом установщике.

Browser_plugin.exe

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

Анализ C&C сервера

Мы проверили вредоносный сервер (hxxps://jquery-code.ml), с которого осуществлялась загрузка Browser_plugin.exe. Вредоносный сайт выглядит идентично легитимному https://code.jquery.com/, однако разница кроется в сертификате: сертификат официального сервера подписан Sectigo Limited, а вредоносного Cloudflare, Inc.

Сравнение сайтовСравнение сайтов

Заключение 

В этой статье были изложены наши выводы относительно клиента MonPass с бэкдором Cobalt Strike. В ходе исследования мы нашли дополнительные вариации на VirusTotal в дополнение к тем, что обнаружили на скомпрометированным сервере MonPass. Для расшифровки Cobalt Strike beacon использовалась стеганография.

Сейчас мы не можем определять эти атаки с должной степенью уверенности. Однако очевидно, что злоумышленники планировали распространить вредоносное ПО среди пользователей в Монголии, скомпрометировав надежный источник, кем в данном случае является центр сертификации MonPass в Монголии

Наиболее важным является тот факт, что любой пользователь, загрузивший клиент MonPass в период с 8 февраля по 3 марта, должен предпринять соответствующие шаги для поиска и удаления клиента и загруженного им бэкдора. 

Особую благодарность я хотел бы выразить Jan Rubín за помощь в проведении исследования.

Дата-центр ITSOFT — размещение и аренда серверов и стоек в двух дата-центрах в Москве. За последние годы UPTIME 100%. Размещение GPU-ферм и ASIC-майнеров, аренда GPU-серверов, лицензии связи, SSL-сертификаты, администрирование серверов и поддержка сайтов.

© Habrahabr.ru