Как все знают, к нам в отдел исследований и разработок порой приходят необычные вирусы. Мы описываем принцип работы самых интересных из них и предлагаем на суд нашим читателям, чаще всего на ресурс www.securelist.ru. Но сейчас у нас появилась новая аудитория — Хабр — и мы решили припасти один интересный случай для вас. Материал подготовил Вячеслав Закоржевский, антивирусный эксперт «Лаборатории Касперского», который и ответит на интересные вопросы в комментариях.

Поводом к написанию этого поста послужило то, что недавно мы обнаружили червь (Trojan.Win32.Lebag.afa), который заражает файлы сразу трех разных типов. Он представляет собой исполняемый модуль и способен инфицировать Portable Executable-файлы (.exe, .dll, .scr), MS Office-документы (.doc, .xls) и web-страницы (.htm, .html). Помимо распространения через зараженные файлы данный червь передается с компьютера на компьютер при помощи «autorun.inf» файла. Как же он работает?

Если открыть инфицированный Excel-документ, то первое впечатление — обычная таблица с непонятными иероглифами и картинками.

Фрагмент зараженного Excel-документа

Однако данный документ не простой — он содержит в себе дополнительный макрос, который добавляется червем. Следует отметить, что макрос исполнится только в том случае, если пользователь сам разрешит это. По умолчанию же Microsoft Office заблокирует его вызов.

Фрагмент кода макроса зараженного Excel-документа

Данный макрос записывает в файл преобразованную последовательность массива символов, и на выходе получается исполняемый файл с именем “??explore.exe” (первые две буквы генерируются случайным образом), который и является исходным червем. После записи на диск он, естественно, будет исполнен.

Инфицирование Web-документов производится примитивным методом. В конец HTML-файлов дописывается VBScript-скрипт, функционал которого не отличается от предыдущего VBA-макроса:

Фрагмент зараженного html-документа

А теперь — о заражении PE-образов. В конец исполняемого файла добавляется дополнительная секция «.text» размером 172 Кб. В ней содержится зашифрованное тело нашего червя и код расшифровщика. Червь изменяет точку входа заражаемого файла в PE-заголовке таким образом, что она начинает указывать на вредоносный код. Следовательно, исполнение программы начнется именно с него, но в конечном итоге управление будет передано на оригинальную EP (Entry Point), чтобы у пользователя не возникло подозрений в инфицировании системы.

И наконец — о самом черве. Что же он делает? Зловред дропает на диск три файла: dll-библиотека, отвечающая за бэкдорную часть (Backdoor.Win32.IRCNite.clf), dll-библиотека, ответственная за создание файлов autorun.inf (Worm.Win32.Agent.adz), и, наконец, третья библиотека — непосредственный лаунчер (Trojan.Win32.Starter.yy) предыдущих двух. Бэкдор при подсоединении к серверам ждет команд, и в зависимости от полученной команды выполняет функцию Trojan-Downloader или Trojan-Spy (отправляя скриншот рабочего стола, а также cookies). Кроме того, по заданной команде зловред может обновиться до последней версии.

Итого, мы имеем вредоносную программу, которая заражает три типа файлов (PE, XLS/DOC, HTML), распространяется через флешки и содержит в себе функционал бэкдора. Подобные зловреды еще раз показывают: совсем необязательно применять 0-day эксплойты для своего распространения. Кстати, не стоит снижать «уровень безопасности» в вашем Microsoft Word/Excel, а иначе это может привести к нехорошим последствиям. Кроме того, следует отключить автоматический запуск autorun.inf при подключении внешних носителей. Эти простые советы обезопасят ваш компьютер от заражения.