Исследование

OnionPoison: зараженный установщик Tor распространяется через популярный канал YouTube

Во время рутинного поиска угроз мы обнаружили множество скачиваний вредоносного установщика браузера Tor, которые ранее не исследовали и не объединяли в кластер. По данным нашей телеметрии, все жертвы, скачавшие вредоносное ПО, находились в Китае. Так как браузер Tor запрещен в Китае, пользователи из этой страны часто используют сторонние веб-сайты для загрузки установочных файлов. В нашем случае ссылка на вредоносный установочный пакет Tor была опубликована на популярном китайскоязычном канале YouTube, посвященном анонимности в интернете. У этого канала более 180 000 подписчиков, а количество просмотров видео с вредоносной ссылкой превышает 64 000. Ролик был опубликован в январе 2022 года, а первые жертвы кампании начали отображаться в телеметрии в марте 2022 года.

Вредоносная версия Tor обеспечивает меньшую приватность, чем оригинальная. В отличие от легитимного, зараженный браузер сохраняет историю посещения веб-сайтов и данные, вводимые в формы. Но еще важнее то, что одна из библиотек в пакете заражена шпионским ПО, которое собирает персональные данные пользователей и отправляет их на командный сервер. Кроме того, шпионская программа предоставляет злоумышленникам контроль над зараженным компьютером, позволяя выполнять shell-команды.

Мы решили назвать эту кампанию OnionPoison в честь технологии луковой маршрутизации (onion routing), которая используется в браузере Tor.

Скриншот видео со ссылкой на установщик вредоносного браузера Tor в описании

Скриншот видео со ссылкой на установщик вредоносного браузера Tor в описании

Первичное заражение

Вероятно, жертвы кампании OnionPoison нашли видео с вредоносной ссылкой через поиск в YouTube. Оно появляется в первой строке поисковой выдачи по запросу «Tor浏览器» («браузер Tor» на китайском языке). Описание этого видео содержит две ссылки: одна для перехода на официальный сайт Tor, а другая — для скачивания вредоносного установочного пакета, размещенного в китайском облачном файлообменнике. Так как оригинальный Tor запрещен в Китае, пользователям, просмотревшим видео, приходится переходить в облачный сервис, чтобы скачать браузер.

Страница загрузки вредоносного установщика браузера Tor

Страница загрузки вредоносного установщика браузера Tor

Вредоносный установщик

MD5 9AABCABABD5B677813589F7154302EE0
SHA1 7E8B9D2BD32B3AEA0E298B509D3357D4155AF9BC
SHA256 877FE96CDFA6F742E538396B9A4EDB76DD269984BFB41CAD5D545E72CE28FFDE
Время компоновки 25.09.2019, 21:56:47
Тип файла PE32+ executable (GUI) x86-64, for MS Windows
Компилятор Visual Studio 2003 — 7.10 SDK
Размер файла 74 МБ
Имя файла torbrowser-install-win64-11.0.3_zh-cn.exe

Пользовательский интерфейс вредоносного установщика Tor идентичен оригинальному. Однако вредоносный двойник не имеет цифровой подписи, и некоторые файлы в нем отличаются от тех, что входят в оригинальный установщик:

Имя файла Комментарий
freebl3.dll Файл freebl3.dll присутствует и в оригинальном установочном пакете браузера Tor, но во вредоносном ПО его содержимое полностью отличается от оригинального.
freebl.dll Файл с таким именем можно найти только во вредоносной версии. Это копия файла freebl3.dll из оригинального установочного пакета.
firefox.exe Исполняемый файл в зараженном установочном пакете отличается от оригинального только одним байтом: зараженный файл содержит строку https://aus1.torproject.org/torbrowser/update3/%CHANNEL%/%BUILD, а в оригинальном ему соответствует строка https://aus1.torproject.org/torbrowser/update_3/%CHANNEL%/%BUILD. Замена нижнего подчеркивания на дефис — способ избежать обновления установленного вредоносного Tor. Это нужно, по всей видимости, чтобы не допустить перезаписи модифицированной библиотеки freebl3.dll.

Интересно также то, что вредоносный браузер Tor обеспечивает меньше приватности, чем оригинальный. Изменив конфигурационный файл Tor \defaults\preferences\000-tor-browser.js, хранящийся в каталоге browser\omni.ja, злоумышленники настроили его:

  • сохранять историю браузера;
  • поддерживать кэширование страниц;
  • автоматически заполнять формы и запоминать данные для входа;
  • сохранять дополнительные данные сеансов для веб-сайтов.

Фрагменты модифицированного (слева) и оригинального (справа) файла 000-tor-browser.js

Фрагменты модифицированного (слева) и оригинального (справа) файла 000-tor-browser.js

Библиотека freebl3.dll

MD5 87E33DF76D70103A660783C02AAC44AC
SHA1 04C5A6543E61328B235339358D2E48C0002F0E46
SHA256 3BA945FD2C123FEC74EFDEA042DDAB4EB697677C600F83C87E07F895FB1B55E2
Время компоновки 21.12.2021, 9:44:08
Тип файла PE32+ executable (DLL) (GUI) x86-64, for MS Windows
Компилятор Visual Studio 2010 — 10.10 SP1
Размер файла 114 КБ
Имя файла freebl3.dll

Запущенный браузер Tor (как оригинальный, так и зараженный) подгружает библиотеку freebl3.dll в адресное пространство процесса firefox.exe. В зараженном браузере она заменена на вредоносную. Чтобы обеспечить правильную работу Tor, эта вредоносная библиотека перенаправляет все свои экспортируемые функции библиотеке freebl.dll (копия оригинальной библиотеки freebl3.dll).

Перенаправление экспортируемых функций вредоносной библиотеки freebl3.dll

Перенаправление экспортируемых функций вредоносной библиотеки freebl3.dll

После запуска вредоносная библиотека создает мьютекс Global\TBrowser, который не дает двум экземплярам зловреда запускаться одновременно. Затем она псевдослучайным образом выбирает один из приведенных ниже URL-адресов командных серверов и отправляет на него POST-запрос:

  • https://torbrowser.io/metrics/geoip
  • https://tor-browser.io/metrics/geoip

POST-запрос на командный сервер содержит следующие заголовки:

Имя заголовка Данные заголовка
Date Текущие дата и время в формате GMT (например, Mon, 10 Aug 2022 11:21:55 GMT)
User-Agent Значение User-Agent по умолчанию, полученное с помощью API-функции ObtainUserAgentString.
Host Адрес командного сервера
Authorization Содержит подпись HMAC-SHA1 данных запроса. Например, в заголовке Authorization: SIGN QbqCdtmBBk3uH2Zj:gNe34o6RkQ/Hn82bRPSk7q1DO8w= значение QbqCdtmBBk3uH2Zj — идентификатор ключа HMAC, а gNe34o6RkQ/Hn82bRPSk7q1DO8w= — хеш HMAC-SHA1, закодированный по методу Base64. Хеш формируется из строки, содержащей следующие данные:

  • метод запроса (POST);
  • хеш MD5 тела запроса (в данном случае пустого);
  • текущие дата и время;
  • URL-адрес, связанный с запросом (в данном случае /metrics/geoip).

В ответе на POST-запрос командный сервер возвращает блок данных с зашифрованной полезной нагрузкой второго этапа. Полезная нагрузка расшифровывается с помощью двух XOR-ключей: первый выводится из длины полезной нагрузки, а второй задан сразу — D65CB35A-58CB-4456-A7B7-E1B218770A9E. Далее вредоносная DLL-библиотека распаковывает расшифрованный блок данных с помощью функции RtlDecompressBuffer и получает еще один DLL-файл. Затем зловред рефлексивно загружает этот DLL-файл и вызывает функцию точки входа.

Получение DLL-файла с командного сервера

Во время исследования мы попытались связаться с командным сервером и получить DLL-файл второго этапа. Однако сервер не выдал файл в ответ на наш первый POST-запрос. Путем проб и ошибок мы выяснили, что командный сервер проверяет IP-адрес зараженного компьютера и отправляет полезную нагрузку только жертвам, находящимся в Китае. Отправив POST-запрос с компьютера с китайским IP-адресом, мы успешно загрузили DLL второго этапа. Поэтому мы можем утверждать, что кампания OnionPoison направлена на пользователей из Китая. Следует также отметить, что проверка IP-адреса затрудняет получение полезной нагрузки второго этапа с помощью автоматизированных песочниц для анализа вредоносного ПО.

DLL второго этапа

