pathbreak-audit : trouvez les permissions IAM exploitables dans votre compte AWS
Points clés
- pathbreak-audit est un outil en ligne de commande gratuit et open source pour les défenseurs. Pointez-le vers un compte AWS et il liste les rôles et utilisateurs IAM qui détiennent des permissions exploitables et des combinaisons toxiques, avec la correction pour chacun.
- Il est en lecture seule et s'exécute localement. Il lit l'IAM et rien d'autre, et vos identifiants et vos résultats ne quittent jamais votre machine.
- Les vérifications proviennent du même catalogue que la carte d'escalade de privilèges AWS.
- Installez-le avec
pip install pathbreak-audit, ou essayezpathbreak-audit --demosans compte AWS. - C'est une vérification ponctuelle, sur un seul compte. Voir quels chemins se valident, atteignent vos données et se classent par rayon d'impact, c'est ce qu'ajoute Pathbreak.
La carte d'escalade de privilèges AWS est une référence : chaque permission AWS qu'un attaquant peut utiliser pour avancer vers l'administration, les données ou la persistance, et le changement qui brise chaque chemin. La carte vous indique ce qui pourrait mal tourner dans AWS en général. pathbreak-audit vous indique lesquelles de ces permissions se trouvent dans votre propre compte en ce moment.
Ce qu'il fait
pathbreak-audit lit les politiques attachées à chaque rôle et utilisateur, gérées, en ligne, ainsi que les politiques que les utilisateurs héritent des groupes, détermine les actions autorisées pour chaque principal et les compare au catalogue des permissions et combinaisons dangereuses. Pour chaque principal, il affiche ce qu'il détient et le changement de moindre privilège qui le supprime, avec un lien vers l'explication complète sur la carte.
Les résultats sont de deux types. Une permission directement exploitable est une action unique qui permet à un principal d'escalader, de persister ou d'altérer la journalisation, par exemple iam:CreateAccessKey sur un autre utilisateur. Une combinaison toxique est un ensemble de permissions qui ne sont dangereuses qu'ensemble, comme iam:PassRole avec lambda:CreateFunction, qu'une revue politique par politique a tendance à manquer.
Pourquoi la vue par défaut est courte
Un outil qui signale chaque lecture large et chaque permission recrée la fatigue des alertes qu'il est censé résoudre. La vue par défaut porte donc sur les permissions exploitables quelle que soit la cible : escalade, persistance, altération de la journalisation et destruction. Les lectures larges de données et de secrets, l'invocation de Lambda, l'endossement de rôle et l'accès aux sessions ne comptent que lorsque la ressource qu'ils atteignent est privilégiée, ce qu'une vérification statique sur un seul compte ne peut pas savoir, ils sont donc écartés sauf si vous les demandez avec --include-access. Les administrateurs complets et les rôles par défaut d'AWS sont également écartés par défaut, pour que la liste reste courte et digne d'être lue.
Essayez-le
Vous pouvez voir le résultat sans aucun compte AWS :
pip install pathbreak-auditpathbreak-audit --demo
Pour l'exécuter sur votre propre compte, utilisez des identifiants quelconques disposant d'un accès en lecture à l'IAM. Les politiques gérées AWS SecurityAudit ou ViewOnlyAccess suffisent toutes les deux :
pathbreak-audit --profile my-profile
Toutes les options, un exemple de sortie et le code source sont sur GitHub.
Ce qu'il ne fait pas
C'est une vérification ponctuelle d'un seul compte. Il lit ce que les politiques autorisent, de sorte qu'une autorisation à portée restreinte peut quand même apparaître, et il vous indique qu'une permission pourrait être exploitée, pas qu'elle s'enchaîne jusqu'à quelque chose de sensible. Il ne parcourt pas le graphe entre les comptes, il ne valide pas qu'un chemin se résout face à votre autorisation réelle, et il ne surveille pas les dérives. Nous traçons cette limite volontairement.
pathbreak-audit montre les permissions qui pourraient être exploitées, principal par principal. Pathbreak montre lesquelles s'enchaînent en un chemin validé qui atteint vos données sensibles, les classe par rayon d'impact sur tous les comptes et vous renvoie le changement unique qui brise le plus de chemins, en continu. Si l'outil vous est utile, c'est l'étape suivante.
Questions fréquentes
pathbreak-audit est-il vraiment gratuit ?
Oui. Il est open source sous licence MIT et gratuit d'utilisation. Le code source est sur GitHub et il est publié sur PyPI. Il est publié par Pathbreak.
A-t-il besoin d'un accès en écriture à mon compte AWS ?
Non. Il effectue uniquement des appels en lecture aux API IAM et STS. Les politiques gérées AWS SecurityAudit ou ViewOnlyAccess suffisent pour l'exécuter. La plateforme Pathbreak complète se connecte de la même manière, via un rôle en lecture seule.
pathbreak-audit envoie-t-il mes données quelque part ?
Non. Tout s'exécute localement. Il n'écrit rien dans votre compte et n'envoie rien à l'extérieur. Il n'y a pas de télémétrie. Pathbreak ne voit jamais la sortie, sauf si vous choisissez de la partager.
En quoi pathbreak-audit est-il différent de Pathbreak ?
pathbreak-audit est une liste statique, sur un seul compte, des permissions qui pourraient être exploitées. Pathbreak valide lesquelles s'enchaînent en un chemin réel vers vos données sensibles, les classe par rayon d'impact sur tous les comptes et vous donne le changement unique qui brise le plus, en continu.
Exécutez pathbreak-audit sur votre compte, puis voyez les chemins qui se valident et atteignent vos données.
Obtenir pathbreak-audit Demander une démo