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 PONG sem AUTH.
  • SEGURO: todas refused/timeout de fora; bancos só acessíveis na rede interna; Redis com requirepass e bind 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.

PurpleLab // plataforma de treino ofensivo + defensivo // Fase 1 — portal dinamico