Bancos de dados expostos
Cria dado de teste (use o prefixo pentest_). Limpe depois. Só em alvo seu ou autorizado por escrito.
O vetor
Vetor: um Postgres/MySQL/Mongo/Redis acessível pela internet é lido/escrito por qualquer um; Redis sem senha permite até RCE. O que testamos: se as portas de banco estão fechadas ao mundo e se exigem autenticação.
Os passos
Passo 1 (🟢) — a porta responde de fora?
# Deve dar timeout/refused. Se conectar, é crítico:
nc -zv -w3 SEU_IP 5432 # Postgres
nc -zv -w3 SEU_IP 3306 # MySQL
nc -zv -w3 SEU_IP 6379 # Redis
nc -zv -w3 SEU_IP 27017 # MongoDB
Passo 2 (🟡, só se for SEU Redis autorizado) — Redis sem senha:
redis-cli -h SEU_IP ping # PONG sem AUTH = sem senha = crítico
O que esperar
- VULNERÁVEL: qualquer porta acima "open" a partir da internet; Redis responde
PONGsemAUTH. - SEGURO: todas
refused/timeoutde fora; bancos só acessíveis na rede interna; Redis comrequirepassebind 127.0.0.1.
Como corrigir
Correção (P0): firewall bloqueando as portas; bind em localhost/rede interna; senha forte; TLS entre app e banco. Nunca ufw allow 5432.
Limpeza: nenhuma.