Acceso Inicial

Configurar AWS CLI

aws configure

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)

aws s3 ls s3://important-bucket --recursive

Whoami

El primer comando no requiere de permisos, solo te dara información básica

aws sts get-caller-identity

Este comando interactua con el servicio de IAM, requiere almenos privilegios de Get*

aws aim get-user

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

aws sts get-session-token --profile some

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