
Amazon Web Services (AWS) se ha convertido en uno de los pilares más grandes e importantes en el mundo de la computación en la nube. Su flexibilidad, escalabilidad y diversidad de servicios permiten a empresas de todos los tamaños desplegar aplicaciones de forma rápida y eficiente. Sin embargo, al mismo tiempo, abre un enorme panorama de riesgos de seguridad si no se configuran adecuadamente sus componentes. A lo largo de este post, haremos un recorrido por los principales servicios de AWS, los posibles vectores de ataque más comunes, y las herramientas que los profesionales de seguridad utilizan para auditar y detectar vulnerabilidades en estas infraestructuras.
Existen dos formas principales de autenticación en AWS. La primera es el programmatic access, mediante un Access Key ID y un Secret Access Key. Este método es fundamental cuando se interactúa con AWS a través de scripts, aplicaciones o la CLI. La segunda es el acceso mediante la Management Console, es decir, el portal web. Ambos son esenciales, pero al mismo tiempo, representan puntos críticos de ataque si se filtran credenciales en repositorios públicos, archivos mal configurados o a través de vulnerabilidades en aplicaciones.
Un primer paso común en auditorías de seguridad es identificar el uso de recursos AWS en una aplicación. Muchas veces, los sitios web cargan contenido directamente desde S3 buckets públicos, y observando las solicitudes en un proxy como Burp Suite se puede detectar si los recursos provienen de direcciones como https://bucketname.s3.amazonaws.com. Este tipo de hallazgos puede abrir la puerta a explorar configuraciones incorrectas o buckets accesibles sin autenticación.
S3 es uno de los servicios más populares de AWS. Su seguridad, en teoría, es robusta, pero la práctica demuestra que muchas organizaciones cometen errores de configuración al volver sus buckets públicos sin necesidad. Los atacantes aprovechan esto para leer información sensible, inyectar código malicioso (como ocurrió con casos de cryptojacking en páginas populares) o incluso secuestrar dominios asociados a buckets eliminados. Herramientas como lazys3, cloud_enum o S3Scanner permiten a los pentesters automatizar la búsqueda y análisis de estos buckets.
Los vectores de ataque sobre S3 incluyen desde el bucket pillaging (búsqueda y descarga masiva de archivos) hasta el code injection (subida de scripts maliciosos en buckets con permisos de escritura abiertos). Otro ataque común es el domain hijacking, cuando un bucket ya no existe pero el CNAME asociado sigue activo. En este caso, un adversario puede recrear el bucket con el mismo nombre y cargar contenido malicioso.
El servicio EC2 es el equivalente a las máquinas virtuales en AWS. Uno de los riesgos más grandes es el mal uso del endpoint de metadatos, accesible en http://169.254.169.254. Este endpoint fue diseñado para que las instancias obtengan información dinámica, como credenciales de IAM temporales. Sin embargo, vulnerabilidades como SSRF (Server-Side Request Forgery) han permitido a atacantes acceder a este endpoint y robar credenciales. Un ejemplo famoso es el hack a Capital One, donde mediante un SSRF se accedieron a llaves de IAM y posteriormente se descargaron datos de clientes desde S3.
Para mitigar este riesgo, AWS introdujo el Instance Metadata Service v2 (IMDSv2), que añade autenticación basada en tokens a las solicitudes. Aun así, muchos entornos siguen usando la versión vulnerable.
El servicio de IAM (Identity and Access Management) es el núcleo de control de permisos en AWS. Aquí se crean usuarios, roles y políticas que definen quién puede acceder a qué recursos. Un error frecuente es la asignación de permisos excesivos (como políticas con *:* que otorgan privilegios totales). Herramientas como enumerate-iam, ScoutSuite o Cloudsplaining ayudan a identificar configuraciones inseguras y posibles vías de escalada de privilegios.
Los atacantes que logran robar credenciales de IAM pueden utilizarlas para explorar los permisos otorgados y, en algunos casos, escalar a administradores totales del entorno. De ahí que las auditorías de IAM sean una de las tareas más críticas en cualquier revisión de seguridad en AWS.
Además de los servicios más conocidos, existen múltiples áreas de interés:
EBS (Elastic Block Store): Al igual que los S3 buckets, los snapshots de volúmenes pueden hacerse públicos por error. Herramientas como Dufflebag permiten buscar y explorar este tipo de leaks.
RDS (Relational Database Service): Cuando instancias de bases de datos son expuestas directamente a Internet, se convierten en un blanco fácil para ataques de fuerza bruta o inyecciones SQL. También existen riesgos al compartir snapshots públicos.
CloudFront: Aunque es un CDN robusto, un mal uso de los CNAME puede permitir ataques de hijacking de subdominios.
Lambda: Las funciones serverless no están exentas de riesgos. Vulnerabilidades como inyecciones de comandos pueden ser explotadas si las entradas no se validan correctamente.
ECR y ECS: La gestión de contenedores también representa un riesgo si imágenes de Docker mal configuradas o con secretos embebidos son expuestas en registros públicos.
El ecosistema de herramientas es amplio. Entre las más destacadas están:
Pacu: Un framework ofensivo para pruebas de penetración en AWS.
WeirdAAL: Enfocado en reconocimiento post-compromiso.
Cloud-Nuke y AWS-Nuke: Útiles para limpiar recursos de una cuenta de AWS, aunque en contexto ofensivo podrían ser usados de manera destructiva.
Smogcloud y Redboto: Diseñadas para encontrar y explotar recursos mal configurados.
El uso de estas herramientas debe hacerse siempre con un enfoque ético y bajo autorización, ya que muchas de ellas tienen capacidad destructiva o de exfiltración.
AWS ofrece un ecosistema inmenso de servicios, cada uno con beneficios, pero también con posibles riesgos si no se configuran correctamente. Casos como el de Capital One son recordatorios de que incluso grandes corporaciones pueden caer víctimas de malas prácticas en la nube.
El rol de los profesionales de seguridad no es únicamente identificar fallos, sino también educar a equipos de desarrollo y operaciones sobre cómo usar AWS de manera segura. Configurar correctamente los buckets de S3, aplicar el principio de mínimo privilegio en IAM, limitar la exposición de bases de datos y endurecer el acceso a metadatos en EC2 son pasos esenciales.