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

Как украсть миллион ваших данных

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

Востребованность краденых данных подтверждается и статистикой: за первое полугодие 2019 года вредоносным ПО, предназначенным для сбора разнообразных данных, было атаковано более чем 940 тысяч наших пользователей. Для сравнения, за тот же период 2018 года было атаковано чуть менее 600 тысяч пользователей продуктов «Лаборатории Касперского». Речь о т. н. «троянцах-стилерах» или Password Stealing Ware (PSW); зловреды этого типа предназначены для кражи паролей, файлов и других данных с компьютера жертвы.

За последние полгода чаще всего мы детектировали подобное вредоносное ПО у пользователей из России, Индии, Бразилии, Германии и США.

Что воруют?

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

Объявление о продаже троянца-стилера

Наш опыт изучения этой угрозы говорит, что среднестатистический стилер может:

  • Собирать данные из браузеров:
    • Пароли
    • Данные автозаполнения
    • Платежные карты
    • Файлы cookies
  • Копировать файлы:
    • Все файлы из конкретной директории (Desktop, например)
    • Файлы, имеющие определенное расширение (.txt, .docx)
    • Файлы конкретных приложений (файлы криптокошельков, сессии мессенджеров)
  • Передавать данные о системе:
    • Имя, версия операционной системы
    • Имя пользователя
    • IP-адрес
    • И многое другое
  • Красть аккаунты из различных приложений (FTP-клиенты, VPN, RDP и другие)
  • Создавать снимки экрана
  • Загружать файлы из интернета

Самые многофункциональные экземпляры, например Azorult, собирают полноценный «слепок» компьютера жертвы и ее данных:

  • полная информация о системе (список установленных программ, запущенных процессов, имя пользователя, компьютера, версия системы);
  • технические характеристики «железа» (информация о видеокарте, центральном процессоре, подключенном мониторе);
  • сохраненные пароли, платежные карты, куки-файлы, история посещений с практически всех известных браузеров (более 30 штук);
  • пароли почтовых клиентов, FTP-клиентов, IM-клиентов;
  • файлы мессенджеров (Skype, Telegram);
  • файлы игрового клиента Steam;
  • файлы более 30 программ-криптокошельков;
  • снимок экрана;
  • произвольно заданные оператором файлы по «маске» (например, маска «%USERPROFILE%\Desktop\ *.txt,*.jpg,*.png,*.zip,*.rar,*.doc» означает, что нужно отправить с компьютера жертвы все файлы с рабочего стола, которые имеют указанные расширения).

На последнем пункте остановимся подробнее. Зачем собирать какие-то текстовые файлы или, тем более, все файлы с рабочего стола? Дело в том, что в этой папке обычно хранятся востребованные и актуальные для пользователя файлы. Среди них вполне может быть текстовый файл, содержащий пароли, которые должны быть всегда под рукой. Или, например, рабочие документы, содержащие конфиденциальные данные организации, в которой работает жертва.

Перечисленные выше возможности позволили Azorult стать одним из наиболее распространенных стилеров: этот троянец был обнаружен у более чем 25% пользователей, столкнувшихся с вредоносным ПО типа Trojan-PSW.

После покупки (или создания) зловреда злоумышленник приступает к его распространению. Чаще всего это происходит путем рассылки электронных писем с вредоносными вложениями (например, это могут быть офисные документы с вредоносными макросами, загружающими непосредственно троянца). Кроме того, стилеры могут распространяться с помощью ботнетов, когда те получают команду на загрузку и исполнение троянца-стилера.

Как крадут пароли из браузеров

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

Google Chrome и браузеры на основе Chromium

В браузерах, созданных на основе открытого исходного кода Chromium, сохраненные пароли защищены с помощью DPAPI (Data Protection API). При этом используется собственное хранилище браузера, выполненное в виде базы данных SQLite. Извлечь пароли из базы может только тот пользователь операционной системы, который их создал, а также только на том компьютере, на котором они были зашифрованы. Это обеспечивается особенностями реализации шифрования: ключ шифрования включает в себя в определенном виде информацию о компьютере и пользователе системы. Для обычного пользователя вне браузера и без специальных утилит эти данные недоступны.

Но все это не является препятствием для стилера, уже проникшего на компьютер: он запущен с правами этого самого пользователя, и в этом случае процесс получения всех сохраненных данных в браузере сводится к следующему:

  1. Получение файла базы данных. Chromium-браузеры хранят этот файл по стандартному и неизменному пути. Для того чтобы избежать проблем с доступом к нему (например, использование его в данный момент браузером), стилеры могут скопировать файл в другое место либо завершить все процессы браузера.
  2. Чтение зашифрованных данных. Как уже было сказано, браузеры используют БД SQLite, прочитать данные из нее можно стандартными инструментами.
  3. Расшифровка данных. Исходя из описанного выше принципа защиты данных, кража самого файла БД не поможет получить данные, т. к. их расшифровка должна проходить на компьютере пользователя. Но это не проблема: расшифровка осуществляется прямо на компьютере жертвы вызовом функции CryptUnprotectData. Никаких дополнительных данных злоумышленнику не нужно — все сделает DPAPI, так как вызов был сделан от имени пользователя системы. В результате функция возвращает пароли в «чистом», читабельном виде.

Пример кода троянца-стилера Arkei, расшифровка данных, полученных из Chromium-браузера

