Skip to content

isislavor/simulador-malwares

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🐍 Simulação de Malware em Python (Ransomware e Keylogger) – Ambiente Controlado

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.


🎯 Objetivos do Projeto

  • 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.

📂 Estrutura do Repositório

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

🔐 Ransomware Simulado (/ransomware)

Na pasta ransomware/ está o código que simula o comportamento de um ransomware em arquivos de teste.

Funcionalidades principais

  • 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.


⌨️ Keylogger Simulado (/keylogger)

Na pasta keylogger/ está o script de keylogger simulado, desenvolvido com pynput para fins de estudo.

Comportamento do script

  • 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]
  • Teclas de modificação como Shift, Ctrl, Alt, CapsLock e afins podem ser ignoradas para reduzir ruído;

  • Tudo é salvo em um arquivo log.txt, em codificação utf-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.


🛡️ Reflexões sobre Defesa e Prevenção

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.

⚙️ Execução em Ambiente Seguro (Visão Geral)

Sempre execute este projeto em máquina de testes ou VM, com arquivos criados especificamente para o laboratório.

1. Clonar o repositório

git clone https://github.com/isislavor/simulador-malwares.git
cd simulador-malwares

2. (Opcional, mas recomendado) Criar ambiente virtual

python3 -m venv venv
source venv/bin/activate

3. Instalar dependências

pip install cryptography pynput

4. Ransomware Simulado

  • 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.

5. Keylogger Simulado

  • Executar o script em /keylogger e observar o conteúdo de log.txt sendo preenchido conforme as teclas são pressionadas.

🧠 Aprendizados

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.


📄 Licença e Responsabilidade

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 :)

About

Repositório com implementação, testes, análises e percepções de aprendizagem do módulo de "Simulando um Malware de Captura de dados simples em Python aprendendo a se proteger" , da plataforma DIO Bootcamp Santander Cibersegurança.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages