← Todas las publicaciones Código abierto

pathbreak-audit: encuentra los permisos de IAM abusables en tu cuenta de AWS

pathbreak-audit

Puntos clave

  • pathbreak-audit es una herramienta de línea de comandos gratuita y de código abierto para defensores. Apúntala a una cuenta de AWS y enumerará los roles y usuarios de IAM que tienen permisos explotables y combinaciones tóxicas, con la solución para cada uno.
  • Es de solo lectura y se ejecuta localmente. Lee IAM y nada más, y tus credenciales y tus hallazgos nunca salen de tu máquina.
  • Las comprobaciones provienen del mismo catálogo que el Mapa de Escalada de Privilegios de AWS.
  • Instálala con pip install pathbreak-audit, o prueba pathbreak-audit --demo sin una cuenta de AWS.
  • Es una comprobación puntual, de una sola cuenta. Ver qué rutas se validan, alcanzan tus datos y se clasifican por radio de impacto es lo que añade Pathbreak.

El Mapa de Escalada de Privilegios de AWS es una referencia: cada permiso de AWS que un atacante puede usar para avanzar hacia el acceso de administrador, los datos o la persistencia, y el cambio que rompe cada ruta. El mapa te dice qué podría salir mal en AWS en general. pathbreak-audit te dice cuáles de esos permisos están ahora mismo en tu propia cuenta.

Qué hace

pathbreak-audit lee las políticas asociadas a cada rol y usuario, administradas, en línea, y las políticas que los usuarios heredan de los grupos, calcula las acciones que cada principal tiene permitidas, y las compara con el catálogo de permisos y combinaciones peligrosos. Para cada principal imprime lo que tiene y el cambio de mínimo privilegio que lo elimina, con un enlace al análisis completo en el mapa.

Los hallazgos son de dos tipos. Un permiso directamente explotable es una sola acción que permite a un principal escalar, persistir o manipular el registro, por ejemplo iam:CreateAccessKey sobre otro usuario. Una combinación tóxica es un conjunto de permisos que solo son peligrosos juntos, como iam:PassRole con lambda:CreateFunction, que una revisión política por política tiende a pasar por alto.

Por qué la vista predeterminada es corta

Una herramienta que marca cada lectura amplia y cada permiso recrea la fatiga de alertas que se supone debe resolver. Por eso la vista predeterminada son los permisos que son explotables sin importar el objetivo: escalada, persistencia, manipulación del registro y destrucción. Las lecturas amplias de datos y secretos, la invocación de Lambda, la asunción de roles y el acceso a sesiones solo importan cuando el recurso al que llegan es privilegiado, algo que una comprobación estática de una sola cuenta no puede saber, así que se dejan de lado a menos que los solicites con --include-access. Los administradores completos y los roles predeterminados de AWS también se dejan a un lado de forma predeterminada, para que la lista se mantenga corta y valga la pena leerla.

Pruébala

Puedes ver el resultado sin ninguna cuenta de AWS:

pip install pathbreak-audit
pathbreak-audit --demo

Para ejecutarla contra tu propia cuenta, usa cualquier credencial con acceso de lectura a IAM. Las políticas administradas de AWS SecurityAudit o ViewOnlyAccess ambas lo cubren:

pathbreak-audit --profile my-profile

Las opciones completas, el resultado de ejemplo y el código fuente están en GitHub.

Qué no hace

Es una comprobación puntual de una cuenta. Lee lo que las políticas permiten, así que una concesión de alcance reducido todavía puede aparecer, y te dice que un permiso podría ser explotado, no que se encadene hasta algo sensible. No recorre el grafo entre cuentas, no valida que una ruta se resuelva contra tu autorización real, y no vigila la deriva. Trazamos esa línea a propósito.

pathbreak-audit muestra los permisos que podrían ser explotados, principal por principal. Pathbreak muestra cuáles de esos se encadenan en una ruta validada que alcanza tus datos sensibles, los clasifica por radio de impacto en todas las cuentas, y te devuelve el único cambio que rompe la mayor cantidad de rutas, de forma continua. Si la herramienta es útil, ese es el siguiente paso.

Preguntas frecuentes

¿pathbreak-audit es realmente gratuita?

Sí. Es de código abierto bajo la licencia MIT y gratuita de usar. El código fuente está en GitHub y está publicada en PyPI. Lo publica Pathbreak.

¿Necesita acceso de escritura a mi cuenta de AWS?

No. Solo hace llamadas de lectura a las APIs de IAM y STS. Las políticas administradas de AWS SecurityAudit o ViewOnlyAccess son suficientes para ejecutarla. La plataforma completa de Pathbreak se conecta de la misma forma, mediante un rol de solo lectura.

¿pathbreak-audit envía mis datos a algún lugar?

No. Todo se ejecuta localmente. No escribe nada en tu cuenta y no envía nada hacia fuera. No hay telemetría. Pathbreak nunca ve el resultado salvo que decidas compartirlo.

¿En qué se diferencia pathbreak-audit de Pathbreak?

pathbreak-audit es una lista estática, de una sola cuenta, de permisos que podrían ser explotados. Pathbreak valida cuáles de esos se encadenan en una ruta real hacia tus datos sensibles, los clasifica por radio de impacto en todas las cuentas, y te da el único cambio que rompe la mayor cantidad, de forma continua.

Artículos relacionados

Ejecuta pathbreak-audit en tu cuenta, luego mira las rutas que se validan y alcanzan tus datos.

Obtén pathbreak-audit Solicitar una demo