Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Criação de um Ransomware com Python

⚠️ Isenção de Responsabilidade

Este projeto foi desenvolvido estritamente para fins educacionais e de pesquisa em segurança cibernética. O objetivo é demonstrar o funcionamento técnico de ameaças digitais para melhorar mecanismos de defesa e detecção. O uso deste código para fins maliciosos, sem autorização expressa em sistemas de terceiros, é ilegal e viola as diretrizes de segurança.


📝 Sobre o Projeto

Este projeto é uma Prova de Conceito (PoC) que simula o comportamento básico de um Ransomware. Ele foi desenvolvido como um desafio prático para consolidar conhecimentos em manipulação de arquivos no sistema operacional e aplicação de algoritmos de criptografia com Python.

O projeto é dividido em duas partes essenciais:

  1. encrypter.py: Localiza o arquivo alvo, realiza a leitura dos dados, aplica a criptografia e altera a extensão do arquivo.
  2. decrypter.py: Localiza o arquivo criptografado, realiza a leitura dos dados afetados, reverte o processo de criptografia utilizando a chave correta e restaura o arquivo original.

🛠️ Tecnologias e Conceitos Utilizados

  • Linguagem: Python 3.x
  • Bibliotecas: os (manipulação de sistema) e pyaes (criptografia AES)
  • Conceito: Criptografia Simétrica (AES - Advanced Encryption Standard)

Executando o nosso laboratório

Primeiro criamos um arquivo .txt com qualquer coisa escrita como um teste.

Criação do Arquivo de Teste

Após isso, desenvolvemos nosso arquivo de criptografia usando a linguagem Python. Como o Kali Linux já possui o Python instalado nativamente, precisamos apenas preparar o ambiente para receber as bibliotecas externas (como o pyaes). Para evitar conflitos com o sistema operacional e garantir que o projeto rode em uma estrutura limpa, criamos e ativamos um ambiente virtual isolado (venv), onde todas as dependências do laboratório ficam guardadas separadamente.

Importação da Biblioteca pyaes

  • os: É uma biblioteca nativa do Python utilizada para interagir diretamente com o sistema operacional. Neste projeto, ela é usada especificamente para manipular o sistema de arquivos e deletar o arquivo original após a leitura dos dados.
  • pyaes: É a biblioteca responsável pelo trabalho pesado da criptografia. Ela implementa o algoritmo AES (Advanced Encryption Standard), um dos padrões de cifragem mais seguros e auditados do mundo, utilizado globalmente por governos, instituições financeiras e empresas de tecnologia para proteger dados sensíveis.

Leitura do Arquivo Alvo

Leitura do Arquivo Alvo

O script define que o alvo é o arquivo teste.txt.

Ele abre o arquivo no modo "rb" (Read Binary / Leitura Binária). Isso é um detalhe técnico importante: em vez de ler o arquivo como texto simples, ele lê os bytes brutos (zeros e uns). Isso garante que o script funcione com qualquer tipo de arquivo: fotos, PDFs, executáveis, e não apenas textos.

O conteúdo é guardado na variável file_data e o arquivo é fechado para liberar memória.

Destruição do Arquivo Original

Destruição do Arquivo Original

Vetor de Ataque Simulado: Esta linha simula a letalidade de um ataque real. Através do método os.remove(), o arquivo original é deletado permanentemente do índice do sistema operacional. A partir deste exato momento do fluxo, as informações contidas na variável file_data passam a ser a única cópia sobrevivente dos dados na máquina.

Parametrização da Chave e Modo de Cifra

Parametrização da Chave e Modo de Cifra

  • Derivação da Chave (b"..."): O prefixo b força a conversão da string em uma cadeia de bytes. Como a string "testeransomwares" possui exatamente 16 caracteres, ela resulta em uma chave de 16 bytes (128 bits). O padrão AES exige comprimentos de chave estritos (128, 192 ou 256 bits).
  • Modo de Operação CTR (Counter Mode): O modo contador transforma a cifra de bloco AES em uma cifra de fluxo. Ele gera um fluxo de keystream baseado em um contador incremental e aplica uma operação lógica XOR entre este fluxo e os bytes do arquivo original. É um modo altamente performático, pois permite o processamento paralelo e não exige preenchimento (padding) no bloco final de dados.

Execução do Processo de Criptografia

Execução da Criptografia

A função .encrypt() processa a massa de bytes brutos utilizando a matriz matemática do algoritmo AES parametrizada pela chave. O resultado armazenado em crypto_data torna-se uma sequência binária pseudo-aleatória sem qualquer padrão reconhecível.

Escrita e Ofuscação do Novo Arquivo

Ofuscação do Novo Arquivo

  • Alteração de Extensão: Adiciona-se o sufixo .ransomwaretroll ao nome original (teste.txt.ransomwaretroll). Essa é uma assinatura clássica de malwares reais, que serve tanto para sinalizar o ataque ao usuário quanto para quebrar a associação de programas padrão do Sistema Operacional, impedindo que cliques duplos comuns abram o arquivo.
  • Modo de Escrita "wb" (Write Binary): Grava a massa de dados cifrados diretamente no disco rígido, finalizando o processo de sequestro digital da informação.

Execução da Criptografia e Criação do Novo Arquivo

Criação do Arquivo Criptografado

Após executarmos (python encrypter.py teste.txt), nossa criptografia é feita com sucesso e obtemos um novo arquivo chamado de (teste.txt.ransomwaretroll).

Leitura do Arquivo Criptografado

🔓 O Script de Descriptografia (decrypter.py)

Após a simulação da cifragem dos dados, desenvolvemos o script responsável por realizar o processo inverso: a reversão criptográfica para restaurar o arquivo original ao seu estado legível.

Funcionamento do Código

O código foi estruturado em Python utilizando os mesmos parâmetros de algoritmo e modo de operação para garantir a integridade da reversão:

  1. Leitura do Arquivo Cifrado: O script localiza o arquivo modificado (teste.txt.ransomwaretroll) e realiza a leitura dos seus dados em modo binário ('rb').

Arquivo Cifrado

  1. Reversão Criptográfica (AES-CTR): Utilizando a mesma chave simétrica de 16 bytes (testeransomwares) e o modo de operação CTR (Counter Mode) através da biblioteca pyaes, a função .decrypt() processa os blocos binários para reconstruir o conteúdo original na memória.

Reversão Criptográfica

  1. Limpeza do Sistema: O arquivo cifrado temporário é removido permanentemente do disco utilizando o método os.remove().

Arquivo Sendo Limpo

  1. Restauração do Arquivo Original: Um novo arquivo com o nome original (teste.txt) é criado e escrito em modo binário ('wb'), salvando os dados perfeitamente recuperados.

Restauração do Arquivo Cifrado

Após isso, podemos ler em texto legível o nosso arquivo novo arquivo com (python decrypter.py teste.txt.ransomwaretroll), e (cat teste.txt).

Leitura do Arquivo Legível

Resumo do Projeto e Conclusões

Este laboratório prático demonstrou o mecanismo fundamental de manipulação e transformação de arquivos utilizando criptografia simétrica (algoritmo AES no modo CTR). Através de scripts automatizados em Python, simulou-se o ciclo de vida de uma modificação não autorizada de dados (cifragem e remoção do arquivo original) seguido pelo processo de resposta a incidentes ou recuperação (descriptografia e restauração dos dados originais).

O objetivo principal foi compreender, em ambiente controlado de testes, como ameaças modernas interagem com o sistema de arquivos e como a matemática criptográfica opera em nível de bytes.


Métodos de Uso e Aplicações Práticas

Os conceitos e estruturas de código explorados neste desafio possuem aplicação direta em diversas frentes da Segurança da Informação e Engenharia de Software:

  • Simulação de Adversários (Red Teaming): Criação de artefatos controlados para testar se as soluções de monitoramento de uma empresa são capazes de detectar comportamentos suspeitos baseados em volumetria ou assinaturas.
  • Engenharia de Detecção (Blue Teaming): Análise do comportamento do script (abrir -> ler -> deletar -> escrever) para o desenvolvimento de regras de correlação (como regras SIEM, YARA ou Sigma) que identifiquem e bloqueiem processos maliciosos em tempo real.
  • Proteção de Dados Legítima: Aplicação dos mesmos conceitos de criptografia simétrica para rotinas automáticas de backup seguro e proteção de dados confidenciais em repouso (data at rest).

A Importância de Sistemas Bem Protegidos

Por fim, a facilidade com que um script simples pode alterar a integridade de arquivos locais reforça a necessidade crítica de implementar defesas robustas e em camadas nas infraestruturas corporativas e pessoais. Para mitigar e evitar que ataques reais dessa natureza causem impactos operacionais, as seguintes posturas são fundamentais:

  • Controle de Privilégios Mínimos (PoLP): Garantir que usuários e aplicações executem apenas com as permissões estritamente necessárias, impedindo que scripts alterem diretórios críticos do sistema.
  • Monitoramento de Comportamento (EDR/XDR): Utilizar soluções de segurança avançadas que não dependam apenas de assinaturas de vírus conhecidos, mas que bloqueiem proativamente processos que apresentem comportamentos anômalos (como a modificação rápida e em massa de extensões de arquivos).
  • Estratégia de Backup Resiliente (Regra 3-2-1): Manter cópias de segurança atualizadas, armazenadas em mídias diferentes e, crucialmente, com pelo menos uma cópia imutável ou offline (isolada da rede), garantindo a continuidade do negócio em qualquer cenário de falha ou incidente.

👋 Agradecimentos

Agradeço sinceramente a você que acompanhou este documento até o final!

A jornada pelo universo da Segurança da Informação exige curiosidade, dedicação e o desejo contínuo de entender como as tecnologias funcionam nos bastidores. Desenvolver este laboratório prático e estruturar esta documentação foi um passo importante para consolidar conceitos essenciais de criptografia, automação e defesa cibernética.

Espero que este material tenha sido útil para expandir seus conhecimentos e ilustrar a importância de criarmos um ecossistema digital cada vez mais seguro e resiliente.

About

Prova de Conceito (PoC) desenvolvida em Python para simular o ciclo de vida de um Ransomware (cifragem e decifragem com AES-CTR) para fins de estudo em segurança defensiva, engenharia de detecção e criptografia simétrica.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages