Política IAM Excesivamente Permisiva
Tu política IAM usa Action: '*' o Resource: '*', otorgando muchos más permisos de los necesarios y convirtiendo cualquier fuga de credenciales en una toma de control completa de la cuenta.
Cómo Funciona
El principio de mínimos privilegios significa dar a cada rol exactamente los permisos que necesita — nada más. Action: '*' con Resource: '*' es básicamente acceso de administrador. Cuando estas credenciales son robadas (vía SSRF, claves hardcodeadas o phishing), el atacante puede hacer cualquier cosa: borrar bases de datos, exfiltrar todos los datos de S3, crear nuevos usuarios admin, deshabilitar el logging de CloudTrail. Los mínimos privilegios limitan el radio de impacto de cualquier compromiso de credenciales.
// MAL: política IAM con wildcard (Terraform)
resource "aws_iam_role_policy" "app_policy" {
role = aws_iam_role.app.id
policy = jsonencode({
Statement = [{
Effect = "Allow"
Action = "*" // puede hacer CUALQUIER COSA
Resource = "*" // en CUALQUIER recurso
}]
})
}// BIEN: permisos mínimos con alcance a recursos específicos
resource "aws_iam_role_policy" "app_policy" {
role = aws_iam_role.app.id
policy = jsonencode({
Statement = [{
Effect = "Allow"
Action = ["s3:GetObject", "s3:PutObject"] // solo lo que la app necesita
Resource = "arn:aws:s3:::my-app-bucket/*" // solo este bucket
}]
})
}Ejemplo Real
La brecha de Capital One de 2019 escaló de una vulnerabilidad SSRF a un dump completo de datos porque la instancia EC2 comprometida tenía un rol IAM con s3:GetObject en Resource: '*' — no solo los buckets específicos que la app necesitaba. Un alcance apropiado habría limitado la brecha a un solo bucket.
Cómo Prevenirlo
- Empieza con cero permisos y agrega solo lo necesario — nunca empieces con '*' y restrinjas después
- Usa AWS IAM Access Analyzer para identificar políticas excesivamente permisivas en tu cuenta
- Limita Resource a ARNs específicos (arn:aws:s3:::mi-bucket/*) en lugar de '*'
- Usa las políticas administradas de AWS solo como punto de partida — crea políticas personalizadas para cargas de trabajo en producción
- Audita las políticas IAM trimestralmente usando el Informe de Credenciales IAM de AWS y Access Advisor
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Bucket S3 con Acceso Público
criticalTu bucket de S3 es públicamente legible debido a un ACL público, configuración de Block Public Access deshabilitada o una política de bucket con wildcard — cualquiera en internet puede listar y descargar tus archivos.
SSRF a Metadata de Cloud
criticalTu app hace fetch de URLs proporcionadas por el usuario sin bloquear endpoints de metadata de cloud como 169.254.169.254, dejando a los atacantes robar tus credenciales cloud vía SSRF.
Credenciales AWS Hardcodeadas
criticalLas claves de acceso de AWS (que empiezan con AKIA) o las claves de acceso secretas están hardcodeadas en tu código fuente, dando a cualquiera que lea el código acceso completo a tu cuenta de AWS.
CORS Mal Configurado en Almacenamiento Cloud
mediumTu bucket de S3 o GCS tiene CORS configurado con origin: '*' o AllowedMethods: ['*'], permitiendo que cualquier sitio web lea las respuestas de tu almacenamiento y potencialmente acceda a datos privados.