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
aws-perimeter — Un scanner de sécurité AWS en terminal avec plus de 102 vérifications de sécurité couvrant VPC, IAM, S3, CloudTrail, les conteneurs (ECS/EKS) et la détection d'attaques IA. Détecte les autorisations IAM dangereuses, les secrets exposés, les buckets S3 mal configurés, les vulnérabilités de conteneurs et les menaces émergentes de détournement LLM (LLMjacking). | Kitploit
Outils/GitHubGitHub/thirukguru/aws-perimeter
Sécurité de l'Infrastructure CloudScanners de VulnérabilitésSécurité des ConteneursAudit de ConfigurationTests d'IntrusionSécurité CloudDevSecOpsDétection de SecretsRenseignement sur les Menaces

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 →
Gestion des Identités et des Accès (IAM)
Mauvaise Configuration
Sécurité de l'IA
GitHubthirukguru/aws-perimeter

aws-perimeter

Voir le dépôt
3il y a 6 moisPas encore vérifié

À propos

Un scanner de sécurité AWS en terminal avec plus de 102 vérifications de sécurité couvrant VPC, IAM, S3, CloudTrail, les conteneurs (ECS/EKS) et la détection d'attaques IA. Détecte les autorisations IAM dangereuses, les secrets exposés, les buckets S3 mal configurés, les vulnérabilités de conteneurs et les menaces émergentes de détournement LLM (LLMjacking).

Partager

aws-perimeter

Go Version Go Reference Go Report Card License

Un scanner de sécurité AWS en terminal avec plus de 100 vérifications de sécurité couvrant VPC, IAM, S3, CloudTrail, les conteneurs (ECS/EKS) et la détection d'attaques IA. Détecte les permissions IAM dangereuses, les secrets exposés, les buckets S3 mal configurés, les vulnérabilités des conteneurs et les menaces émergentes de LLMjacking.

Aperçu du produit : docs/CAPABILITIES_OVERVIEW.md

Fonctionnalités

🔒 Sécurité VPC

  • Analyse des groupes de sécurité (SSH/RDP ouverts, ports de base de données)
  • Détection d'exposition publique et risques liés aux ports de gestion
  • Analyse des ACL réseau et audit des VPC Flow Logs
  • Risques de peering VPC, détection de bastion host
  • Statut NAT Gateway et couverture des endpoints VPC

🔑 Sécurité IAM

  • Détection d'escalade de privilèges (17 modèles)
  • Identifiants obsolètes (plus de 90 jours)
  • Analyse des relations de confiance跨-compte
  • Lacunes dans l'application du MFA
  • Politiques trop permissives (*:*)
  • Chaînage de rôles, ID externe, périmètres d'autorisation

🪣 Sécurité S3

  • Détection de buckets publics
  • Audit de chiffrement et politiques de bucket risquées
  • Statut du blocage d'accès public
  • Découverte de fichiers/objets sensibles (.env, .git, identifiants)
  • Détection de secrets dans le contenu textuel profond des objets S3

📜 CloudTrail et Journalisation

  • Lacunes de couverture des trails et journalisation multirégion
  • Statut de validation des journaux
  • Intégration CloudWatch Logs

🕵️ Détection de Secrets

  • Variables d'environnement Lambda (10 modèles de secrets)
  • Analyse du package de déploiement Lambda (ZIP)
  • Analyse des données utilisateur EC2
  • Analyse du contenu des objets S3 publics
  • Analyse des couches d'images ECR pour les identifiants intégrés
  • Clés AWS, tokens GitHub/Slack/Stripe

🐳 Sécurité des Conteneurs (NOUVEAU)

Sécurité ECS (10 vérifications)

  • Conteneurs privilégiés
  • Secrets dans les variables d'environnement
  • Exposition d'IP publique
  • Mode réseau hôte
  • Images non issues d'ECR
  • Système de fichiers racine inscriptible
  • Capacités Linux dangereuses
  • ECS Exec activé
  • Statut Container Insights
  • Rôle de tâche administrateur

Sécurité EKS (12 vérifications)

  • Accès au point de terminaison public
  • Point de terminaison privé désactivé
  • Journalisation du plan de contrôle
  • Chiffrement des secrets
  • Version de Kubernetes
  • Fournisseur OIDC pour IRSA
  • Modes d'authentification hérités
  • Nœuds dans des sous-réseaux publics
  • Accès SSH sans restriction
  • Rôle IAM de nœud de niveau administrateur
  • Type d'AMI (préférence Bottlerocket)

🤖 Détection d'Attaques IA (NOUVEAU)

