Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
PMapper — Un outil pour évaluer rapidement les autorisations IAM dans AWS. | Kitploit
Outils/GitHubGitHub/nccgroup/pmapper
Escalade de PrivilègesAnalyse des VulnérabilitésTests d'IntrusionSécurité CloudGestion des Identités et des Accès (IAM)
GitHubnccgroup/pmapper

PMapper

Un outil pour évaluer rapidement les autorisations IAM dans AWS.

Voir le dépôt
1.6k197il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Principal Mapper

Principal Mapper (PMapper) est un script et une bibliothèque permettant d'identifier les risques dans la configuration d'AWS Identity and Access Management (IAM) pour un compte AWS ou une organisation AWS. Il modélise les différents utilisateurs et rôles IAM d'un compte sous forme d'un graphe orienté, ce qui permet de vérifier les escalades de privilèges et les chemins alternatifs qu'un attaquant pourrait emprunter pour accéder à une ressource ou action dans AWS.

PMapper inclut un mécanisme de requête qui utilise une simulation locale du comportement d'autorisation d'AWS. Lors de l'exécution d'une requête pour déterminer si un principal a accès à une certaine action/ressource, PMapper vérifie également si l'utilisateur ou le rôle peut accéder à d'autres utilisateurs ou rôles qui ont accès à cette action/ressource. Cela permet de détecter des scénarios comme lorsqu'un utilisateur n'a pas la permission de lire un objet S3, mais peut lancer une instance EC2 capable de lire cet objet.

Des informations supplémentaires sont disponibles dans le wiki du projet.

Installation

Prérequis

Principal Mapper est construit avec la bibliothèque botocore et Python 3.5+. Principal Mapper nécessite également pydot (disponible sur pip) et graphviz (disponible sur Windows, macOS et Linux depuis https://graphviz.org/).

Installation via Pip

root@kitploit:~
pip install principalmapper

Installation à partir du code source

Clonez le dépôt :

root@kitploit:~
git clone [email protected]:nccgroup/PMapper.git

Puis installez avec Pip :

root@kitploit:~
cd PMapper
pip install .

Utilisation avec Docker

(Après avoir cloné le code source)

root@kitploit:~
cd PMapper
docker build -t $TAG .
docker run -it $TAG

Vous pouvez utiliser -e|--env ou --env-file pour passer les variables d'environnement AWS_* pour les identifiants lors de l'appel à docker run ..., ou utiliser -v pour monter votre répertoire ~/.aws/ et utiliser les variables d'environnement AWS_CONFIG_FILE et AWS_SHARED_CREDENTIALS_FILE. Le Dockerfile actuel devrait vous placer dans un shell avec pmapper -h prêt à l'emploi et graphviz déjà installé.

Utilisation

Consultez la page de démarrage dans le wiki pour plus d'informations sur l'utilisation de PMapper en ligne de commande. Il existe également des pages détaillant toutes les fonctions en ligne de commande et le code de la bibliothèque.

Voici un exemple rapide :

root@kitploit:~
# Création d'un graphe pour le compte, accédé via le profil AWS CLI "skywalker"
pmapper --profile skywalker graph create
# [... sortie de création du graphe ...]

# Exécution d'une requête pour voir qui peut créer des utilisateurs IAM
$ pmapper --profile skywalker query 'who can do iam:CreateUser'
# [... sortie de la requête ...]

# Exécution d'une requête pour voir qui peut lancer une grosse instance EC2 coûteuse, hormis les utilisateurs "admin"
$ pmapper --account 000000000000 argquery -s --action 'ec2:RunInstances' --condition 'ec2:InstanceType=c6gd.16xlarge'
# [... sortie de la requête ...]

# Exécution de la requête prédéfinie d'escalade de privilèges, sans signaler les utilisateurs "admin" actuels
$ pmapper --account 000000000000 query -s 'preset privesc *'
# [... rapport privesc ...]

# Création d'une représentation SVG des admins/privescs/accès inter-principaux
$ pmapper --account 000000000000 visualize --filetype svg
# [... sortie d'informations, fichier créé ...]

Notez l'utilisation de --profile, qui devrait se comporter comme l'AWS CLI. De plus, les appels ultérieurs avec query/argquery/visualize utilisent un argument --account qui permet de court-circuiter la vérification du compte à utiliser (sinon PMapper effectue un appel API pour le déterminer).

Voici un exemple de visualisation :

Et encore une fois en utilisant --only-privesc :

Contributions

100% bienvenues et appréciées. Veuillez coordonner via les issues avant de commencer et cibler les pull-requests vers la branche de développement actuelle (généralement sous la forme vX.Y.Z-dev).

Licence

root@kitploit:~
Copyright (c) NCC Group and Erik Steringer 2019. This file is part of Principal Mapper.

  Principal Mapper is free software: you can redistribute it and/or modify
  it under the terms of the GNU Affero General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  Principal Mapper is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU Affero General Public License for more details.

  You should have received a copy of the GNU Affero General Public License
  along with Principal Mapper.  If not, see <https://www.gnu.org/licenses/>.
Télécharger l’outil