Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
aws-recon — Outil de collecte d'inventaire AWS multi-threadé axé sur les ressources et métadonnées pertinentes pour la sécurité. | Kitploit
Outils/GitHubGitHub/joshlarsen/aws-recon
Sécurité de l'Infrastructure CloudReconnaissanceAnalyse des VulnérabilitésScripting et AutomatisationAudit de ConfigurationCollecte d'InformationsSécurité CloudDevSecOpsArchived
GitHubjoshlarsen/aws-recon

aws-recon

Outil de collecte d'inventaire AWS multi-threadé axé sur les ressources et métadonnées pertinentes pour la sécurité.

5585047il y a 1 anVérifié par Kitploit
Voir le dépôt

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

Docker Pulls Gem Version GitHub Workflow Status (branch) AWS Service Regions

AWS Recon

Un outil de collecte d'inventaire AWS orienté sécurité, multi-threadé, écrit en Ruby.

Cet outil a été créé pour faciliter la collecte efficace d'un grand nombre d'attributs et de métadonnées de ressources AWS. Il vise à collecter presque tout ce qui est pertinent pour la configuration de sécurité et la posture d'un environnement AWS.

Les outils existants (par exemple AWS Config) qui effectuent une forme de collecte de ressources manquent de couverture et de spécificité pour mesurer précisément la posture de sécurité (par exemple, données d'attributs de ressources détaillées, documents de politique entièrement analysés et relations de ressources imbriquées).

AWS Recon gère la collecte à partir de grands comptes en profitant des tentatives automatiques (que ce soit en raison de la fiabilité du réseau ou du limitation de l'API), de la pagination automatique des grandes réponses (> 100 ressources par appel API), et de requêtes multi-threadées parallèles pour accélérer la collecte.

Objectifs du projet

  • Couverture de ressources plus complète que les outils disponibles (en particulier pour ECS et EKS)
  • Détail de ressources plus granulaire, y compris les ressources imbriquées dans la sortie
  • Sortie flexible (console, lignes JSON, JSON simple, fichier, bucket S3 et sortie standard)
  • Efficace (multi-threadé, limité en débit, tentatives automatiques et pagination automatique des résultats)
  • Facile à maintenir et à étendre

Entreprises géniales utilisant AWS Recon**

  • Netflix
  • HashiCorp
  • Workday
  • Stripe
  • PayPal
  • Typeform
  • Amazon Web Services
  • Plaid
  • Expel
  • Mozilla
  • Bugcrowd
  • Dropbox
  • Pinterest
  • HackerOne
  • MuleSoft
  • Slack
  • Drata
  • Google
  • Sophos
  • Sumo Logic
  • Coalfile
  • Xero

** l'utilisation n'implique pas un aval

Configuration

Prérequis

AWS Recon a besoin d'un rôle ou d'identifiants de compte AWS avec ReadOnlyAccess. Un accès AdministratorAccess complet est trop privilégié, mais fonctionnera aussi. La politique SecurityAudit n'est pas suffisante car elle omet l'accès à de nombreux services.

Exécution via Docker

Utilisez Docker version 19.x ou supérieure pour exécuter l'image pré-construite sans avoir à installer quoi que ce soit.

Exécution locale via Ruby

Si vous avez déjà Ruby installé (2.6.x ou 2.7.x), vous pouvez installer la gem Ruby.

Installation

AWS Recon peut être exécuté localement via un conteneur Docker ou en installant la gem Ruby.

Pour exécuter via un conteneur Docker, passez les identifiants AWS nécessaires dans la commande docker run. Par exemple :

$ docker run -t --rm \
  -e AWS_REGION \
  -e AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY \
  -e AWS_SESSION_TOKEN \
  -v $(pwd)/output.json:/recon/output.json \
  darkbitio/aws_recon:latest \
  aws_recon -v -s EC2 -r global,us-east-1,us-east-2

Pour exécuter localement, installez d'abord la gem :

$ gem install aws_recon
Fetching aws_recon-0.5.17.gem
Fetching aws-sdk-3.0.1.gem
Fetching parallel-1.20.1.gem
...
Successfully installed aws-sdk-3.0.1
Successfully installed parallel-1.20.1
Successfully installed aws_recon-0.5.17

Ou ajoutez-la à votre Gemfile en utilisant bundle :

$ bundle add aws_recon
Fetching gem metadata from https://rubygems.org/
Resolving dependencies...
...
Using aws-sdk 3.0.1
Using parallel-1.20.1
Using aws_recon 0.5.17

Utilisation

AWS Recon exploitera tous les identifiants AWS (voir prérequis) actuellement disponibles dans l'environnement où il s'exécute. Si vous collectez à partir de plusieurs comptes, vous pouvez utiliser un outil comme aws-vault pour gérer différents identifiants.

$ aws-vault exec profile -- aws_recon

Les variables d'environnement simples fonctionneront aussi bien.

$ AWS_PROFILE=<profil> aws_recon

Pour exécuter à partir d'un conteneur Docker en utilisant des identifiants gérés par aws-vault (sortie vers stdout) :

$ aws-vault exec <vault_profile> -- docker run -t --rm \
  -e AWS_REGION \
  -e AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY \
  -e AWS_SESSION_TOKEN \
  darkbitio/aws_recon:latest \
  aws_recon -j -s EC2 -r global,us-east-1,us-east-2

Pour exécuter à partir d'un conteneur Docker en utilisant des identifiants gérés par aws-vault et sortie vers un fichier, vous devez satisfaire quelques conditions. Tout d'abord, Docker doit avoir accès au montage bind du chemin que vous spécifiez (ou d'un chemin parent). Deuxièmement, vous devez créer un fichier vide pour enregistrer la sortie (par exemple output.json). En effet, seul ce fichier est monté dans le conteneur Docker au moment de l'exécution. Par exemple :

Créez un fichier vide.

$ touch output.json

Exécutez le conteneur aws_recon, en spécifiant le fichier de sortie.

$ aws-vault exec <vault_profile> -- docker run -t --rm \
  -e AWS_REGION \
  -e AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY \
  -e AWS_SESSION_TOKEN \
  -v $(pwd)/output.json:/recon/output.json \
  darkbitio/aws_recon:latest \
  aws_recon -s EC2 -v -r global,us-east-1,us-east-2

Vous pouvez utiliser le flag -v ou --verbose au début pour voir l'état et l'activité pendant l'exécution de la collecte.

En mode verbeux, la sortie console affichera :

<thread>.<region>.<service>.<operation>

Le préfixe t indique sous quel thread une requête particulière est exécutée. Region, service et operation indiquent quelle opération de requête est actuellement en cours et où.

$ aws_recon -v

t0.global.EC2.describe_account_attributes
t2.global.S3.list_buckets
t3.global.Support.describe_trusted_advisor_checks
t2.global.S3.list_buckets.acl
t5.ap-southeast-1.WorkSpaces.describe_workspaces
t6.ap-northeast-1.Lightsail.get_instances
...
t2.us-west-2.WorkSpaces.describe_workspaces
t1.us-east-2.Lightsail.get_instances
t4.ap-southeast-1.Firehose.list_delivery_streams
t7.ap-southeast-1.Lightsail.get_instances
t0.ap-south-1.Lightsail.get_instances
t1.us-east-2.Lightsail.get_load_balancers
t7.ap-southeast-2.WorkSpaces.describe_workspaces
t2.eu-west-3.SageMaker.list_notebook_instances
t3.eu-west-2.SageMaker.list_notebook_instances

Finished in 46 seconds. Saving resources to output.json.

Exemples d'options en ligne de commande

# collecter les ressources globales S3 et EC2, ainsi que us-east-1 et us-east-2

$ AWS_PROFILE=<profil> aws_recon -s S3,EC2 -r global,us-east-1,us-east-2
# collecter les ressources globales S3 et EC2, ainsi que us-east-1 et us-east-2

$ AWS_PROFILE=<profil> aws_recon --services S3,EC2 --regions global,us-east-1,us-east-2
# enregistrer la sortie dans un bucket S3
Télécharger l’outil