Все! Сохраненные пароли, данные банковских карт, история посещений — все это получено и готово к отправке на сервер злоумышленника.

Firefox и браузеры на его основе

В браузерах на основе Firefox шифрование паролей происходит не совсем так, как в Chromium, но для стилера процесс их получения все так же прост.

В Firefox-браузерах для шифрования используется Network Security Services — набор библиотек от Mozilla для разработки защищенных приложений, в частности библиотека nss3.dll.

Как и в случае с браузерами на базе Chromium, получение данных из зашифрованного хранилища сводится к тем же простым действиям, но с некоторыми оговорками:

  1. Получение файла базы данных. Firefox-браузеры, в отличие от браузеров на базе Chromium, используют генерацию случайного имени профиля пользователя, что делает расположение файла с зашифрованными данными не определяемым заранее. Однако в силу того, что злоумышленник знает путь до папок с профилями пользователей, ему не составит труда перебрать их, «заглядывая» внутрь и проверяя на наличие файла с определенным именем (имя файла с зашифрованными данными, наоборот, не зависит от пользователя и всегда одинаково). При этом данные могут остаться, даже если пользователь удалил браузер, чем и пользуются некоторые стилеры (например, KPOT).
  2. Чтение зашифрованных данных. Данные могут храниться либо так же, как в Chromium, в формате SQLite, либо в виде JSON с полями, содержащими зашифрованные данные.
  3. Расшифровка данных. Для расшифровки данных стилеру необходимо подгрузить библиотеку nss3.dll, а затем вызвать несколько функций и получить расшифрованные данные в читаемом виде. Некоторые стилеры имеют функции работы напрямую с файлами браузера, что позволяет не зависеть от этой библиотеки и работать даже при удаленном браузере. Однако стоит отметить, что если пользователь воспользовался функцией защиты данных с помощью главного пароля, расшифровка без знания (или подбора) этого пароля невозможна. К сожалению, эта функция по умолчанию отключена, а для ее включения придется забраться глубоко в меню настроек.

Пример кода троянца-стилера Orion, расшифровка данных браузера на базе Firefox

И снова все! Данные готовы к отправке злоумышленнику.

Internet Explorer и Microsoft Edge

В версиях Internet Explorer 4.x–6.0 сохраненные пароли и данные автозаполнения хранились в так называемом Protected Storage. Для их получения (не только данных IE, но и других приложений, которые используют это хранилище) стилеру необходимо подгрузить библиотеку pstorec.dll и простым перечислением получить все данные в открытом виде.

В версиях 7 и 8 браузера Internet Explorer применяется несколько другой подход: для хранения используется Credential Store, шифрование осуществляется с использованием «соли». К сожалению, эта «соль» одинакова и хорошо известна, а потому стилер может также вызовом уже знакомой нам функции CryptUnprotectData получить все сохраненные пароли.

Internet Explorer 9 и Microsoft Edge используют новый тип хранилища — Vault. Но и оно не обещает ничего нового с точки зрения получения данных: стилер подгружает vaultcli.dll, вызывает несколько функций оттуда и получает все сохраненные данные.

Таким образом, даже череда изменений способа хранения данных не спасает от чтения данных стилерами.

Несколько фактов

Заимствование/переиспользование кода

Анализируя экземпляры новых семейств стилеров, что активно рекламируются вирусописателями на специализированных форумах, мы постоянно встречали уже знакомый код, который видели в экземплярах других семейств. Это может быть связано с тем, что у некоторых стилеров один и тот же автор, который закрыл один проект и развивает на его базе другой. Например, Arkei и Nocturnal разрабатываются одним автором, как указывают их продавцы.

Сравнение Arkei и Nocturnal

Другая причина такой схожести может быть в заимствовании кода. Исходный код Arkei продавался автором на тех же форумах, и, возможно, стал основой для другого стилера, Vidar. Эти троянцы имеют много общего, от особенностей сбора информации и формата получаемых команд до структуры отправляемых на командный центр данных.

Структура данных, отправляемых на командный центр: Arkei и Vidar

Узкие специалисты востребованы

Несмотря на обилие многофункциональных стилеров, троянцы, предназначенные для кражи конкретной информации, имеют определенный спрос. Так, например, зловред Trojan-PSW.MSIL.Cordis предназначен исключительно для кражи данных сессии популярного у геймеров мессенджера Discord. Исходный код этого троянца исключительно прост и заключается в поиске и отправке на командный центр одного-единственного файла.

Пример кода Cordis

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

Использование различных языков программирования

Несмотря на то, что большинство известных троянцев-стилеров написаны на популярных языках программирования C/C++ или C#, периодически встречаются экземпляры, написанные на менее популярных языках, например Golang. Один из таких троянцев детектируется продуктами «Лаборатории Касперского» как Trojan-PSW.Win32.Gox. Среди его возможностей можно выделить кражу сохраненных паролей, платежных карт из Chromium-based браузеров, файлов программ-кошельков для криптовалюты и файлов Telegram.

Заключение

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

Популярность вредоносных программ, которые охотятся за данными браузеров, не спадает. Существующие троянцы-стилеры активно поддерживаются, обновляются и дополняются новыми функциями (например, появляются возможности кражи данных приложений для двухфакторной аутентификации, которые генерируют одноразовые коды доступа).

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

Как украсть миллион ваших данных

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

 

Отчеты

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

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

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

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

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

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

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

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