MD5 34C43C9B23B40D9D70B4530DE781F88A
SHA1 3EBF1E989791E3743CEAC1C7B397242DD717AEA9
SHA256 E5CC91FBE01005EF058B1C1D727CFBFB584B012390106BB9C941BC9B1AA96FF7
Время компоновки 16.02.2022, 9:56:56
Тип файла PE32+ executable (DLL) (GUI) x86-64, for MS Windows
Компилятор Visual Studio 2010 — 10.10 SP1
Размер файла 788 КБ
Имя файла cloud.dll

После загрузки DLL-библиотека второго этапа собирает следующую информацию о системе:

  • GUID дискового тома операционной системы;
  • GUID компьютера;
  • имя компьютера;
  • региональные настройки компьютера;
  • имя текущего пользователя;
  • MAC-адреса сетевых карт.

После первого запуска на зараженной машине DLL генерирует псевдослучайный GUID жертвы и сохраняет его в параметре SoftGuid раздела реестра HKCU\SOFTWARE\Mozilla\Firefox.

После сбора информации о системе DLL начинает отправлять сигнальные сообщения командному серверу каждые две минуты. Тело каждого сигнального сообщения содержит JSON-объект с собранной информацией. Сигнальные сообщения отправляются в виде POST-запросов по адресу https://torbrowser.io/metrics/heartbeat либо https://tor-browser.io/metrics/heartbeat. Тело запроса DLL зашифровывает с помощью псевдослучайного ключа по алгоритму AES-128 (ECB), который затем зашифровывает с помощью открытого ключа RSA, указанного в конфигурации.

В ответ на сигнальные сообщения командный сервер может запросить следующую дополнительную информацию:

  • установленное программное обеспечение;
  • запущенные процессы;
  • история браузера Tor;
  • история браузеров Google Chrome и Edge;
  • идентификаторы учетных записей WeChat и QQ, принадлежащих жертве;
  • SSID и MAC-адреса сетей Wi-Fi, к которым подключены жертвы.

Собранная дополнительная информация отправляется на командный сервер вместе со следующим сигнальным сообщением.

Помимо этого, командный сервер может запросить выполнение произвольной shell-команды на зараженном компьютере. Для этого DLL создает новый процесс cmd.exe, передавая в него команду как аргумент. Вывод процесса интерпретатора командной строки перенаправляется в канал, который позже используется для получения результатов выполнения команды. Результаты выполненной shell-команды зашифровываются (с использованием комбинации симметричного и асимметричного шифров) и отправляются в POST-запросе на командный сервер по одному из URL-адресов: https://torbrowser.io/metrics/geoip либо https://tor-browser.io/metrics/geoip.

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

Скриншот страницы torbrowser[.]io

Скриншот страницы torbrowser[.]io

Жертвы

Согласно нашей телеметрии, все обнаруженные цели OnionPoison находятся на территории Китая. Этого следовало ожидать — выше мы уже говорили, что командный сервер проверяет, находится ли внешний IP-адрес компьютера жертвы в Китае.

Выводы

В этой кампании злоумышленники предлагают жертвам доступ к средствам анонимизации в качестве приманки. Размещенная на популярном YouTube-канале ссылка на загрузчик вредоносной версии браузера Tor вызывала доверие у жертв. Интересно, что, в отличие от большинства стилеров, модули OnionPoison не занимаются автоматическим сбором паролей, cookie-файлов или данных кошельков пользователей. Вместо этого они похищают данные, которые позволяют узнать многое о личности жертвы: историю браузера, идентификаторы учетных записей в социальных сетях и данные сетей Wi-Fi. Злоумышленники могут искать в собранной истории браузеров признаки незаконной деятельности, связываться с жертвами через социальные сети и угрожать сообщить властям. В прошлом мы уже наблюдали, как правоохранительные органы, например ФБР США, использовали уязвимости нулевого дня, чтобы раскрывать личности пользователей Tor, посещающих в теневом интернете веб-сайты, связанные с педофилией. Еще один похожий случай был связан с распространением вредоносной программы OnionDuke через инъекции в незашифрованные HTTP-соединения на выходных узлах TOR.

Какие бы мотивы ни стояли за атаками, лучший способ избежать заражения имплантами OnionPoison — загружать программное обеспечение только с официальных веб-сайтов. Если использовать такие веб-сайты невозможно, то следует проверять цифровые подписи установочных пакетов, загруженных из сторонних источников. Легитимный установщик должен иметь действительную подпись, а название компании в сертификате должно совпадать с названием разработчика программы.

OnionPoison: зараженный установщик Tor распространяется через популярный канал YouTube

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике