Realizando un pivoting habilitando IAM Access Analyzer por medio de Trusted Access

¿Crees tener lo que se necesita para ser un experto en Pentesting contra AWS? Si nuestro libro te abrió los ojos a las posibilidades de la ciberseguridad ofensiva o si ya cuentas con habilidades en este campo, es momento de subir de nivel. Te retamos a certificarte en el CPNA - Curso Profesional de Pentesting Contra AWS. No será fácil: te enfrentarás a un examen riguroso de 12 horas donde deberás hackear una infraestructura completa alojada en AWS. ¿Listo para el desafío? Acepta el reto y demuestra tu verdadero potencial.

Este contenido se adentra en una técnica avanzada de post-explotación, crucial para entender cómo maximizar el impacto de un ataque una vez que se ha conseguido penetrar en un sistema. Es importante recalcar que la ejecución de esta técnica presupone que el atacante o consultor ya ha obtenido ciertos niveles de privilegios dentro de la infraestructura objetivo. Sin estos privilegios, llevar a cabo el ataque explicado aquí no sería posible. Proceder con cautela y siempre dentro del marco legal y ético es fundamental.

Imaginemos que hemos comprometido las credenciales de la Cuenta A. Podríamos considerar completado nuestro ataque aquí, pero al inspeccionar en AWS Organizations, descubrimos que las cuentas adicionales B y C figuran como cuentas miembro. Aunque no poseemos credenciales ni visibilidad directa sobre ninguna de las cuentas miembro, podemos utilizar nuestros permisos de organización desde la Cuenta A para habilitar el Trusted Access para un servicio (o aprovechar un servicio ya habilitado). Esto nos permitirá recopilar datos sobre las cuentas miembro.

IAM Access Analyzer es una herramienta poderosa que revisa los roles en una cuenta de AWS y determina si alguna relación de confianza de esos roles se extiende más allá de una "zona de confianza" establecida. Por ejemplo, si existe un rol en una cuenta de AWS que permite que cualquier otra cuenta de AWS lo asuma, dicho rol sería marcado como una violación de la zona de confianza, ya que "cualquier cuenta de AWS" abarca un ámbito mucho más amplio que una sola cuenta de AWS.

Cuando IAM Access Analyzer se integra con AWS Organizations, la zona de confianza asociada al Analizador (y, por extensión, su rango de escaneo) se expande para incluir toda la organización. Al otorgar a IAM Access Analyzer el Trusted Access en la Cuenta A, permitimos que el Analizador escanee cada cuenta miembro dentro de la organización y genere un informe que podría incluir un rol vulnerable en la Cuenta B.

Como atacante en la Cuenta A, dirígete a "Servicios" en AWS Organizations y observa que IAM Access Analyzer está deshabilitado por defecto. Aunque podríamos usar los controles de la interfaz de usuario (UI) para habilitar esta característica integrada en la organización.

Y también tenemos la opción de utilizar la Interfaz de Línea de Comandos de AWS (CLI) con las credenciales filtradas.

root@spartan=> aws sts get-caller-identity 
{
  "UserId": "AIDASMVSY3Q2ANOOSIXEP",
  "Account": "****",
  "arn": "arn:aws:iam::*****:user/CompromisedAdminUser"
}

root@spartan=> aws organizations enable-aws-service-access --service-principal access-analyzer.amazonaws.com 

root@spartan=> aws organizations list-aws-service-access-for-organization 
{
  "EnabledServicePrincipals": [
    {
      "ServicePrincipal": "access-analyzer.amazonaws.com",
      "DateEnabled":"2022-12-04T22:00!12.394000-05:00"
    }]
}

A continuación, navega a la característica IAM Access Analyzer dentro del servicio IAM y crea un analizador. Dado que Access Analyzer ahora es un servicio habilitado, podemos establecer la "Zona de confianza" para abarcar toda la organización.

Después de unos minutos, actualiza la página y observa que el rol excesivamente confiado de la Cuenta B aparece listado como un hallazgo activo, demostrando una vía indirecta para recopilar datos de la Cuenta B como una entidad de la Cuenta A.

Este proceso no solo ilustra la potencial vulnerabilidad de roles excesivamente confiados dentro de las cuentas miembro, sino que también destaca la importancia de una gestión cuidadosa y consciente de los permisos y configuraciones de Trusted Access. Al aprovechar IAM Access Analyzer de manera estratégica, las organizaciones pueden mejorar significativamente su postura de seguridad, identificando y mitigando posibles vectores de ataque antes de que sean explotados por actores maliciosos. Este enfoque proactivo es esencial para mantener la integridad y seguridad de los datos en el dinámico entorno de AWS.

Última actualización