[Перевод] Бэкдор от монгольского центра сертификации CA MonPass
Мы обнаружили загружаемый с официального сайта 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
Технические подробности
Вредоносный установщик представляет из себя неподписанный 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
Дата: 1 марта 2021 08:56:04
Также во взломанном установщике мы обнаружили некоторый перечень основных методов антианализа, используемых в попытке избежать обнаружения. В частности, наблюдались следующие приёмы:
проверка количества используемых процессоров с помощью функции GetSystemInfo:
проверка объема используемой физической памяти с помощью функции GlobalMemoryStatusEx;
проверка емкости диска с помощью IOCTL вызова IOCTL_DISK_GET_DRIVE_GEOMETRY.
В случае, если какое-либо из полученных значений оказывалось подозрительно низким, то вредоносная программа немедленно прекращала работу.
Методы антианализа Проверка емкости дискаВ одном образце для выполнения шелл-кода использовалась уже другая известная техника. Сначала шелл-код декодируется из списка UUID с помощью UuidFromStringA API, а затем выполняется с помощью EnumSystemLanguageGroupsA.
Декодирование из UUID списка и выполнение шелл-кода
После того, как мы нашли у одного из наших клиентов взломанный установщик, мы начали дополнительный поиск образцов кода в 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.
В нашей базе мы обнаружили аналогичный образец, но уже с названием 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
. Файл содержал этот скрипт:
Во второй части этого экземпляра содержались те же функции и адрес на 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-сертификаты, администрирование серверов и поддержка сайтов.