Credenciales de Base de Datos por Defecto
Tu base de datos usa credenciales predeterminadas de fábrica como postgres:postgres, root:root o admin:admin — lo primero que prueba cualquier atacante.
Cómo Funciona
Las credenciales por defecto son conocimiento público. Cada script de pentesting y de ataque las prueba primero. Cuando inicializas una base de datos en un contenedor Docker o servicio en la nube y nunca cambias la contraseña por defecto, estás dejando la puerta principal sin llave. Combina esto con una base de datos públicamente accesible (ID 210) y tienes un breach instantáneo.
// MAL: usando credenciales por defecto en la cadena de conexión
const pool = new Pool({
host: 'db.example.com',
user: 'postgres', // usuario PostgreSQL por defecto
password: 'postgres', // contraseña por defecto — nunca aceptable en prod
database: 'postgres'
});// BIEN: las credenciales vienen de variables de entorno, nunca hardcodeadas
const pool = new Pool({
connectionString: process.env.DATABASE_URL, // configura una contraseña fuerte aleatoria
});
// Genera una contraseña fuerte: openssl rand -base64 32Ejemplo Real
La variante de la botnet Mirai en 2023 específicamente escaneaba bases de datos con credenciales por defecto. Dispositivos IoT y servicios en la nube con credenciales mysql root:root o postgres:postgres por defecto eran comprometidos en minutos después de ser expuestos a internet.
Cómo Prevenirlo
- Genera una contraseña aleatoria fuerte (32+ caracteres) para cada base de datos durante el aprovisionamiento — nunca dejes los valores por defecto
- Usa un gestor de secretos (AWS Secrets Manager, HashiCorp Vault) para almacenar y rotar credenciales de base de datos
- En Docker Compose, siempre configura POSTGRES_PASSWORD a un valor fuerte en tu archivo .env, nunca directamente en docker-compose.yml
- Audita tus archivos docker-compose y manifiestos de Kubernetes en busca de contraseñas por defecto hardcodeadas
- Habilita auditoría de login en tu base de datos para detectar intentos de fuerza bruta
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Conexión a Base de Datos Sin Cifrado
highTu conexión a la base de datos no usa SSL/TLS, lo que significa que todas las consultas y resultados viajan por la red en texto plano y pueden ser interceptados.
Base de Datos Accesible Públicamente
criticalTu base de datos está vinculada a 0.0.0.0 o expuesta en una IP pública sin VPC o firewall, haciéndola directamente accesible desde internet.
Cadena de Conexión con Contraseña Inline
highUna cadena de conexión a base de datos con contraseña en texto plano está hardcodeada en tu código fuente, comprometiendo tus credenciales de base de datos en el control de versiones.
MongoDB Sin Autenticación
criticalTu conexión a MongoDB no tiene credenciales de autenticación, permitiendo que cualquiera que pueda alcanzar el puerto de la base de datos lea, modifique o borre todos los datos.