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
Outils/GitHubGitHub/rams3sh/aaia
Sécurité de l'Infrastructure CloudEscalade de PrivilègesReconnaissanceAnalyse des VulnérabilitésAudit de ConfigurationCollecte d'InformationsTests d'IntrusionSécurité CloudGestion des Identités et des Accès (IAM)
GitHubrams3sh/aaia

Aaia

Visualiseur et détecteur d'anomalies pour AWS Identity and Access Management

29640il y a 6 moisVé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
Voir le dépôt

NOTE

Ce dépôt n'est pas en développement actif. Cependant, je suis ouvert à l'acceptation de PRs. Aaia fonctionne toujours car il n'y a pas eu de changements significatifs dans les API AWS qu'il utilise pour collecter des données.

Aaia

(A)n(a)lyse de (I)dentité et (A)ccès

Remarque : L'expansion a été créée après le choix du nom :P

Que fait Aaia ?

Aaia (prononcé comme indiqué ici ) permet de visualiser AWS IAM et Organizations sous forme de graphe avec l'aide de Neo4j. Cela facilite l'identification des valeurs aberrantes. Comme il est basé sur Neo4j, on peut interroger le graphe à l'aide de requêtes Cypher pour trouver les anomalies.

Aaia prend également en charge des modules permettant de récupérer programmatiquement les données de la base Neo4j et de les traiter de manière personnalisée. Cela est surtout utile si une comparaison ou une logique complexe doit être appliquée, ce qui ne serait pas facile autrement avec des requêtes Cypher.

Aaia était initialement destiné à être un outil pour énumérer les possibilités d'escalade de privilèges et trouver des failles dans AWS IAM. Il a été inspiré par la citation de @JohnLaTwC :

« Les défenseurs pensent en listes. Les attaquants pensent en graphes. Tant que cela sera vrai, les attaquants gagneront. »

Pourquoi le nom « Aaia » ?

Aaia en tamoul signifie grand-mère. En général, une grand-mère sait tout sur la famille. Elle peut facilement relier qui est apparenté à qui, et comment, et vous donner la connexion en une fraction de seconde. Elle est une base de données de graphes vivante. :P

Comme « Aaia » (cet outil) fait plus ou moins la même chose, d'où le nom.

Installation

Installer la base de données Neo4j

1. Installation avec Docker (recommandée)

i. Installer le runtime Docker

Consultez la documentation officielle concernant l'installation ici.

ii. Exécutez la commande Docker suivante

root@kitploit:~
docker run -p 7687:7687 -p 7474:7474 -v `pwd`/neo4j/data:/data -v `pwd`/neo4j/logs:/logs -e NEO4J_AUTH=neo4j/test neo4j:3.5.17

Remarque : La commande ci-dessus persiste les données Neo4j sur votre disque. Cependant, n'hésitez pas à modifier selon vos besoins et à changer l'authentification selon vos préférences. Les identifiants fournis ici doivent également être configurés dans le fichier Aaia.conf.

2. Installation avec le binaire

Instructions ici

Configurez le nom d'utilisateur, le mot de passe et l'URI de connexion Bolt dans le fichier Aaia.conf. Un exemple de format est déjà donné dans le fichier Aaia.conf.

Remarque : Aaia a été testé avec Neo4j v 3.5.17. Il peut fonctionner avec des versions plus anciennes. Neo4j a introduit quelques changements après la v 4.0 qui se sont avérés incompatibles avec la base de code actuelle d'Aaia.

Installer les dépendances du système d'exploitation

Debian :-

apt-get install awscli jq

Redhat / Fedora / Centos / Amazon Linux :-

yum install awscli jq

Remarque :

Ces paquets sont nécessaires pour le script Aaia_aws_collector.sh. Assurez-vous que ces paquets sont présents sur le système de base à partir duquel le script de collecte est exécuté.

Cloner ce dépôt

git clone https://github.com/rams3sh/Aaia

cd Aaia/

Créer un environnement virtuel

python3 -m venv env

Activer l'environnement virtuel

source env/bin/activate

