Este projeto demonstra um vazamento de dados em um site vulnerável, seguido pela implementação de criptografia no servidor para proteger o tráfego. O objetivo é simular um ataque real, capturar credenciais via Wireshark e, posteriormente, aplicar HTTPS para impedir esse tipo de vazamento.
- Backend: Node.js com Express
- Banco de Dados: SQLite (sem criptografia inicialmente)
- Frontend: HTML, CSS e JavaScript puro
- Servidor: Ubuntu Server
- Monitoramento de Tráfego: Wireshark e TShark
- Segurança: OpenSSL para HTTPS
git clone https://github.com/seu-usuario/seu-repo.git
cd seu-reponpm installnode server.jsO servidor iniciará na porta 3000. Acesse http://IP-DO-SERVIDOR:3000 no navegador.
- Capturar Tráfego HTTP: No servidor Ubuntu, rode:
sudo tshark -i enp0s3 -f "tcp port 80" -w /tmp/captura.pcap - Fazer Login no Site: Acesse o site e logue com credenciais fictícias.
- Abrir o Arquivo no Wireshark: Copie
captura.pcappara o Windows e veja os dados expostos (usuário e senha em texto puro).
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pemModificar server.js para usar https:
const https = require('https');
const fs = require('fs');
const express = require('express');
const app = express();
const options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
};
https.createServer(options, app).listen(3000, () => {
console.log('Servidor HTTPS rodando na porta 3000');
});- Capturar Tráfego HTTPS:
sudo tshark -i enp0s3 -f "tcp port 443" -w /tmp/captura_https.pcap - Verificar no Wireshark: Os dados agora estarão criptografados e ilegíveis.
Este projeto demonstrou um vazamento de dados via HTTP e como o HTTPS protege contra esse tipo de ataque. Agora, os dados estão criptografados e seguros!
Este projeto está sob a licença MIT.