Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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-perimeter — Uno scanner di sicurezza AWS basato su terminale con oltre 102 controlli di sicurezza su VPC, IAM, S3, CloudTrail, container (ECS/EKS) e rilevamento di attacchi AI. Rileva permessi IAM pericolosi, segreti esposti, bucket S3 configurati in modo errato, vulnerabilità dei container e minacce emergenti LLMjacking. | Kitploit
Strumenti/GitHubGitHub/thirukguru/aws-perimeter
Sicurezza dell'Infrastruttura CloudScanner di VulnerabilitàSicurezza dei ContenitoriAudit di ConfigurazionePenetration TestingSicurezza CloudDevSecOpsRilevamento SegretiThreat Intelligence
Gestione Identità e Accessi (IAM)
Configurazione Errata
Sicurezza dell'IA
GitHubthirukguru/aws-perimeter

aws-perimeter

Vedi Repository
376 mesi faNon ancora revisionato

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 →

Informazioni

Uno scanner di sicurezza AWS basato su terminale con oltre 102 controlli di sicurezza su VPC, IAM, S3, CloudTrail, container (ECS/EKS) e rilevamento di attacchi AI. Rileva permessi IAM pericolosi, segreti esposti, bucket S3 configurati in modo errato, vulnerabilità dei container e minacce emergenti LLMjacking.

Condividi

aws-perimeter

Go Version Go Reference Go Report Card License

Uno Scanner di Sicurezza AWS basato su terminale con oltre 100 controlli di sicurezza su VPC, IAM, S3, CloudTrail, container (ECS/EKS) e rilevamento di attacchi AI. Rileva permessi IAM pericolosi, segreti esposti, bucket S3 malconfigurati, vulnerabilità dei container e minacce emergenti di LLMjacking.

Panoramica del prodotto: docs/CAPABILITIES_OVERVIEW.md

Caratteristiche

Sicurezza VPC

  • Analisi dei gruppi di sicurezza (SSH/RDP aperti, porte database)
  • Rilevamento esposizione pubblica e rischi porte di gestione
  • Analisi ACL di rete e audit dei log di flusso VPC
  • Rischi di peering VPC, rilevamento bastion host
  • Stato NAT Gateway e copertura endpoint VPC

Sicurezza IAM

  • Rilevamento escalation privilegi (17 modelli)
  • Credenziali obsolete (90+ giorni)
  • Analisi trust cross-account
  • Lacune nell'applicazione dell'MFA
  • Policy eccessivamente permissive (*:*)
  • Role chaining, external ID, permission boundary

Sicurezza S3

  • Rilevamento bucket pubblici
  • Audit crittografia e policy bucket rischiose
  • Stato blocco accesso pubblico
  • Scoperta file/oggetti sensibili (.env, .git, credenziali)
  • Rilevamento segreti in testo profondo negli oggetti S3

CloudTrail e Logging

  • Lacune nella copertura dei trail e logging multi-regione
  • Stato validazione log
  • Integrazione CloudWatch Logs

Rilevamento Segreti

  • Variabili d'ambiente Lambda (10 modelli di segreti)
  • Scansione pacchetto di deployment Lambda (ZIP)
  • Scansione dati utente EC2
  • Scansione contenuto oggetti S3 pubblici
  • Scansione layer immagine ECR per credenziali incorporate
  • Chiavi AWS, token GitHub/Slack/Stripe

Sicurezza Container (NUOVO)

Sicurezza ECS (10 controlli)

  • Container privilegiati
  • Segreti in variabili d'ambiente
  • Esposizione IP pubblico
  • Modalità rete host
  • Immagini non ECR
  • Filesystem root scrivibile
  • Capacità Linux pericolose
  • ECS Exec abilitato
  • Stato Container Insights
  • Ruolo attività admin

Sicurezza EKS (12 controlli)

  • Accesso endpoint pubblico
  • Endpoint privato disabilitato
  • Logging del piano di controllo
  • Crittografia segreti
  • Versione Kubernetes
  • Provider OIDC per IRSA
  • Modalità autenticazione legacy
  • Nodi in subnet pubbliche
  • Accesso SSH non limitato
  • Ruolo IAM nodo a livello admin
  • Tipo AMI (preferenza Bottlerocket)