Basé sur le renseignement de menaces de février 2025 : brèche AWS en 8 minutes

  • Surveillance des instances GPU : Détection des instances p2/p3/p4/p5, g3/g4/g5, inf1/inf2, trn1
  • Exposition publique des GPU : Instances GPU avec IP publiques
  • Risque IMDSv1 sur GPU : Instances GPU vulnérables au vol d'identifiants
  • Abus de Bedrock : Détection de débits provisionnés à haute capacité
  • Modèles personnalisés : Entraînement non autorisé de modèles Bedrock
  • Journalisation Bedrock : Absence de journalisation des invocations de modèles
  • Provisionnement rapide : Détection de limitation de l'API EC2 (motif d'attaque)

Résumé des Vérifications de Sécurité

CatégorieNombre
Core (IAM, VPC, S3, CloudTrail, Secrets)

Vérifications de Sécurité Critiques

Prérequis

1. AWS CLI Installé

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. Identifiants AWS Configurés

root@kitploit:~
aws configure
# ou utilisez des profils nommés
aws configure --profile monprofil

3. Permissions IAM Requises

Vos identifiants AWS doivent disposer d'un accès en lecture seule aux services scannés. La politique gérée AWS ReadOnlyAccess fonctionne, ou voir Permissions Requises ci-dessous.

Remarque : aws-perimeter n'effectue que des opérations de lecture et ne modifie jamais vos ressources AWS.

Installation

Installation Rapide (macOS/Linux)

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

Avec Go

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

Utilisation

root@kitploit:~
aws-perimeter                          # Exécuter un scan de sécurité complet
aws-perimeter --output json            # Sortie JSON
aws-perimeter --profile prod           # Profil AWS spécifique
aws-perimeter --region us-west-2       # Région spécifique
aws-perimeter --regions us-east-1,us-west-2            # Scan multirégion
aws-perimeter --regions us-east-1,us-west-2 --max-parallel 4  # Multirégion avec concurrence contrôlée
aws-perimeter --regions us-east-1,us-west-2 --max-parallel 4 --best-effort  # Quitter avec succès si au moins une région réussit
aws-perimeter --rules                   # Afficher RULES.md sur stdout (Markdown)
aws-perimeter --capabilities            # Afficher l'aperçu des capacités sur stdout (Markdown)
aws-perimeter --all-regions                            # Scanner toutes les régions activées
aws-perimeter --org-scan --org-role-name OrganizationAccountAccessRole  # Scan multi-compte de l'organisation
aws-perimeter --org-scan --max-parallel 5              # Concurrence d'éclatement Org+Région
aws-perimeter --output html --output-file report.html  # Générer un rapport HTML
aws-perimeter --store --profile prod --region us-west-2 # Exécuter + persister le scan
aws-perimeter --trends --trend-days 30 --account-id 123456789012  # Afficher le tableau de tendances historiques
aws-perimeter history list --db-path ~/.aws-perimeter/history.db
aws-perimeter dashboard --port 8080

Pour les modes d'éclatement (--regions, --all-regions, --org-scan) avec --output html --output-file ..., aws-perimeter écrit un rapport par unité de scan avec des suffixes région/compte et horodatage (par exemple security-report-us-east-1-20260210-213045.html ou security-report-123456789012-us-east-1-20260210-213045.html). En mode HTML, la sortie du tableau terminal est supprimée et seules des lignes récapitulatives concises sont imprimées.

Mode Automatisation JSON

Lorsque --output json est utilisé, aws-perimeter émet un seul document JSON valide sans bruit de bannière/spinner, donc sûr pour les pipelines.

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

# Le JSON multirégion émet un seul document JSON agrégé de premier niveau :
aws-perimeter --profile prod --regions us-east-1,us-west-2 --output json | jq .

# exporter la documentation via redirection stdout
aws-perimeter --rules > rules.md
aws-perimeter --capabilities > capabilities.md

Le payload JSON multirégion inclut :

  • summary (total_regions, success, failed, skipped)
  • results (charges utiles de scan consolidées par région)
  • failures (région + détails d'erreur en cas d'échec d'un scan régional)

Résumé de Sortie d'Éclatement

Pour les scans multirégion et organisation en modes de sortie non JSON, aws-perimeter imprime un résumé consolidé à la fin de l'exécution :

  • Lignes par unité de scan avec account_id, account_name, region, status, duration et error.
  • Totaux agrégés (TOTAL, SUCCESS, FAILED, SKIPPED).
  • Tableau récapitulatif par compte pour les scans d'organisation (nombre de succès/échecs/sauts par compte).

--max-parallel et --best-effort

  • --max-parallel contrôle le nombre d'unités de scan région/compte exécutées simultanément dans les modes d'éclatement (--regions, --all-regions, --org-scan).
  • Des valeurs plus élevées accélèrent les scans mais augmentent la pression API et le risque de limitation/contention réseau.
  • Point de départ recommandé : --max-parallel 3 ou --max-parallel 4.
  • --best-effort s'applique aux scans multirégion : la commande quitte avec succès (0) quand au moins une région réussit, même si certaines échouent.
  • Sans --best-effort, toute région en échec renvoie un code de sortie non nul.
  • Dans la sortie JSON multirégion, les régions en échec apparaissent sous failures avec l'erreur exacte.

Flags

Permissions AWS Requises

Les permissions suivantes sont nécessaires pour une couverture complète des fonctionnalités (y compris multirégion et scan d'organisation) :

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 est requis uniquement lors de l'analyse d'objets/packages chiffrés (par exemple, lectures d'objets S3 SSE-KMS). Limitez cette action aux clés KMS nécessaires en production.

Pour --org-scan, le principal de gestion doit être autorisé à assumer un rôle du compte membre (par défaut : OrganizationAccountAccessRole), par exemple :

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

La politique de confiance du rôle du compte membre doit également permettre à votre principal de scan (utilisateur/rôle) de l'assumer (et inclure la condition sts:ExternalId si vous utilisez --external-id).

Astuce : Pour un démarrage rapide, attachez la politique gérée AWS arn:aws:iam::aws:policy/ReadOnlyAccess à votre utilisateur/rôle IAM.

Feuille de Route

Phase 3 : Détection Avancée des Menaces

  • Modélisation des menaces STRIDE
  • Analyse des chemins d'attaque
  • Détection d'exfiltration de données
  • Indicateurs de minage de crypto-monnaie

Phase 4 : Fonctionnalités Entreprise

  • Support multi-compte des organisations
  • Intégration CI/CD
  • Export SIEM (Splunk, ELK)
  • Tendances historiques

Résumé

Licence

Apache License 2.0

Télécharger l’outil
38
Étendues (Lambda, ELB, Route53, Inspector, etc.)35
Sécurité des Conteneurs (ECS + EKS)22
Détection d'Attaques IA7
Total102
VérificationSévéritéDescription
Escalade de privilèges🔴 CritiqueL'utilisateur peut passer administrateur
Accès Admin (:)🔴 CritiqueAccès AWS complet accordé
Secrets exposés🔴 CritiqueClés API/tokens dans Lambda/EC2
Bucket S3 public🔴 CritiqueBucket accessible publiquement
Pas de CloudTrail🔴 CritiqueAucune journalisation d'audit
SSH/RDP ouvert🔴 CritiquePorts 22/3389 vers Internet
Conteneur privilégié🔴 CritiqueConteneur ECS avec accès root
GPU IMDSv1🔴 CritiqueIdentifiants d'instance GPU vulnérables
Confiance跨-compte🟠 ÉlevéeUn compte externe peut assumer un rôle
Point de terminaison public EKS🟠 ÉlevéeAPI Kubernetes accessible publiquement
Bedrock sans journalisation🟠 ÉlevéeUtilisation du modèle IA non audité
FlagCourtDescription
--profile-pProfil AWS à utiliser
--region-rRégion AWS
--regionsRégions séparées par des virgules
--all-regionsScanner toutes les régions activées
--org-scanScanner tous les comptes actifs de l'organisation AWS
--org-role-nameNom du rôle IAM à assumer dans les comptes membres
--external-idID externe pour l'assomption de rôle跨-compte
--output-oFormat de sortie : table, json ou html
--rulesAfficher le catalogue de règles Markdown et quitter
--capabilitiesAfficher les capacités Markdown et quitter
--output-file-fFichier de sortie (requis pour html)
--storePersister les résultats du scan dans SQLite
--db-pathChemin personnalisé de la base SQLite
--trendsAfficher les tendances historiques
--trend-daysFenêtre de tendance en jours (par défaut 30)
--compareComparer deux scans récents
--export-jsonExporter le fichier JSON des tendances
--export-csvExporter le fichier CSV des tendances
--account-idFiltre de compte pour les tendances/historique
--max-parallelNombre maximal d'unités de scan région/compte simultanées
--best-effortPour les scans multirégion, retourner succès si au moins une région réussit
--dry-runMode aperçu de remédiation
--remediateAppliquer les remédiations prises en charge
--dashboard-portPort du tableau de bord (flag racine ; la sous-commande dashboard utilise --port)
--version-vInformations de version
PhaseStatutRègles
Phase 1✅ Complète73
Phase 2🔲 En cours+20
Phase 2.5🆕 Détection d'Attaques IA+13
Phase 3🔲 Planifiée+15
Phase 4🔲 PlanifiéeFonctionnalités