В этой статье мы поговорим о том, каким образом с точки зрения «черных» методов SEO могут быть использованы вредоносные программы – например, путем генерации трафика для заинтересованных ресурсов или скликивания контекстной рекламы.
Понятно, что увеличение числа посетителей на сайте интернетмагазина или компании, занимающейся недвижимостью, вероятнее всего положительно скажется на их доходах. Поэтому разработка подобного типа вредоносных программ кибепреступниками — вполне себе обыденное дело, и появились такие программы уже давно. По большей части такую малварь можно разделить на два класса — это различного рода Adware, которое распространяется вместе с популярными программами, или трояны, которые осуществляют более серьезную модификацию системы. Но, безусловно, бывают и исключения, которые мы также обсудим в этой статье.
Win32/Patched.P
Давай для начала рассмотрим достаточно экзотический, но от этого не менее интересный способ подмены результатов поиска в популярных поисковых сервисах, который был реализован в троянской программе Win32/Patched.P (ESET). В первый раз я столкнулся с этой вредоносной программой осенью 2008 года, и она привлекла меня тем, что используемый ей алгоритм подмены был хорошо продуманным и более сложным для обнаружения, чем у «конкурентов».
Win32/Patched.P вносила всего лишь одно изменение в систему: она модифицировала системную библиотеку ws2_32.dll, которая отвечает за реализацию сетевых функций прикладного уровня (например, таких как сокеты) в операционных системах MS Windows. Полезная нагрузка представляла собой кусок ассемблерного кода, который дроппер вставляет в конец оригинальной ws2_32.dll, модифицируя также точку входа, таблицу экспортов, релокации и склеивая все секции в одну для упрощения жизни при вышеописанных модификациях.
На рисунке 2 представлены интернет-сервисы, к которым этот троянец проявлял особенный интерес путем осуществления перехвата часто используемых для реализации сетевого взаимодействия системных функций, таких как:
int WSASend(
__in SOCKET s,
__in LPWSABUF lpBuffers,
__in DWORD dwBufferCount,
__out LPDWORD lpNumberOfBytesSent,
__in DWORD dwFlags,
__in LPWSAOVERLAPPED lpOverlapped,
__in LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
int WSARecv(
__in SOCKET s,
__inout LPWSABUF lpBuffers,
__in DWORD dwBufferCount,
__out LPDWORD lpNumberOfBytesRecvd,
__inout LPDWORD lpFlags,
__in LPWSAOVERLAPPED lpOverlapped,
__in LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
int send(
__in SOCKET s,
__in const char *buf,
__in int len,
__in int fl ags
);
int recv(
__in SOCKET s,
__out char *buf,
__in int len,
__in int fl ags
);
int select(
__in int nfds,
__inout fd_set *readfds,
__inout fd_set *writefds,
__inout fd_set *exceptfds,
__in const struct timeval *timeout
);
Перехватывая и контролируя указанные функции Winsock на этом уровне, можно осуществлять подмену любых GET/POST запросов независимо от разработчика браузера или его версии. Да и заметить сходу такую подмену сможет далеко не каждый системный администратор, не говоря уже о большинстве пользователей. На уровне модифицированного кода, на примере функции WSARecv(), это выглядит так.
В общем виде схема алгоритма работы подмены результатов поисковой выдачи будет выглядеть следующим образом. А результат успешной работы этого алгоритма будет, например, таким.
Конечно же, весь функционал не ограничивается только подменой результатов поиска. Есть интересные экземпляры троянских программ, которые осуществляют скликивание и накрутку контекстных объявлений.
Сэмпл TDL4 — Win32/Olmarik.AOV
Вот, к примеру, не так давно нами была замечена интересная особенность в некоторых новых сэмплах руткита TDL4 — Win32/ Olmarik.AOV, о котором я достаточно подробно написал в своей предыдущей статье в январе 2011 года. Но, если кто не в курсе, данному руткиту удается удерживать звание самой технологичной массовой вредоносной программы на протяжении вот уже нескольких лет.
Это первый полноценный руткит для x64, которому удалось в обход проверки цифровой подписи и PatchGuard пробраться в ядро на 64-битных системах. Но давай вернемся к тому, из-за чего собственно пошел разговор об этом рутките. А дело в том, что после своей собственной успешной установки некоторые экземпляры этого руткита устанавливают в систему еще и троянцев из семейства Win32/Glupteba (ESET). Это наводит на мысли о том, что ресурсы данного ботнета начали сдавать в аренду. Также интересен тот факт, что дальнейшего взаимодействия между ботами Win32/Glupteba и TDL4 нет.
Итак, сразу после установки и идентификации бот TDL4 получает из С&C команду:
task_id = 2|10||hxxp://wheelcars.ru/no.exe
Интерпретировать которую можно следующим образом:
task_id = [command_id] [encryption_key] [URL]
В нашем случае набор параметров совпадает с командой «DownloadAndExecute», поскольку ключ шифрования равен нулю, а идентификатор команды равен двум, и затем следует количество попыток ее выполнения, равное десяти. После установки в систему Win32/Glupteba получает задание уже из своего C&C и начинает его выполнение.
Чаще всего бот получает два типа заданий — скликивание контекстной рекламы из рекламной сети «Бегун» и рассылку спама. Давай поподробнее рассмотрим, что же делает этот бот.
В первом случае происходит посещение большого количества сформированных специальным образом веб-страниц, наполнение которых провоцирует появление определенного типа контекстных объявлений. Причем все веб-страницы, с которых происходит скликивание, расположены на серверах провайдера Masterhost. Если посмотреть на статистику сетевых обращений скликивающего бота, то можно заметить большое количество обращений к серверам компании «Бегун». Интерес со стороны Win32/Glupteba к другим сервисам контекстной рекламы замечен не был — возможно, это объясняется тем, что сам алгоритм скликивания контекстной рекламы реализован достаточно примитивно. А в крупных системах, таких как Яндекс.
Директ или Google AdWords, реализованы серьезные механизмы защиты от подобного рода мошенничества, которые сильно портят жизнь желающим быстрой наживы за счет вышеописанных способов нечестного продвижения.
Сам же ботнет TDL4 так же, как и его предшественник предыдущей версии, активно монетизируется через «черные» методы продвижения веб-сайтов и подмену результатов поиска в популярных поисковых системах. Только он реализует гораздо более серьезные методы, используя способ скрытого запуска браузера Microsoft Internet Explorer через вызов ActiveX-компонента WebBrowser и эмуляции работы пользователя (при посещении веб-страницы меняется положение курсора). Кроме того, в нем реализован обход прочих превентивных методов обнаружения ботов. Но поговорим мы об этом как-нибудь в другой раз.