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
cloudmapper — CloudMapper vous aide à analyser vos environnements Amazon Web Services (AWS). | Kitploit
Outils/GitHubGitHub/duo-labs/cloudmapper
Sécurité de l'Infrastructure CloudScanners de VulnérabilitésCartographie RéseauAudit de ConfigurationCollecte d'InformationsSécurité CloudMauvaise Configuration
GitHubduo-labs/cloudmapper

cloudmapper

CloudMapper vous aide à analyser vos environnements Amazon Web Services (AWS).

Voir le dépôt
6.3k832il y a 2 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

CloudMapper

Note : la fonctionnalité de visualisation réseau (commande prepare) n'est plus maintenue.

CloudMapper vous aide à analyser vos environnements Amazon Web Services (AWS). Le but initial était de générer des diagrammes réseau et de les afficher dans votre navigateur (fonctionnalité qui n'est plus maintenue). Il contient désormais beaucoup plus de fonctionnalités, y compris l'audit des problèmes de sécurité.

  • Démo de cartographie réseau
  • Démo du rapport
  • Article d'introduction
  • Article pour montrer les erreurs de configuration dans les réseaux
  • Article sur l'audit continu

Commandes

  • audit : Vérifie les erreurs de configuration potentielles.
  • collect : Collecte les métadonnées d'un compte. Plus de détails ici.
  • find_admins : Examine les politiques IAM pour identifier les utilisateurs et rôles administrateurs, ou les entités disposant de privilèges spécifiques. Plus de détails ici.
  • find_unused : Recherche les ressources inutilisées dans le compte. Trouve les groupes de sécurité, adresses IP élastiques, interfaces réseau, volumes et équilibreurs de charge élastiques inutilisés.
  • prepare/webserver : Voir Visualisations réseau
  • public : Trouve les hôtes publics et les plages de ports. Plus de détails ici.
  • sg_ips : Obtient des informations geoip sur les CIDR approuvés dans les groupes de sécurité. Plus de détails ici.
  • stats : Affiche les comptages de ressources pour les comptes. Plus de détails ici.
  • weboftrust : Affiche la toile de confiance. Plus de détails ici.
  • report : Génère un rapport HTML. Inclut un résumé des comptes et des constatations d'audit. Plus de détails ici.
  • iam_report : Génère un rapport HTML pour les informations IAM d'un compte. Plus de détails ici.

Si vous souhaitez ajouter vos propres commandes privées, vous pouvez créer un répertoire private_commands et les y ajouter.

Captures d'écran

Disposition idéale
Capture d'écran du rapport

Installation

Prérequis :

  • python 3 (3.7.0rc1 est connu pour fonctionner), pip, et virtualenv
  • Vous aurez également besoin de jq (https://stedolan.github.io/jq/) et de la bibliothèque pyjq (https://github.com/doloopwhile/pyjq), qui nécessitent quelques outils supplémentaires qui seront installés.

Sur macOS :

root@kitploit:~
# clone the repo
git clone https://github.com/duo-labs/cloudmapper.git
# Install pre-reqs for pyjq
brew install autoconf automake awscli freetype jq libtool python3
cd cloudmapper/
python3 -m venv ./venv && source venv/bin/activate
pip install --prefer-binary -r requirements.txt

Sur Linux :

root@kitploit:~
# clone the repo
git clone https://github.com/duo-labs/cloudmapper.git
# (AWS Linux, Centos, Fedora, RedHat etc.) :
# sudo yum install autoconf automake libtool python3-devel.x86_64 python3-tkinter python-pip jq awscli
# (Debian, Ubuntu etc.) :
# You may additionally need "build-essential"
sudo apt-get install autoconf automake libtool python3.7-dev python3-tk jq awscli
cd cloudmapper/
python3 -m venv ./venv && source venv/bin/activate
pip install -r requirements.txt

Exécution avec des données de démonstration

Un petit ensemble de données de démonstration est fourni. Cela affichera le même environnement que le site de démonstration https://duo-labs.github.io/cloudmapper/

root@kitploit:~
# Generate the data for the network map
python cloudmapper.py prepare --config config.json.demo --account demo
# Generate a report
python cloudmapper.py report --config config.json.demo --account demo
python cloudmapper.py webserver

Cela exécutera un serveur web local à http://127.0.0.1:8000/ Visualisez la carte réseau à partir de ce lien, ou consultez le rapport à http://127.0.0.1:8000/account-data/report.html

Configuration

  1. Configurez les informations de votre compte.
  2. Collectez des informations sur un compte AWS.

1. Configurer votre compte

Copiez le fichier config.json.demo en config.json et modifiez-le pour inclure votre ID de compte et son nom (ex. « prod »), ainsi que les noms de CIDR externes. Un CIDR est une plage IP telle que 1.2.3.4/32, qui signifie uniquement l'IP 1.2.3.4.

2. Collecter les données du compte

Cette étape utilise la CLI pour effectuer des appels describe et list et enregistre le json dans le dossier spécifié par le nom du compte sous account-data.

Privilèges AWS requis

Vous devez avoir des informations d'identification AWS configurées pouvant être utilisées par la CLI avec des droits de lecture pour les différentes métadonnées à collecter. Je recommande d'utiliser aws-vault. CloudMapper collectera les informations IAM, ce qui signifie que vous DEVEZ utiliser MFA. Seule l'étape collect nécessite un accès AWS.

Vous devez disposer des privilèges suivants (ils accordent divers accès en lecture aux métadonnées) :

  • arn:aws:iam::aws:policy/SecurityAudit
  • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess

Collecter les données

La collecte des données s'effectue comme suit :

root@kitploit:~
python cloudmapper.py collect --account my_account

Analyser les données

À partir de là, essayez d'exécuter les différentes commandes, par exemple :

root@kitploit:~
python cloudmapper.py report --account my_account
python cloudmapper.py webserver

Consultez ensuite le rapport dans votre navigateur à 127.0.0.1:8000/account-data/report.html

Configuration supplémentaire

Génération d'un fichier de configuration

Au lieu de modifier config.json directement, il existe une commande pour configurer les données qui s'y trouvent, au cas où cela serait nécessaire :

root@kitploit:~
python cloudmapper.py configure {add-account|remove-account} --config-file CONFIG_FILE --name NAME --id ID [--default DEFAULT]
python cloudmapper.py configure {add-cidr|remove-cidr} --config-file CONFIG_FILE --cidr CIDR --name NAME

Cela vous permettra de définir les différents comptes AWS que vous utilisez dans votre environnement et les IP CIDR connues.

Si vous utilisez AWS Organizations, vous pouvez également ajouter automatiquement les comptes membres de l'organisation à config.json en utilisant :

root@kitploit:~
python cloudmapper.py configure discover-organization-accounts

Vous devez être authentifié auprès de la CLI AWS et disposer de l'autorisation organization:ListAccounts avant d'exécuter cette commande.

Utilisation des surcharges de configuration d'audit

Il se peut que certains éléments d'audit ne vous intéressent pas. Vous pouvez ignorer complètement la vérification, ou seulement des ressources spécifiques. Copiez config/audit_config_override.yaml.example vers config/audit_config_override.yaml et modifiez le fichier en fonction des commentaires qui s'y trouvent.

Utilisation d'un conteneur Docker

Le conteneur Docker créé est destiné à être utilisé de manière interactive.

root@kitploit:~
docker build -t cloudmapper .

Cloudmapper doit effectuer des appels IAM et ne peut pas utiliser des informations d'identification de session pour la collecte, vous ne pouvez donc pas utiliser le serveur aws-vault si vous souhaitez collecter des données, et vous devez transmettre directement les informations d'identification de rôle ou configurer manuellement les informations d'identification AWS à l'intérieur du conteneur. Le code suivant expose vos informations d'identification brutes à l'intérieur du conteneur.

root@kitploit:~
(                                                              
    export $(aws-vault exec YOUR_PROFILE --no-session -- env | grep ^AWS | xargs) && \ 
    docker run -ti \
        -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
        -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
        -p 8000:8000 \
        cloudmapper /bin/bash
)

Cela vous placera dans le conteneur. Exécutez aws sts get-caller-identity pour confirmer que tout est correctement configuré. Les données de démonstration de Cloudmapper ne sont pas copiées dans le conteneur Docker, vous devrez donc collecter des données réelles de votre système. Notez que les paramètres par défaut de Docker peuvent limiter la mémoire disponible pour votre conteneur. Par exemple, sur Mac OS, la valeur par défaut est 2 Go, ce qui peut ne pas être suffisant pour générer le rapport sur un compte de taille moyenne.

root@kitploit:~
python cloudmapper.py configure add-account --config-file config.json --name YOUR_ACCOUNT --id YOUR_ACCOUNT_NUMBER
python cloudmapper.py collect --account YOUR_ACCOUNT
python cloudmapper.py report --account YOUR_ACCOUNT
python cloudmapper.py prepare --account YOUR_ACCOUNT
python cloudmapper.py webserver --public

Vous devriez alors pouvoir consulter le rapport en visitant http://127.0.0.1:8000/account-data/report.html

Exécution régulière de CloudMapper pour auditer votre environnement

Une application CDK pour déployer CloudMapper via Fargate afin qu'il s'exécute toutes les nuits, envoie les constatations d'audit sous forme d'alertes vers un canal Slack et génère un rapport sauvegardé sur S3, est décrite ici.

Alternatives

Pour les diagrammes réseau, vous pouvez essayer https://github.com/lyft/cartography ou https://github.com/anaynayak/aws-security-viz

Pour les outils d'audit et de sécurité AWS, voir https://github.com/toniblyx/my-arsenal-of-aws-security-tools

Licences

  • cytoscape.js: MIT https://github.com/cytoscape/cytoscape.js/blob/master/LICENSE
  • cytoscape.js-qtip: MIT https://github.com/cytoscape/cytoscape.js-qtip/blob/master/LICENSE
  • cytoscape.js-grid-guide: MIT https://github.com/iVis-at-Bilkent/cytoscape.js-grid-guide
  • cytoscape.js-panzoom: MIT https://github.com/cytoscape/cytoscape.js-panzoom/blob/master/LICENSE
  • jquery: JS Foundation https://github.com/jquery/jquery/blob/master/LICENSE.txt
  • jquery.qtip: MIT https://github.com/qTip2/qTip2/blob/master/LICENSE
  • cytoscape-navigator: MIT https://github.com/cytoscape/cytoscape.js-navigator/blob/c249bd1551c8948613573b470b30a471def401c5/bower.json#L24
  • cytoscape.js-autopan-on-drag: MIT https://github.com/iVis-at-Bilkent/cytoscape.js-autopan-on-drag
  • font-awesome: MIT http://fontawesome.io/
  • FileSave.js: MIT https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
  • circular-json: MIT https://github.com/WebReflection/circular-json/blob/master/LICENSE.txt
  • rstacruz/nprogress: MIT https://github.com/rstacruz/nprogress/blob/master/License.md
  • mousetrap: Apache https://github.com/ccampbell/mousetrap/blob/master/LICENSE
  • akkordion MIT https://github.com/TrySound/akkordion/blob/master/LICENSE
Télécharger l’outil
Résumé des constatations
Constatations Rapport IAM
Audit en ligne de commande Commande publique en ligne de commande