На следующем этапе вредоносное приложение попадает к распространителям, которые «раздают» его пользователям на тех или иных условиях, заранее согласованных с разработчиками. Иногда вирусописатели просто покупают у владельцев ботнетов, состоящих из инфицированных троянцами-загрузчиками компьютеров, какое-то количество установок вредоносной программы на ПК жертв, иногда приобретают наборы эксплойтов и доступ к некоторому количеству взломанных веб-сайтов, после чего занимаются распространением сами. В этом случае очевидно, что взломом интернет-ресурсов, поиском уязвимостей и разработкой эксплойтов занимаются отдельные группы киберпреступников. Иногда команда разработчиков просто «сдает» своего троянца «в аренду», размещая на подпольных форумах соответствующие объявления и предлагая потенциальным партнерам различные условия — либо фиксированную помесячную оплату за эксплуатацию созданной ими вредоносной программы, либо процент от прибыли, если им принадлежит управляющий сервер с функцией биллинга. Например, подобным образом распространяются некоторые троняцы-шифровальщики: их создатели предлагают распространителям саму программу и доступ к управляющему серверу, на котором жертвы энкодера могут получить ключ для расшифровки файлов, оплатив выкуп. Прибыль делится между разработчиками и распространителями троянца.
Наконец, если вредоносная программа предназначена, например, для сбора конфиденциальной информации и шпионажа, полученные с ее помощью данные также нередко выставляются на продажу на подпольных форумах, и ею пользуются в своих целях другие злоумышленники. Так, кардеры приобретают дампы и реквизиты банковских карт с тем, чтобы впоследствии обналичить их или приобрести на них какой-либо товар и реализовать его через подставных лиц (так называемых дропов). Мошенники охотно покупают логины и пароли для доступа к учетным записям в социальных сетях, спамеры — базы действующих адресов электронной почты и т. д. Отдельные личности и группы разрабатывают поддельные веб-страницы, которые могут впоследствии использоваться для фишинга, а также их отдельные элементы, применяющиеся для осуществления веб-инжектов: весь этот «товар» охотно покупают вирусописатели и владельцы бот-сетей.
Иными словами, современный киберпреступный мир весьма неоднороден, роли в нем тщательно распределены, а подпольные форумы напоминают порой огромный восточный базар, где все продается и покупается.
Как вычислить вирусописателя?
С одной стороны, поймать сетевого злоумышленника или вычислить вирусописателя — задача не из самых простых, поскольку Интернет в сочетании с различными средствами обеспечения анонимности предоставляет в распоряжение киберпреступников весьма защищенную среду, в которой они чувствуют себя как рыба в темном омуте. С другой стороны, это ощущение полной анонимности и вседозволенности порой и подводит сетевых злодеев, заставляя их терять бдительность и оставлять следы, по которым их могут впоследствии вычислить специалисты по информационной безопасности. Существует отдельная дисциплина — форензика, — являющаяся подразделом криминалистики и занимающаяся изучением различных аспектов при проведении расследований киберпреступлений и всевозможных инцидентов в сфере информационной безопасности. Но иногда имеется возможность вычислить злоумышленника и без всякой форензики.
Так, известен случай, когда один из администраторов ботнета хранил на том же узле, где он разместил управляющий сервер своей бот-сети, личные фотографии из серии «я и моя девушка у меня дома». Снимки были выполнены с использованием смартфона Apple iPhone, который, как известно, вместе с изображением автоматически сохраняет данные о времени и географической точке, в которой был получен снимок. Вычислить злоумышленника при таких обстоятельствах не составило особого труда.
В другой подобной ситуации киберпреступник оказался более умен и не хранил на управляющем сервере какую-либо компрометирующую его информацию. Вместо этого он разместил среди обслуживающего ботнет программного обеспечения скрипт на языке PHP, через определенные промежутки времени сбрасывавший статистику по работе бот-сети СМС-сообщением на определенный номер мобильного телефона. Сим-карту, к которой был привязан этот номер, злоумышленник предусмотрительно приобрел с рук, и потому был уверен, что вычислить его персональные данные с ее помощью невозможно. Однако специалистам по информационной безопасности оказалось достаточно всего лишь «погуглить» данный телефонный номер, чтобы найти в сети несколько десятков объявлений по купле-продаже различных предметов и личных вещей, в которых нынешний владелец номера оставлял его в качестве контактного. Одним из таких объявлений оказалось сообщение о продаже автомобиля, содержащее фотографию, где был прекрасно виден государственный регистрационный знак с номером авто. Остальное было делом техники.
А вот еще один практический случай, позволивший аналитикам косвенным образом определить авторов одной из опасных вредоносных программ. В апреле 2014 года специалисты антивирусной компании «Доктор Веб» завершили исследование сложного многокомпонентного троянца BackDoor.Gootkit.112, о чем опубликовали на корпоративном сайте весьма подробный отчет. Из него, в частности, можно почерпнуть следующее. Основная полезная нагрузка бэкдора реализована в виде исполняемого файла объемом около 5 Мбайт, базовая часть которого представляет собой интерпретатор языка JavaScript под названием Node.JS, создающего удобный интерфейс для работы с различными встроенными объектами. В архитектуре этого троянца был реализован редко применяемый злоумышленниками метод внедрения вредоносного кода в процессы запущенных приложений (инжектов). Аналогичный метод ранее был подробно описан на одном из интернет-форумов пользователем, скрывающимся под псевдонимом Great. В опубликованной им статье приведены примеры кода, использующего характерные статусы возврата – в точности такие же статусы обнаруживаются и в коде BackDoor.Gootkit.112. Можно предположить, что вирусописатель в процессе создания бэкдора просто-напросто позаимствовал готовое решение из открытых источников, однако здесь внимание аналитиков привлекло еще одно обстоятельство. В примерах кода, опубликованного на форуме wasm.ru, в одну из функций передается структура с уникальным именем DRIVER_TO_SHELLCODE_PARAMETERS. Структура с таким же в точности именем встречается в материале, опубликованном в личном блоге другого автора, описывающего данную технологию инжектов. При этом в указанной статье прямо сообщается, что этот код является собственной разработкой автора блога, созданной им совместно с другим программистом по имени Илья, также известным под ником Great.
В этом же блоге автор сообщает о своей искренней приверженности фреймворку Node.JS, возможности которого активно используются в коде троянца BackDoor.Gootkit.112. Так, автор опубликовал на своем сайте несколько весьма любопытных статей, содержащих практические примеры реализации кода, одна из которых называется «NodeJS\C++: Нативное расширение для реестра» — в ней описываются методы работы с ветвью системного реестра Windows, имеющей характерное имя SOFTWARE\CXS. В другой своей статье, озаглавленной «NodeJS: Spyware на Javascript?» владелец блога повествует об архитектуре специального шпионского модуля SpywareModule, все методы в котором имеют характерный префикс «sp». Удивительно, но факт: аналогичные структуры в практически неизменном виде встречаются в дизассемблированном коде BackDoor.Gootkit.112. Как любил говорить один популярный телеведущий: «Совпадение? Не думаю».
Безусловно, размещение в Интернете статей, подробно раскрывающих некоторые технические аспекты работы вредоносных программ, само по себе еще ни о чем не говорит, однако определенные сомнения специалистов, расследующих подобные вирусозависимые инциденты, в некоторых случаях может развеять сравнение даты компиляции исполняемого файла изучаемого троняца и даты публикации текста, описывающего его внутреннюю архитектуру, известную только разработчику.
Рис. 15. Пример того, как простая публикация в блоге может навлечь на автора подозрения в вирусописательстве
А вот еще пример, связанный с распространением вредоносной программы Trojan.BtcMine.218, предназначенной для скрытной добычи (майнинга) криптовалют. Этот троянец, обнаруженный специалистами антивирусной компании «Доктор Веб», устанавливался на компьютер жертвы с помощью дроппера, написанного на языке AutoIt. При этом дроппер содержал в своей структуре следующую характерную строку:
FILEINSTALL(“C:\Users\Antonio\Desktop\Glue\Install.exe”, @ TEMPDIR & “\Setup_2.exe”)
Из этой строки становится очевидно, что некий вирусописатель, имеющей на своем компьютере, работающем под управлением Windows, учетную запись пользователя с именем Antonio, собрал на Рабочем столе своего ПК дроппер в виде файла Install.exe. Это приложение запускает на компьютере жертвы загрузчик, который, используя специальный конфигурационный файл в формате XML, скачивает из Интернета и устанавливает на атакуемую машину добытчик криптовалюты. В этом конфигурационном файле указано наименование учетной записи, в пользу которой троянец будет эксплуатировать аппаратные ресурсы зараженного ПК для майнинга криптовалюты и на которую будет перечисляться все добытое. Этого пользователя зовут Tonycraft.
Судя по всему, сам Antonio (Tonycraft) не обладает достаточно глубокими познаниями в программировании, поскольку основные модули троянца он поручил написать другому человеку. Однако и здесь Tony, судя по всему, решил немного сэкономить, выбрав в качестве своего партнера не слишком искушенного вирусописателя: создавая код троянца, тот по неосмотрительности оставил в модулях вредоносной программы следующую отладочную строку:
“c:\Users\Кошевой Дмитрий\Documents\Visual Studio 2012\Projects\Miner\Instal\obj\Debug\Instal.pdb”.
О чем говорит нам этот «автограф» вирусописателя? О том, что он пользуется компьютером под управлением Microsoft Windows с учетной записью «Кошевой Дмитрий», проект он назвал Miner и создал его с применением среды разработки Visual Studio 2012. Простой поиск по сети «В Контакте» без труда позволил выявить пользователя, скрывающегося под псевдонимом Tonycoin, активно рекламирующего на своей страничке сайт, посвященный криптовалюте Bitcoin. По странному стечению обстоятельств, этот же самый сайт является ресурсом, с которого установщик загружает на зараженный компьютер основной модуль троянца Trojan.BtcMine.218. Ну, а среди контактов Tonycoin при определенной настойчивости отыскивается и программист «Дмитрий Кошевой».