Remarque : Aaia dépend de la bibliothèque pyjq qui n'est pas stable sur Windows actuellement. Par conséquent, Aaia n'est pas pris en charge pour le système d'exploitation Windows.

Installer les dépendances

python -m pip install -r requirements.txt

Utilisation d'Aaia

Configuration des autorisations dans AWS

Aaia nécessite les autorisations AWS suivantes pour que le script de collecte puisse récupérer les données pertinentes depuis AWS

root@kitploit:~
iam:GenerateCredentialReport
iam:GetCredentialReport
iam:GetAccountAuthorizationDetails
iam:ListUsers
iam:GetUser
iam:ListGroups
iam:ListRoles
iam:GetRole
iam:GetPolicy
iam:GetAccountPasswordPolicy
iam:GetAccountSummary
iam:ListAccountAliases
organizations:ListAccountsForParent
organizations:ListOrganizationalUnitsForParent
organizations:DescribeOrganization
organizations:ListRoots
organizations:ListAccounts
organizations:ListTagsForResource
organizations:ListPolicies
organizations:ListTargetsForPolicy
organizations:DescribePolicy
organizations:ListAWSServiceAccessForOrganization

Les autorisations liées à « Organizations » peuvent être omises. Cependant, toutes les autorisations « IAM » mentionnées ci-dessus sont nécessaires.

Assurez-vous que les autorisations sont disponibles pour l'utilisateur / le rôle / tout principal AWS qui sera utilisé pour la collecte de données avec le script de collecte.

Collecte des données depuis AWS

Assurez-vous d'avoir configuré les identifiants AWS. Reportez-vous ici pour obtenir de l'aide.

Une fois les identifiants configurés.

Exécutez :-

root@kitploit:~
./Aaia_aws_collector.sh <profile_name>

Assurez-vous que le format de sortie du profil AWS utilisé pour la collecte de données est défini sur json, car Aaia s'attend à ce que les données collectées soient au format json.

Remarque :-

En cas de besoin de collecte de données depuis une autre instance, copiez le fichier "Aaia_aws_collector.sh" sur l'instance distante, exécutez-le et copiez le dossier "offline_data" généré dans le chemin Aaia sur l'instance où Aaia est installé, puis poursuivez avec les étapes suivantes. Cela sera utile dans les cas de conseil ou d'audit client.

Chargement des données collectées dans la base Neo4j

root@kitploit:~
python Aaia.py -n <profile_name> -a load_data

-n prend en charge la valeur "all", ce qui signifie charger toutes les données collectées et présentes dans le dossier offline_data.

Remarque :

Assurez-vous de ne pas avoir de profil nommé "all" dans le fichier d'identifiants, car cela pourrait entrer en conflit avec l'argument. :P

Maintenant nous sommes prêts à utiliser Aaia.

Auditer IAM via un module personnalisé

Pour l'instant, un module d'exemple est fourni comme squelette. On peut le considérer comme une référence pour construire des modules personnalisés.

root@kitploit:~
python Aaia.py -n all -m iam_sample_audit

Remerciements

Aaia est influencé et inspiré par divers projets open source impressionnants. Un grand merci à :-

  • Cloudmapper
  • Cartography
  • BloodHound

Aaia en action

asciicast

Captures d'écran

Un exemple visuel de l'IAM d'un compte AWS factice

Image de la visualisation Neo4j d'AWS IAM

Un exemple visuel du résultat d'une requête Cypher pour trouver toutes les relations d'un utilisateur dans AWS IAM

Image du résultat de la requête Cypher AWS IAM

À FAIRE

  • Rédiger une documentation détaillée pour comprendre le schéma de la base Neo4j d'Aaia
  • Rédiger une documentation détaillée pour développer des modules personnalisés pour Aaia
  • Rédiger des modules personnalisés pour évaluer les 28 méthodes d'escalade de privilèges AWS identifiées par RhinoSecurity.
  • Fournir une antisèche de requêtes pour identifier les problèmes simples dans AWS IAM
  • Étendre Aaia à d'autres fournisseurs de cloud.
Télécharger l’outil