Наш ведущий аналитик Александр Матросов выполнил глубокий анализ 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.
ссылка на оригинал статьи http://habrahabr.ru/company/eset/blog/169039/
Добавить комментарий