15.02.2013

Что общего у Win32/Redyms и TDL4?

image

С начала 2013 года мы начали отслеживать интересное семейство троянских программ - Win32/Redyms. Эта угроза примечательна тем, что использует технику подмены результатов поисковых запросов популярных поисковых систем.

Артем Баранов

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

С начала 2013 года мы начали отслеживать интересное семейство троянских программ - Win32/Redyms. Эта угроза примечательна тем, что использует технику подмены результатов поисковых запросов популярных поисковых систем. Мы установили, что наибольшее распространение она получила в США и Канаде. Именно в этих странах киберпреступный рынок предлагает самые высокие цены за перенаправление (клики) пользователя с популярных поисковых систем на вредоносные или рекламные ресурсы.

Наш ведущий аналитик Александр Матросов выполнил глубокий анализ Win32/Redyms. В результате обнаружилось сходство этого вредоносного кода с другой программой - Win32/Agent.TJO, которая также известна как часть семейства Olmarik/TDL4. Win32/Agent.TJO представляет из себя троян пользовательского режима, основанный на механизме кликера (clicker) одного из компонентов TDL4. И TDL4, и Win32/Agent.TJO, и Win32/Redyms используют схожие механизмы управления сетевым трафиком, который передается браузером. Для управления трафиком бот перехватывает несколько функций из библиотеки Microsoft Windows Socket Provider (mswsock.dll):

Перехваты функций библиотеки mswsock.dll.

Все три семейства этих вредоносных программ используют одинаковые методы перехватов функций, а также зашифрованное с помощью RC4 алгоритма шифрования взаимодействие с управляющим C&C сервером.

Граф работы функции, ответственной за взаимодействие с C&C сервером, выглядит следующим образом:

Граф работы функции C&C.

Еще одна интересная особенность Win32/Redyms была обнаружена в алгоритме генерации доменных имен (Domain Generation Algorithm, DGA), с помощью которого выбираются C&C серверы для взаимодействия. Данный алгоритм основан на простых алфавитных перестановках и других изменениях, в соответствии с первоначальной константой. На рисунках ниже показана реконструкция этого алгоритма на python, а также обычный декомпилированный код.

Реконструированный на python код DGA функции.

Декомпилированный код DGA функции

Список C&C серверов вредоносного кода.

Первые доменные имена из списка, представленного на рисунке выше, были зарегистрированы в середине декабря 2012 года – начале января 2013. Это косвенно указывает на то, что Win32/Redyms распространялся с конца декабря.

Win32/Redyms осуществляет внедрение своего вредоносного кода во все активные процессы. Если внедренный код обнаруживает, что работает в приложении браузера, он создает в этом процессе специальный поток, а также перехватывает функции из библиотеки mswsock.dll.

Часть вредоносного кода Win32/Redyms, которая создает специальный поток в процессе браузера.

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

Список поисковых систем, которые отслеживает вредоносный код.

Если он обнаруживает активность поисковой системы, все поисковые запросы перенаправляются к командному C&C серверу, а сами URL-ссылки, выданные при поисковом запросе, подменяются в соответствии с теми, которые были получены у C&C. Код проверки URL-ссылок основан на перехвате функции WSPSend(), которая использует AVL-деревья как структуру для хранения данных. Для работы со структурами AVL-деревьев вредоносный код использует структуру RTL_GENERIC_TABLE из kernel32.dll. TDL4 использует такие же идеи в компоненте пользовательского режима cmd.dll.

или введите имя

CAPTCHA