TL;DR — краткое подробное руководство по созданию масштабируемого инструмента для вымогательства с использованием Python.

Введение

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

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

Создание плана

Теперь, когда мы узнали немного больше о том, как работает этот процесс, вот несколько моментов, которые мы должны иметь в виду при разработке нашего собственные проекты

  • Нам нужно создать всплывающий таймер, чтобы создать ощущение срочности и показать жертве некоторую информацию о том, как удалить вредоносное ПО.
  • Нам нужно будет реализовать функциональность, которая шифрует файлы и добавляет расширение «.thegrayarea» в конце, чтобы обозначить это (хотя вы можете использовать любую строку символов, которую хотите).

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

Написание кода

Шаг 1. Создайте закрытый и открытый ключи

Чтобы сгенерировать пару ключей открытый и закрытый, выполните следующую команду в своем терминале (или CLI) →

ssh-keygen

Шаг 2. Закодируйте открытый ключ

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

import base64 
with open('public.pem', 'rb') as f:
    public = f.read()print(base64.b64encode(public))

Шаг 3. Зашифруйте файлы (ВНИМАНИЕ)

Используя эту рекурсивную (она вызывает сама себя) функцию, мы можем сканировать каждый файл, содержащийся в определенном >базовый каталог или baseDir.

def scanRecursive(baseDir):
    for aFile in os.scandir(baseDir):
        if aFile.is_file():
            yield entry
        else:
            yield from scanRecursive(aFile.path)

Затем мы воспользуемся функцией шифрования для шифрования пути каждого файла, возвращаемого этой функцией scanRecursive.



Вот расшифровка функция (не забудьте эту часть).



При запуске программы шифрования мы сканируем файл, зашифровываем его и меняем расширение файла.

Шаг 4. Связь с жертвой (через всплывающее окно)

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



Если вы выполняете компиляцию в Windows или ваши гипотетические жертвы используют компьютеры с Windows, возможно, вы захотите изменить расширение .py на .exe, или исполняемый файл.



Спасибо, что прочитали о создании программ-вымогателей на Python! Если вы хотите увидеть похожие статьи, ознакомьтесь с другими публикациями в разделе Серая зона.



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



Спасибо!