Este repositório documenta o projeto prático de conclusão do módulo "Simulando um Malware de Captura de Dados Simples em Python e Aprendendo a se Proteger" do curso de Cibersegurança da Digital Innovation One (DIO) & Santander.
O principal objetivo deste projeto foi analisar, simular e documentar o funcionamento de táticas ofensivas (Keylogger e Ransomware) em um ambiente controlado, para então aplicar e demonstrar o entendimento sobre mitigação e estratégias de defesa (Blue Team).
Os scripts a seguir foram desenvolvidos e testados em um ambiente isolado (sandbox) para fins estritamente educacionais.
A simulação do Keylogger foi focada na captura furtiva de dados e na exfiltração dos logs.
| Arquivo | Descrição da Implementação | Foco de Estudo |
|---|---|---|
keylogger.pyw |
Implementa a captura de teclas local, registrando em um arquivo log.txt. Utiliza a extensão .pyw para ocultar a janela do console. |
Furtividade (esconder execução) e persistência do log. |
keylogger_email.py |
Implementa a captura de teclas combinada com o envio automático dos logs (exfiltração) para um e-mail configurado via protocolo SMTP. | Exfiltração de dados e como a comunicação com um servidor C&C (Command & Control) é estabelecida. |
A simulação de Ransomware demonstra o processo completo de sequestro de dados por meio de criptografia assimétrica.
| Arquivo | Descrição da Implementação | Foco de Estudo |
|---|---|---|
ransomware.py |
Gera uma chave de criptografia Fernet, localiza e criptografa recursivamente arquivos de teste dentro da pasta teste_files/, e então cria o arquivo de resgate (LEIA ISSO.txt). |
Processo de criptografia em massa e a geração do artefato de resgate. |
descriptografar.py |
Carrega a chave criptográfica gerada e reverte o processo, restaurando os arquivos originais. | Verificação da integridade do processo de criptografia e a dependência da chave. |
O aprendizado essencial deste módulo está na aplicação de medidas de segurança. A seguir, estão as principais estratégias de mitigação discutidas.
- Detecção Comportamental (EDR): Soluções de Endpoint Detection and Response (EDR) detectam o hook do Keylogger no sistema operacional, mesmo que o arquivo seja "novo" (zero-day).
- Controle de Comunicação: Um Firewall bem configurado pode bloquear a tentativa de conexão SMTP externa do Keylogger (
keylogger_email.py), impedindo a exfiltração de dados.
- Backup (Estratégia Zero Trust): A defesa mais robusta é a implementação de backups 3-2-1 (três cópias, em dois tipos de mídia, uma cópia off-site/offline/imutável). Isso garante a recuperação sem ceder ao pagamento do resgate.
- Controle de Acesso: Implementar o princípio do Menor Privilégio (PoLP) limita o escopo de arquivos que o processo malicioso pode acessar e criptografar.
- Sandboxing e Antivírus: O uso de ambientes isolados (
sandbox) impede que o processo de criptografia em massa afete o sistema operacional principal.
A implementação deste projeto dependeu das seguintes bibliotecas Python:
pip install -r requirements.txt
requirements.txt
pynput(Para captura de eventos de teclado)cryptography(Para criptografia Fernet)
Este código foi desenvolvido e documentado para fins educacionais e defensivos. A execução em sistemas não-autorizados é ilegal e antiética.
Ravena Souza
Projeto prático desenvolvido para o curso Cibersegurança - Universia / DIO