Este repositório foi desenvolvido como parte de um desafio prático de cibersegurança, utilizando Python para simular, em ambiente seguro, o comportamento básico de:
- um Ransomware Simulado;
- um Keylogger Simulado.
⚠️ Aviso importante:
Todo o conteúdo aqui tem finalidade exclusivamente educacional.
O uso de qualquer código ou técnica deste repositório fora de ambiente de testes, em sistemas de terceiros ou sem autorização expressa, é ilegal e antiético.
- Entender, de forma prática, como ransomwares e keyloggers funcionam em nível básico;
- Simular esses comportamentos em um ambiente controlado, com arquivos de teste;
- Refletir sobre vulnerabilidades exploradas por esse tipo de malware (técnicas e humanas);
- Documentar o experimento e usar o GitHub como parte do portfólio técnico.
malware-simulado-python/
│
├── ransomware/
│ ├── ransomware.py # criptografa arquivos de teste e gera mensagem de "resgate"
│ └── decrypt.py # descriptografa os arquivos usando a mesma chave
│
├── keylogger/
│ └── keylogger.py # keylogger simulado que registra teclas em log.txt
│ └── keylogger_email.py # keylogger simulado que registra teclas em email especificado
│
├── images/ # capturas de tela da execução
│
└── README.md # este arquivo
Na pasta ransomware/ está o código que simula o comportamento de um ransomware em arquivos de teste.
- Geração de uma chave de criptografia usando
cryptography.Fernet; - Percorre um diretório de teste (ex.:
test_files/) e criptografa o conteúdo dos arquivos; - Cria uma mensagem de “resgate” (
LEIA ISSO.txt) explicando que os arquivos foram criptografados (apenas como simulação); - Script separado de descriptografia (
decrypt.py), utilizando a mesma chave, para restaurar os arquivos.
Toda a simulação foi feita apenas com arquivos de laboratório, em um diretório isolado, sem impactar arquivos reais do sistema.
Na pasta keylogger/ está o script de keylogger simulado, desenvolvido com pynput para fins de estudo.
-
Escuta eventos de teclado enquanto o programa está em execução;
-
Para teclas comuns (letras, números, símbolos), registra diretamente o caractere;
-
Para teclas especiais, faz mapeamentos como:
- espaço →
" " - enter → quebra de linha
"\n" - tab →
"\t" - backspace → tratado de forma simples no log (ex.: espaço)
- esc → registrado como
[ESC]
- espaço →
-
Teclas de modificação como
Shift,Ctrl,Alt,CapsLocke afins podem ser ignoradas para reduzir ruído; -
Tudo é salvo em um arquivo
log.txt, em codificaçãoutf-8, na mesma pasta.
O objetivo deste módulo é estudar o funcionamento de um keylogger em nível básico, não criar uma ferramenta furtiva ou para uso real.
Como parte do desafio, também foram estudadas e documentadas medidas de defesa contra esse tipo de ameaça, incluindo:
-
Antivírus / EDR
- Detecção de comportamentos suspeitos (criptografia em massa, captura de teclado, acesso incomum a arquivos).
-
Firewall e monitoramento de rede
- Bloqueio de conexões suspeitas e exfiltração de dados.
-
Sandboxing e máquinas virtuais
- Execução de arquivos desconhecidos em ambientes isolados antes de rodar em produção.
-
Atualizações e patches
- Sistemas e bibliotecas atualizados dificultam a exploração de vulnerabilidades conhecidas.
-
Backups frequentes
- Reduzem o impacto de ransomware, pois permitem restaurar os dados.
-
Conscientização do usuário
- Muitas infecções começam com cliques em anexos, links ou programas suspeitos.
Sempre execute este projeto em máquina de testes ou VM, com arquivos criados especificamente para o laboratório.
git clone https://github.com/isislavor/simulador-malwares.git
cd simulador-malwarespython3 -m venv venv
source venv/bin/activatepip install cryptography pynput- Criar alguns arquivos de teste dentro da pasta
ransomware/test_files/; - Executar o script de simulação de ransomware para criptografar esses arquivos;
- Em seguida, executar o script de descriptografia para restaurá-los.
- Executar o script em
/keyloggere observar o conteúdo delog.txtsendo preenchido conforme as teclas são pressionadas.
Com este projeto foi possível:
-
Visualizar, na prática, como ransomwares e keyloggers podem atuar sobre arquivos e entradas de teclado;
-
Entender que esses códigos não exploram apenas falhas técnicas, mas também comportamento humano (como executar binários desconhecidos);
-
Reforçar a importância de:
- backups,
- uso de VMs,
- política de menor privilégio,
- educação em segurança para usuários finais;
-
Utilizar o GitHub como forma de documentar a jornada de aprendizado em cibersegurança.
Este projeto é de caráter educacional. A autora não se responsabiliza por qualquer uso indevido do código ou conceitos aqui demonstrados.
Use com responsabilidade. 🔐
Feito com ❤️ por Isis Lavor! Prática orientada pela Tech Expert da DIO Isadora Ferrão :)