Rilevamento Attacchi AI (NUOVO)

Basato su intelligence sulle minacce di febbraio 2025: violazione AWS in 8 minuti

  • Monitoraggio Istanze GPU: Rilevamento istanze p2/p3/p4/p5, g3/g4/g5, inf1/inf2, trn1
  • Esposizione Pubblica GPU: Istanze GPU con IP pubblici
  • Rischio IMDSv1 GPU: Istanze GPU vulnerabili a furto credenziali
  • Abuso Bedrock: Rilevamento throughput provisioning ad alta capacità
  • Modelli Personalizzati: Addestramento modelli Bedrock non autorizzato
  • Logging Bedrock: Assenza logging invocazione modello
  • Provisioning Rapido: Rilevamento throttling API EC2 (pattern di attacco)

Riepilogo Controlli di Sicurezza

CategoriaConteggio
Core (IAM, VPC, S3, CloudTrail, Segreti)38
Estesi (Lambda, ELB, Route53, Inspector, ecc.)35
Sicurezza Container (ECS + EKS)22
Rilevamento Attacchi AI7
Totale102

Controlli di Sicurezza Critici

ControlloGravitàDescrizione
Escalation Privilegi🔴 CriticoL'utente può escalare ad admin
Accesso Admin (:)🔴 CriticoAccesso completo AWS concesso
Segreti Esposti🔴 CriticoChiavi API/token in Lambda/EC2
Bucket S3 Pubblico🔴 CriticoBucket accessibile pubblicamente
Nessun CloudTrail🔴 CriticoNessun logging di audit
SSH/RDP Aperti🔴 CriticoPorta 22/3389 verso internet
Container Privilegiato🔴 CriticoContainer ECS con accesso root
GPU IMDSv1🔴 CriticoCredenziali istanza GPU vulnerabili
Trust Cross-Account🟠 AltoAccount esterno può assumere ruolo
Endpoint Pubblico EKS🟠 AltoAPI Kubernetes accessibile pubblicamente
Bedrock Nessun Logging🟠 AltoUtilizzo modello AI non auditato

Prerequisiti

1. AWS CLI Installato

root@kitploit:~
# macOS
brew install awscli

# Linux
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install

2. Credenziali AWS Configurate

root@kitploit:~
aws configure
# oppure utilizza profili nominativi
aws configure --profile myprofile

3. Permessi IAM Richiesti

Le tue credenziali AWS devono avere accesso di sola lettura ai servizi sottoposti a scansione. La policy gestita AWS ReadOnlyAccess funziona, oppure consulta Permessi Richiesti qui sotto.

Nota: aws-perimeter esegue solo operazioni di lettura e non modifica mai le tue risorse AWS.

Installazione

Installazione Veloce (macOS/Linux)

root@kitploit:~
curl -sSfL https://raw.githubusercontent.com/thirukguru/aws-perimeter/main/install.sh | sh

Utilizzando Go

root@kitploit:~
go install github.com/thirukguru/aws-perimeter@latest

Utilizzo

root@kitploit:~
aws-perimeter                          # Esegue scansione di sicurezza completa
aws-perimeter --output json            # Output JSON
aws-perimeter --profile prod           # Profilo AWS specifico
aws-perimeter --region us-west-2       # Regione specifica
aws-perimeter --regions us-east-1,us-west-2            # Scansione multi-regione
aws-perimeter --regions us-east-1,us-west-2 --max-parallel 4  # Multi-regione con concorrenza controllata
aws-perimeter --regions us-east-1,us-west-2 --max-parallel 4 --best-effort  # Esce con successo se almeno una regione ha successo
aws-perimeter --rules                   # Stampa RULES.md su stdout (Markdown)
aws-perimeter --capabilities            # Stampa panoramica capacità su stdout (Markdown)
aws-perimeter --all-regions                            # Scansiona tutte le regioni abilitate
aws-perimeter --org-scan --org-role-name OrganizationAccountAccessRole  # Scansione org multi-account
aws-perimeter --org-scan --max-parallel 5              # Concorrenza org+regione fanout
aws-perimeter --output html --output-file report.html  # Genera report HTML
aws-perimeter --store --profile prod --region us-west-2 # Esegui + persisti scansione
aws-perimeter --trends --trend-days 30 --account-id 123456789012  # Mostra tabella trend storici
aws-perimeter history list --db-path ~/.aws-perimeter/history.db
aws-perimeter dashboard --port 8080

Per le modalità fanout (--regions, --all-regions, --org-scan) con --output html --output-file ..., aws-perimeter scrive un report per unità di scansione con suffissi regione/account + timestamp (ad esempio security-report-us-east-1-20260210-213045.html o security-report-123456789012-us-east-1-20260210-213045.html). In modalità HTML, l'output della tabella terminale viene soppresso e vengono stampate solo righe di riepilogo concise.

Modalità Automazione JSON

Quando si utilizza --output json, aws-perimeter emette un singolo documento JSON valido senza banner/rumore di spinner, quindi è sicuro per pipeline.

root@kitploit:~
aws-perimeter --profile prod --region us-west-2 --output json | jq .

# Multi-regione JSON emette un unico documento JSON aggregato di primo livello:
aws-perimeter --profile prod --regions us-east-1,us-west-2 --output json | jq .

# esporta documenti tramite reindirizzamento stdout
aws-perimeter --rules > rules.md
aws-perimeter --capabilities > capabilities.md

Il payload JSON multi-regione include:

  • summary (total_regions, success, failed, skipped)
  • results (carichi di scansione consolidati per regione)
  • failures (regione + dettagli errore quando una scansione di regione fallisce)

Output Riepilogo Fanout

Per scansioni multi-regione e org in modalità di output non JSON, aws-perimeter stampa un riepilogo consolidato alla fine dell'esecuzione:

  • Righe per unità di scansione con account_id, account_name, region, status, duration e error.
  • Totali aggregati (TOTAL, SUCCESS, FAILED, SKIPPED).
  • Tabella di rollup a livello account per scansioni org (conteggi success/failure/skip per account).

--max-parallel e --best-effort

  • --max-parallel controlla quante unità di scansione regione/account vengono eseguite contemporaneamente nelle modalità fanout (--regions, --all-regions, --org-scan).
  • Valori più alti velocizzano le scansioni ma aumentano la pressione API e la possibilità di throttling/contenzione di rete.
  • Punto di partenza consigliato: --max-parallel 3 o --max-parallel 4.
  • --best-effort si applica alle scansioni multi-regione: il comando esce con successo (0) quando almeno una regione ha successo, anche se alcune regioni falliscono.
  • Senza --best-effort, qualsiasi regione fallita restituisce un codice di uscita non zero.
  • Nell'output JSON multi-regione, le regioni fallite appaiono sotto failures con l'errore esatto.

Flag

FlagShortDescrizione
--profile-pProfilo AWS da utilizzare
--region-rRegione AWS
--regionsRegioni separate da virgola
--all-regionsScansiona tutte le regioni abilitate
--org-scanScansiona tutti gli account attivi dell'organizzazione AWS
--org-role-nameNome del ruolo IAM da assumere negli account membri
--external-idExternal ID per assume role cross-account
--output-oFormato output: table, json o html
--rulesStampa catalogo regole Markdown ed esci
--capabilitiesStampa capacità Markdown ed esci
--output-file-fFile di output (richiesto per html)
--storePersisti risultati scansione in SQLite
--db-pathPercorso SQLite personalizzato
--trendsMostra trend storici
--trend-daysFinestra trend in giorni (default 30)
--compareConfronta due scansioni recenti
--export-jsonEsporta file JSON trend
--export-csvEsporta file CSV trend
--account-idFiltro account per trend/storico
--max-parallel

Permessi AWS Richiesti

I seguenti permessi sono richiesti per la copertura completa delle funzionalità (inclusa scansione multi-regione e org):

root@kitploit:~
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:GetCallerIdentity",
        "sts:AssumeRole",
        
        "organizations:DescribeOrganization",
        "organizations:ListAccounts",
        
        "ec2:Describe*",
        "ec2:GetEbsEncryptionByDefault",
        
        "iam:List*",
        "iam:Get*",
        "iam:GenerateCredentialReport",
        
        "s3:ListAllMyBuckets",
        "s3:GetBucket*",
        "s3:GetEncryptionConfiguration",
        
        "cloudtrail:DescribeTrails",
        "cloudtrail:GetTrailStatus",
        "cloudtrail:LookupEvents",
        
        "lambda:ListFunctions",
        "lambda:GetFunctionConfiguration",
        "lambda:GetFunction",
        
        "ecr:DescribeRepositories",
        "ecr:DescribeImages",
        "ecr:BatchGetImage",
        "ecr:GetDownloadUrlForLayer",
        
        "ecs:ListClusters",
        "ecs:DescribeClusters",
        "ecs:ListServices",
        "ecs:DescribeServices",
        "ecs:DescribeTaskDefinition",
        
        "eks:ListClusters",
        "eks:DescribeCluster",
        "eks:ListNodegroups",
        "eks:DescribeNodegroup",
        
        "bedrock:ListProvisionedModelThroughputs",
        "bedrock:ListCustomModels",
        "bedrock:GetModelInvocationLoggingConfiguration",
        
        "guardduty:ListDetectors",
        "guardduty:GetDetector",
        "guardduty:ListFindings",
        "guardduty:GetFindings",
        
        "securityhub:DescribeHub",
        "securityhub:GetFindings",
        
        "config:Describe*",
        
        "kms:ListKeys",
        "kms:DescribeKey",
        "kms:GetKeyRotationStatus",
        "kms:Decrypt",
        
        "rds:DescribeDB*",
        
        "dynamodb:ListTables",
        "dynamodb:DescribeTable",
        "dynamodb:DescribeContinuousBackups",
        
        "secretsmanager:ListSecrets",
        
        "elasticloadbalancing:Describe*",
        
        "backup:List*",
        
        "apigateway:GET",
        
        "cloudfront:List*",
        "cloudfront:Get*",
        
        "cloudwatch:GetMetricStatistics",
        
        "sns:ListTopics",
        "sqs:ListQueues"
      ],
      "Resource": "*"
    }
  ]
}

kms:Decrypt è richiesto solo quando si scansionano oggetti/pacchetti crittografati (ad esempio letture oggetti S3 SSE-KMS). Limitare a chiavi KMS richieste in produzione.

Per --org-scan, il principal di gestione deve essere autorizzato ad assumere un ruolo negli account membri (default: OrganizationAccountAccessRole), ad esempio:

root@kitploit:~
{
  "Effect": "Allow",
  "Action": "sts:AssumeRole",
  "Resource": "arn:aws:iam::*:role/OrganizationAccountAccessRole"
}

La policy di trust del ruolo nell'account membro deve anche consentire al tuo principal scanner (utente/ruolo) di assumerlo (e includere la condizione sts:ExternalId se usi --external-id).

Suggerimento: Per un avvio rapido, allega la policy gestita AWS arn:aws:iam::aws:policy/ReadOnlyAccess al tuo utente/ruolo IAM.

Roadmap

Fase 3: Rilevamento Minacce Avanzato

  • Modellazione minacce STRIDE
  • Analisi percorsi attacco
  • Rilevamento esfiltrazione dati
  • Indicatori crypto-mining

Fase 4: Funzionalità Enterprise

  • Supporto Organizzazioni multi-account
  • Integrazione CI/CD
  • Esportazione SIEM (Splunk, ELK)
  • Trend storici

Riepilogo

FaseStatoRegole
Fase 1✅ Completata73
Fase 2🔲 In Corso+20
Fase 2.5🆕 Rilevamento Attacchi AI+13
Fase 3🔲 Pianificata+15
Fase 4🔲 PianificataFunzionalità

Licenza

Apache License 2.0

Scarica lo strumento
Max unità di scansione regione/account concorrenti
--best-effortPer scansioni multi-regione, restituisci successo se almeno una regione ha successo
--dry-runModalità anteprima remediation
--remediateApplica remediation supportate
--dashboard-portPorta dashboard (flag radice; sottocomando dashboard usa --port)
--version-vInformazioni versione