Вредоносная реклама — один из популярных способов привлечь пользователей на сайт злоумышленников: рекламный блок находится в самом начале поисковой выдачи, и вероятность того, что ссылку откроют, велика. Кроме того, сайты на верхних строчках поисковой выдачи вызывают больше доверия у пользователя. Годом ранее наши эксперты рассказывали про вредоносную рекламную кампанию, доставлявшую стилер RedLine через Google Ads. Используя тайпсквоттинг и другие техники, злоумышленники пытались сделать свои ресурсы как можно более похожими на официальные сайты популярных программ.
В этот раз аналогичная угроза коснулась пользователей одной из наиболее популярных поисковых систем китайского сегмента интернета. Мы обнаружили два связанных между собой случая, когда в этой системе распространялись измененные версии популярных текстовых редакторов: в первом случае вредоносный ресурс появлялся в рекламной строке, во втором — на первом месте в поисковой выдаче. На данный момент мы не смогли установить все подробности угрозы, поэтому этот материал может быть дополнен позднее.
Вредоносные сайты в поисковой выдаче
На скриншотах ниже представлены два запроса, в ответ на которые поисковая система выдает вредоносные ссылки:
Сайт, который находится по запросу «notepad++«, распространяется через рекламный блок. Открыв его, внимательный пользователь сразу заметит забавное несоответствие: адрес сайта содержит строку vnote, но заголовок говорит о том, что с него можно загрузить Notepad‐‐ (аналог Notepad++, также распространяемый в виде открытого исходного кода), а на изображении красуется надпись «Notepad++«. В действительности загружаемые отсюда пакеты содержат Notepad‐‐.
Несмотря на то что сайт предлагает загрузить установщики для трех популярных платформ (Windows, Linux, macOS), вредоносная нагрузка содержится только в двух: для macOS и Linux. Ссылка на Windows-версию ведет на официальный репозиторий и не является вредоносной:
На скриншоте видно, что источником вредоносных установочных пакетов является ресурс vnote-1321786806[.]cos[.]ap-hongkong[.]myqcloud[.]com.
Вторая страница, которая находится по запросу «vnote», в свою очередь, старается имитировать официальный веб-сайт программы:
К сожалению, на момент исследования ссылки на потенциально вредоносные версии VNote уже не работали, однако они ведут на тот же ресурс, что и ссылки на скачивание Notepad‐‐:
Текстовый редактор с вредоносной нагрузкой
Так как у нас есть образцы Notepad‐‐ для Linux и macOS, мы можем рассмотреть их поближе.
Скачиваемые приложения имеют несколько отличий от оригинальных версий, причем Linux- и macOS-версии вредоносных приложений схожи по функциональности. Далее мы будем рассматривать версию для macOS (MD5: 00fb77b83b8ab13461ea9dd27073f54f). Она представляет собой образ диска в формате DMG, чье содержимое идентично оригинальному (версия 2.0.0), за исключением самого исполняемого файла с именем NotePad‐‐ (MD5: 6ace1e014863eee67ab1d2d17a33d146).
Изучив в нем содержимое функции main, мы обнаружили, что прямо перед запуском приложения происходит инициализация подозрительного класса Uplocal, который отсутствует в исходном коде оригинального Notepad‐‐:
Этот класс реализует всего один метод с именем run. Его назначение заключается в том, чтобы выполнить загрузку файла по пути /tmp/updater и запустить:
Загрузка файла осуществляется с адреса hxxp://update[.]transferusee[.]com/onl/mac/<md5_hash>, где в качестве <md5_hash> выступает MD5-хэш от серийного номера устройства, получаемого в функции GetComputerUUID при помощи выполнения следующей bash-команды:
1 |
ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformSerialNumber/ { print $3; }' |
Версия для Linux немного отличается:
- Файл загружается с того же адреса, но расположен он в директории /onl/lnx/: hxxp://update[.]transferusee[.]com/onl/lnx/<device_uuid>
- <md5_hash> представляет собой MD5-хэш от MAC-адреса устройства:
К сожалению, на момент исследования загружаемый файл на сервере уже отсутствовал, и узнать, что там должно было находиться, мы не смогли.
Однако мы точно знаем, что у этого сервера есть еще один поддомен: dns[.]transferusee[.]com, и к нему обращается Mach-O-файл с именем DPysMac64 (MD5: 43447f4c2499b1ad258371adff4f503f), загруженный ранее на VT и не обнаруженный ни одним вендором на момент исследования:
Более того, этот файл хранится все на том же сервере, с которого должен был скачиваться загадочный updater:
Отсюда можно сделать предположение: с высокой долей вероятности updater — это промежуточный этап, который должен в конечном счете привести к загрузке DPysMac64. На сервере также хранится файл с именем DPysMacM1, имя которого подразумевает, что он собран для систем под управлением процессоров Apple Silicon, однако на деле это тот же самый файл, что и DPysMac64.Приложение представляет собой бэкдор, сильно схожий с так называемым Geacon — реализацией агента CobaltStrike с открытым исходным кодом, написанной на Go. Хотя злоумышленники убрали прямое упоминание Geacon из своего проекта, мы обнаружили большое количество совпадений строк, имен и фрагментов кода функций и модулей с реализациями geacon_plus, geacon_pro и BeaconTool. Например, у них практически полностью совпадают модули sysinfo, есть функции FirstBlood, EncryptedMetaInfo, PullCommand и так далее:
Бэкдор имеет два варианта запуска — обычный и в качестве службы. Общение с C2-сервером dns[.]transferusee[.]com осуществляется по протоколу HTTPS. Интересно, что злоумышленники назвали проект, реализующий функциональность выполнения удаленных команд, именем spacex:
Бэкдор содержит следующий перечень команд:
Код | Название | Назначение |
25 | CmdSSH | Создание SSH-подключения |
27 | Spawn | Запуск нового агента |
32 | CmdExit | Завершение работы |
34 | SetSleep | Переход в режим сна |
1010 | Screenshot | Снятие скриншота |
1020 | ProcessList | Получение списка процессов |
1021 | ProcessKill | Завершение процесса |
1030 | PortScan | Сканирование портов |
1031 | Install | Добавление себя в список служб |
1032 | UnInstall | Удаление себя из списка служб |
1040 | CmdHashdump | Получение имени компьютера |
1044 | CmdClipboard | Чтение содержимого буфера обмена |
1050 | FileBrowse | Получение списка файлов в директории |
1051 | FileDrives | Получение списка дисков |
1052 | FileMakeDir | Создание директории |
1056 | FileUpload | Выгрузка файла на сервер |
1057 | FileExecute | Запуск файла |
1060 | FileDownload | Загрузка файла с сервера |
Связь между зараженными приложениями
Хотя мы не знаем наверняка, что за файлы раньше скачивались с vnote[.]info, нам удалось выяснить, что источники, с которых раздавались приложения на обоих сайтах, совпадают. Стоит также упомянуть еще одну интересную деталь, всплывшую совершенно случайно в процессе изучения измененного NotePad‐‐. В строках исполняемого файла мы обнаружили текст, напоминающий окно About, однако вместо ссылки на официальный сайт проекта в нем содержалась ссылка на подозрительный ресурс vnotepad[.]com. Ниже представлен скриншот окна About в пользовательском интерфейсе программы:
Переход по ссылке привел нас на следующую страницу-заглушку:
Нам это показалось странным, поэтому мы попробовали заменить протокол подключения с HTTP на HTTPS, благодаря чему обнаружили, что этот сайт — еще одна копия сайта VNote, похожая на ту, которую мы видели на vnote[.]info. Более того, при открытии этого сайта браузер предупредил нас о том, что используемый им сертификат недействителен, так как выписан для vnote[.]info:
Это говорит о безусловной связи описанных случаев, а также о том, что с высокой долей вероятности назначение модифицированных редакторов VNote схоже с рассмотренным Notepad‐‐ и заключается в доставке следующего этапа заражения.
Заключение
Мы продолжаем исследование описанной выше угрозы и находимся в поисках промежуточных этапов, которые на данный момент обнаружить не удалось. Тем не менее мы смогли установить, что изменения в приложениях для Linux и macOS идентичны, а значит, есть вероятность, что существует также бэкдор для Linux, возможно, схожий с обнаруженным нами бэкдором для macOS.
Индикаторы компрометации
Файлы:
MD5 | Тип файла | Имя файла |
43447f4c2499b1ad258371adff4f503f | Mach-O 64-bit | DPysMac64 |
00fb77b83b8ab13461ea9dd27073f54f | DMG | Notepad‐‐v2.0.0-mac_x64_12.3.dmg |
5ece6281d57f16d6ae773a16f83568db | AppImage | Notepad‐‐-x86_64.AppImage |
6ace1e014863eee67ab1d2d17a33d146 | Mach-O 64-bit | NotePad‐‐ |
47c9fec1a949e160937dd9f9457ec689 | ELF 64-bit | NotePad‐‐ |
Ссылки:
Что в блокноте? Зараженные текстовые редакторы атакуют китайских пользователей