Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
aws-recon — Strumento di raccolta inventario AWS multi-thread con focus su risorse e metadati rilevanti per la sicurezza. | Kitploit
Strumenti/GitHubGitHub/joshlarsen/aws-recon
Sicurezza dell'Infrastruttura CloudRicognizioneAnalisi delle VulnerabilitàScripting e AutomazioneAudit di ConfigurazioneRaccolta InformazioniSicurezza CloudDevSecOpsArchived
GitHubjoshlarsen/aws-recon

aws-recon

Strumento di raccolta inventario AWS multi-thread con focus su risorse e metadati rilevanti per la sicurezza.

55850331 anno faRevisionato da Kitploit
Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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

AWS Recon

Uno strumento di raccolta inventario orientato alla sicurezza AWS, multi-threaded, scritto in Ruby.

Questo strumento è stato creato per facilitare la raccolta efficiente di una grande quantità di attributi e metadati delle risorse AWS. Mira a raccogliere quasi tutto ciò che è rilevante per la configurazione di sicurezza e la postura di un ambiente AWS.

Gli strumenti esistenti (ad es. AWS Config) che eseguono una qualche forma di raccolta di risorse mancano della copertura e della specificità per misurare accuratamente la postura di sicurezza (ad es. dati dettagliati sugli attributi delle risorse, documenti policy completamente analizzati e relazioni tra risorse nidificate).

AWS Recon gestisce la raccolta da account di grandi dimensioni sfruttando i tentativi automatici (a causa di affidabilità della rete o limitazione API), il paging automatico delle risposte di grandi dimensioni (> 100 risorse per chiamata API) e richieste parallele multi-threaded per velocizzare la raccolta.

Obiettivi del Progetto

  • Copertura delle risorse più completa rispetto agli strumenti disponibili (soprattutto per ECS ed EKS)
  • Maggior dettaglio sulle risorse, incluse le risorse correlate nidificate nell'output
  • Output flessibile (console, linee JSON, JSON semplice, file, bucket S3 e standard output)
  • Efficiente (multi-threaded, limitato in frequenza, tentativi automatici e paging automatico dei risultati)
  • Facile da mantenere ed estendere

Aziende fantastiche che utilizzano 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
  • Coalfire
  • Xero

** l'utilizzo non implica approvazione

Configurazione

Requisiti

AWS Recon necessita di un ruolo o credenziali dell'account AWS con ReadOnlyAccess. L'accesso completo AdministratorAccess è eccessivo, ma funzionerà comunque. La policy SecurityAudit non è sufficiente in quanto omette l'accesso a molti servizi.

Esecuzione tramite Docker

Utilizzare Docker versione 19.x o superiore per eseguire l'immagine precompilata senza dover installare nulla.

Esecuzione locale tramite Ruby

Se hai già Ruby installato (2.6.x o 2.7.x), potresti voler installare la gemma Ruby.

Installazione

AWS Recon può essere eseguito localmente tramite un container Docker o installando la gemma Ruby.

Per eseguire tramite un container Docker, passa le credenziali AWS necessarie nel comando docker run. Ad esempio:

$ 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

Per eseguire localmente, installa prima la gemma:

$ 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

Oppure aggiungila al tuo Gemfile usando 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

Utilizzo

AWS Recon sfrutterà qualsiasi credenziale AWS (vedi requisiti) attualmente disponibile per l'ambiente in cui viene eseguito. Se stai raccogliendo da più account, potresti voler utilizzare qualcosa come aws-vault per gestire credenziali diverse.

$ aws-vault exec profile -- aws_recon

Anche le variabili d'ambiente semplici funzioneranno bene.

$ AWS_PROFILE=<profile> aws_recon

Per eseguire da un container Docker utilizzando credenziali gestite da aws-vault (output su 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

Per eseguire da un container Docker utilizzando credenziali gestite da aws-vault e output su file, devi soddisfare un paio di requisiti. Innanzitutto, Docker deve avere accesso per montare il percorso specificato (o un percorso padre). In secondo luogo, devi creare un file vuoto in cui salvare l'output (ad es. output.json). Questo perché solo quel file viene montato nel container Docker al momento dell'esecuzione. Ad esempio:

Crea un file vuoto.

$ touch output.json

Esegui il container aws_recon, specificando il file di output.

$ 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

Potresti voler utilizzare l'opzione -v o --verbose inizialmente per vedere lo stato e l'attività durante la raccolta.

In modalità verbose, l'output della console mostrerà:

<thread>.<region>.<servizio>.<operazione>

Il prefisso t indica quale thread sta eseguendo una particolare richiesta. Regione, servizio e operazione indicano quale operazione di richiesta è attualmente in corso e dove.

$ 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

Finito in 46 secondi. Salvataggio risorse in output.json.

Opzioni della riga di comando - Esempi

# raccogli risorse globali S3 ed EC2, oltre a us-east-1 e us-east-2

$ AWS_PROFILE=<profile> aws_recon -s S3,EC2 -r global,us-east-1,us-east-2
# raccogli risorse globali S3 ed EC2, oltre a us-east-1 e us-east-2

$ AWS_PROFILE=<profile> aws_recon --services S3,EC2 --regions global,us-east-1,us-east-2
# salva output su bucket S3

$ AWS_PROFILE=<profile> aws_recon \
  --services S3,EC2 \
  --regions global,us-east-1,us-east-2 \
  --verbose \
  --s3-bucket my-recon-bucket
Scarica lo strumento