Saltar al contenido
← proyectosdata

leaked-key-impact

Cinco claves de AWS filtradas adrede. 1.301 ataques en 33 días.

1.301ataques capturados< 2 minprimer intento33 díasde monitorización6.187 $/díacoste estimado

El problema

La mayoría de los datos sobre velocidad de explotación de credenciales filtradas vienen de honeypots genéricos o de informes de vendor con incentivos para exagerar. Quería números propios: ¿cuánto tarda realmente alguien en encontrar y usar una clave de AWS pública? Monté el experimento desde cero, con infraestructura mía y logging real desde el minuto uno.

Los datos

5 claves IAM con permisos mínimos (iam:GetUser exclusivamente), distribuidas en canales con distinta audiencia y visibilidad: GitHub, Pastebin y foros de seguridad. Logging completo con CloudTrail sin ningún filtrado previo. 1.301 eventos de API capturados en 33 días de monitorización activa.

Enfoque

  • Permisos deliberadamente nulos: las claves no podían hacer nada útil, solo autenticarse — los ataques son reales pero el riesgo de coste es cero
  • Logging con CloudTrail exportado a S3, procesado y normalizado en Python (pandas + geopandas)
  • Enrichment OSINT por IP: geolocalización, lookup de ASN, identificación de proveedores de VPN y proxies conocidos
  • Fingerprinting de user-agents para distinguir herramientas automatizadas de accesos manuales
  • Mapeo de cada técnica observada a MITRE ATT&CK (TA0006 Credential Access, TA0009 Collection)
  • Modelo de coste contrafactual: qué hubiera costado en dólares si las claves tuvieran permisos de producción
  • Dashboard en Streamlit con timeline interactivo, desglose geográfico y clasificación por técnica

Herramientas

python
aws
streamlit

Resultado

El primer intento llegó en menos de 2 minutos desde la publicación. El 80% de los 1.301 ataques ocurrieron dentro de las primeras 24 horas — el decaimiento posterior es brusco y predecible. El origen más frecuente fueron rangos de IP de proveedores cloud (EC2, GCP Compute), no máquinas residenciales. Coste simulado con permisos reales de producción: 6.187 $/día.

Próximos pasos

El experimento está diseñado para extenderse. Las líneas de trabajo más directas son ampliar los canales de distribución (paquetes npm o PyPI con claves embebidas, commits en repos públicos), añadir tipos de credencial adicionales (GCP service accounts, tokens de GitHub Actions) y automatizar la clasificación de comportamiento con un modelo de clustering sobre los patrones de llamada a la API. El objetivo es construir un dataset longitudinal que permita comparar la velocidad de explotación entre canales y tipos de credencial de forma sistemática.