Acceso Inicial
Configurar AWS CLI
Requieres otorgar
AWS Access KEY ID
AWS Secret Access Key
Region (importante especificar la región correcta)
Formato (json)
Formato de comandos en aws
aws <Comando | Servicio aws> <Sub comando> (Opciones y parámetros)
Whoami
El primer comando no requiere de permisos, solo te dara información básica
Este comando interactua con el servicio de IAM, requiere almenos privilegios de Get*
Almacenamiento de credenciales de AWS en archivo plano
Cuando se realiza una autenticación con aws CLI, las credenciales importantes como Access Key y el Secret Access Key se almacenan en los directorios:
(Windows) - C:\Users\Gerh.aws\credentials
(Linux) - /root/.aws/credentials
(Linux) - /home/user/.aws/credentials
Donde podrás encontrar los siguientes datos:
aws_access_key_id = Clave de acceso de AWS – (AWS access key).
aws_secret_access_key = Clave secreta de AWS. – (AWS secret key).
aws_session_token = Token de sesión de AWS. Solo se requiere un token de sesión si está utilizando credenciales de seguridad temporales. – (AWS session token).
Obtener sesion token
Metodología básica de Pentesting/Red Teaming
Para auditar un entorno AWS es importante conocer:
¿Cuáles servicios se está usando
¿Cuáles servicios si se desea auditor?
¿Cuáles servicios no se desea auditar?
¿Cuáles servicios/objetos están siendo expuestos?
¿Quién tiene acceso a que cosas?
¿Cómo esta organizado internamente los servicios de AWs y como se conectan con servicios externos?
Desde el punto de vista de una post explotación o un Red Teaming, el primer paso para comprometer un entorno de AWS es obtener credenciales. Acontinuación se listan algunas ideas de como obtener estas credenciales:
Leaks de github / gitlab / bucket o similares - OSINT
Ingeniaría Social
Reutilizar contraseñas, contraseñas por defecto, password leaks
Vulnerabilidades asociadas a aplicaciones e AWS (AWS-Hosted Apps):
Aplicaciones web - SSRF Para acceder a los metadatos
LFR - Local File Read para listar los directorios:
/home/user/.aws/credentials
3rd Parties leaks o breaks
Por medio de un Internal (empleado interno).
Credenciales de Cognito
En auditorias con credenciales con cliente, se requiere solo se requiere un rol con los siguientes permisos:
Política de AWS: arn:aws:iam::aws:policy/ReadOnlyAccess
Referencias
Última actualización