Перевод: Программа-вымогатель с Python

Перевод: Программа-вымогатель с Python

@Ent_TranslateIB

Здравствуйте, средние хакеры,

Надеюсь, у вас все хорошо.

Давайте сегодня попробуем что-нибудь опасное.

📢 Этот блог предназначен только для образовательных целей.

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

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

Пристегните ремни 🤘.

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

Звучит интересно. Но в определении много жаргонизмов. Давайте разберемся в основных определениях шифрования и дешифрования.

Шифрование: Процесс сокрытия информации/данных в случайные данные.
Расшифровка: (противоположность шифрованию) преобразование зашифрованной информации в исходные данные.

Популярные атаки Ransomware: RYUK и WannaCry (подробнее здесь).

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

Итак, давайте рассмотрим некоторые файлы, важные для нашей ransomware.

Важные файлы
ransomware.py : код для ransomware, который необходимо выполнить.
genKey.py : набор генератора открытых и закрытых ключей.
public_key.pem : открытый ключ для нашего шифрования.
private_key.pem : закрытый ключ, предоставляемый жертве после выкупа.

Итак, с меня достаточно разговоров. ПОКАЖИТЕ МНЕ КОД >

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

Кодинг

Полный код вы сможете найти в конце этой статьи в виде репозитория на github.

Библиотеки
pip install cryptography
genKey.py

Мы будем использовать алгоритм RSA для генерации открытого и закрытого ключа. (Подробнее)

from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.backends import default_backend 

try:
    private_key = rsa.generate_private_key(
        public_exponent=65537,
        key_size=int(5e3),
        backend=default_backend()
    )
    private_pem = private_key.private_bytes(
        encoding=serialization.Encoding.PEM,
        format=serialization.PrivateFormat.PKCS8,
        encryption_algorithm=serialization.NoEncryption()
    )

    with open('private_key.pem', 'wb') as f:
        f.write(private_pem)

    public_key = private_key.public_key()
    public_pem = public_key.public_bytes(
        encoding=serialization.Encoding.PEM,
        format=serialization.PublicFormat.SubjectPublicKeyInfo
    )
    with open('public_key.pem', 'wb') as f:
        f.write(public_pem)

    print("\nSuccessfully created Public and Private Key\n")

except Exception as e:
    print("\nFailure\n")
    print(e)

Единственное, на что следует обратить внимание в приведенном выше коде, это key_size в строке 8. Если вы считаете, что размер файлов, которые ваша программа собирается шифровать, велик, то вам придется увеличить размер ключа.

Зачем нам нужен генератор ключей? Почему не может работать одна пара открытый-закрытый.

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

Ransomware.py

Работа

Шифрование

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

Расшифровка

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

Как использовать

1. Запустите genKey.py : сгенерируйте открытый и закрытый ключ.
2. Отправьте жертве файл ransomware.py и public_key.pem.
3. Как только жертва запустит файл ransomware.py, ваша работа будет закончена.
4. Все файлы txt в его текущей папке будут зашифрованы.
5. Когда вы отправите жертве private_key.pem, она сможет восстановить данные обратно.

Подробное руководство

1. Запустите genKey.py в вашей системе

Вы увидите, что создано 2 файла:

1. private_key.pem

2. public_key.pem

и сообщение об успехе ниже

>> Успешно создано открытый и закрытый ключ

Снимок для моей целевой папки или папки жертвы

Целевая папка содержит:

1. Ransomware.py

2. public_key.pem, который вы создали в предыдущем шаге

3. Файлы, которые будут зашифрованы.

2. Вам нужно отправить жертве только файл ransomware.py и public_key.

Вопрос, почему кто-то будет запускать файл, отправленный вами? 🤨

Конечно, они не будут, поэтому как вы сможете их обмануть, зависит от вас.

(Подсказка для продвинутых читателей: жестко закодируйте ransomware с publickey и создайте службу для ransomware.py. Жертва будет запускать его неосознанно).

3. Когда жертва запустит ransomware.py
Запомните
Если жертва закрывает командную строку / программу или
Если он набрал "НЕТ" или
Если он набрал "Да" и не добавил private_key.pem
он не сможет восстановить данные.

Снимки данных в файлах моей целевой папки

Снимок данных в файлах целевой папки после запуска скрипта ransomware

5. Добавляем private_key.pem в папку и нажимаем "YES" в командной строке.

Все данные в текстовых файлах вернутся в исходное состояние.

Заключение

Вау-а-а-а.... Итак, вы смогли дочитать этот блог до конца.

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

Если вы столкнулись с какой-либо проблемой или хотите узнать больше о ransomware, не стесняйтесь обращаться ко мне. Буду рад общению. 🤟

Также, пожалуйста, нажмите на кнопку хлопка так сильно, как только сможете 🙏🙏🙏

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

СПАСИБО!!! 😁

Важные ссылки

https://github.com/r-sajal/Ethical-Hacking/tree/main/Ransomware%20with%20Pyhton

https://www.linkedin.com/in/rsajal/

Оригинал статьи - здесь.
Поддержите автора хлопками на Medium.


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

  • 📚 @Ent_TranslateIB - Телеграмм канал с тематикой информационной безопасности
  • 🔥 @Ent_Translate - Инстаграм проекта

Report Page