SL- 307

Como fazer ransomware com Python (Guia de Estudo)

Isenção de responsabilidade:
este tutorial é apenas para fins educacionais, não tente quebrar nenhum computador, exceto o seu. Se você tentar criar um ransomware real, estará infringindo a lei e irá para a cadeia.

Hoje vou explicar como fazer ransomware e como ele funciona com a linguagem python.

O que é ransomware?

É como qualquer outro software malicioso ou vírus de computador, mas com o objetivo de criptografar seus dados e fazer um resgate por você. Seus dados são criptografados com criptografia assimétrica e o vírus apenas criptografa com a chave pública. Existe uma chave privada para descriptografar seus dados, mas você sabe que um invasor não anexará a chave privada ao vírus.

Prepare-se para criar ransomware

Antes de construir algum programa, você deve saber o que ele será e o que fará. Aqui está minha lista de verificação e você pode usar sua própria lista de verificação.

  1. O programa deve ser um arquivo executável e o ícone como um arquivo de documento.
  2. O programa deve criptografar os dados com a chave pública
  3. Após a criptografia, o programa deve remover os arquivos originais e alterar a extensão do arquivo criptografado para “ .L0v3sh3 ”, Haha. Eu gosto dessa extensão
  4. O programa deve mostrar uma mensagem pop-up com uma contagem regressiva.

Se você quiser mais explicações, basta ler meus últimos artigos.

Desenvolva o programa

Passo 1 — Gerar chave privada e pública

Nos últimos artigos, expliquei como fazer um programa python para gerar chaves privadas e públicas.

lista de arquivos

Depois de executar genKey.py, existem 2 arquivos, private.pem e public.pem .
Salve seu private.pem com segurança.

Passo 2 — Codifique a chave pública

O principal objetivo da codificação é dificultar a identificação da chave pública com análise estática de malware.
Então, codifico a chave pública com base64 e anexei-a ao meu código.

No script python você pode usar este script:

importar base64código = "aGkgZnJpZW5kcywgdGhpcyBpcyBiYXNlNjQgZW5jb2Rpbmc=" 
imprimir(base64.b64decode(código))

Assim, você pode codificar sua chave privada e decodificá-la no script python.

importar base64com open('public.pem', 'rb') como f: 
public = f.read()
imprimir(base64.b64encode(público))

Passo 3 — Um script python para criptografar alguns arquivos no diretório

A ideia que tirei do meu último artigo sobre organização de arquivos com python.

def scanRecurse(baseDir): 
para entrada em os.scandir(baseDir):
if entry.is_file():
rendimento entrada
else:
rendimento de scanRecurse(entry.path)

A função acima é uma função recursiva para verificar diretórios e obter vários arquivos listados com caminhos. Em seguida, usamos a função de criptografia e a executamos com nossa lista de arquivos antes. Aqui está a função de teste para garantir que a função esteja funcionando.

E para a função de descriptografia, você pode usar meu script antes.

https://gist.githubusercontent.com/febimudiyanto/fb00a34415b73e74cd088dfcaed6e340/raw/55bbea86cff300e294e8952dd30e19662f5f4908/decryptFile.py

Vamos verificar o arquivo, criptografá-lo e alterar a extensão.

 

Para o teste, quero usar o pai do diretório deste programa para digitalizar e criptografar com este script.

Aqui está meu diretório antes de executar malware:

meu diretório antes de executar malware
conteúdo de pai.txt
conteúdo de testFile.txt

Aqui está meu diretório após executar malware:

conteúdo de parent.txt após executar o programa
conteúdo de testFile.txt após executar o programa

Conseguimos criar um programa python para criptografar arquivos e alterar extensões de arquivos.

Passo 4 — Contagem regressiva e mensagem após criptografia concluída

Basta copiar meu script e colá-lo no final do script do malware.

Etapa final — Crie um arquivo executável com auto-py-to-exe

Não posso explicar mais para você, mas você pode ler este artigo, https://dev.to/eshleron/how-to-convert-py-to-exe-step-by-step-guide-3cfi

Essa é uma explicação muito detalhada.

BÔNUS

Aqui está meu roteiro completo, basta copiá-lo, mas não se esqueça de entender o que você escreve.

python-project/simple-ransomware em principal · febimudiyanto/python-project

todo projeto python. Contribua para o desenvolvimento do projeto febimudiyanto/python criando uma conta no GitHub.

github.com

 

Inicie o Ransomware

teste executando o ransomware

Desculpas pelo meu erro de digitação na contagem regressiva: D

Conclusão

Este é um projeto assustador, certo?
Tenha cuidado ao executar o programa, certifique-se de alterar o diretório e experimentá-lo em sua Máquina Virtual/Laboratório.

Com meu programa você poderia modificar para o inverso, descriptografando os arquivos .L0v3sh3 . Basta alterar a função de criptografia por descriptografar com alguma lógica.

Para mitigação, este ransomware nunca confiou no arquivo. Se você estiver usando o Windows como sistema operacional, sempre ative a visualização de extensão para poder diferenciar qual arquivo executável ou arquivo de documento.

Obrigado por ler.

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo