Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Aaia — AWS Identity and Access Management Visualizer und Anomalie-Finder | Kitploit
Tools/GitHubGitHub/rams3sh/aaia
Cloud-Infrastruktur-SicherheitPrivilege EscalationAufklärungSchwachstellenanalyseKonfigurationsprüfungInformationsbeschaffungPenetrationstestsCloud-SicherheitIdentitäts- & Zugriffsmanagement (IAM)
GitHubrams3sh/aaia

Aaia

2964019vor 2 JahrenVon Kitploit geprüft

AWS Identity and Access Management Visualizer und Anomalie-Finder

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

HINWEIS

Dieses Repository wird nicht aktiv weiterentwickelt. Ich bin jedoch offen für Pull Requests. Aaia funktioniert weiterhin, da es keine wesentlichen Änderungen an den AWS-APIs gab, die es zur Datenerfassung verwendet.

Aaia

(A)n(a)lysis of (I)dentity and (A)ccess

Note: Expansion created post the name was decided :P

Was macht Aaia?

Aaia (ausgesprochen wie hier gezeigt) hilft dabei, AWS IAM und Organizations in einem Graph-Format mit Hilfe von Neo4j zu visualisieren. Dies hilft, Ausreißer leicht zu identifizieren. Da es auf Neo4j basiert, kann man den Graphen mit Cypher-Abfragen abfragen, um Anomalien zu finden.

Aaia unterstützt auch Module, um programmatisch Daten aus der Neo4j-Datenbank abzurufen und auf benutzerdefinierte Weise zu verarbeiten. Dies ist besonders nützlich, wenn komplexe Vergleiche oder Logik angewendet werden müssen, die ansonsten durch Cypher-Abfragen nicht einfach umsetzbar wären.

Aaia war ursprünglich als Werkzeug gedacht, um Privilegieneskalationsmöglichkeiten aufzulisten und Sicherheitslücken in AWS IAM zu finden. Es wurde durch das Zitat von @JohnLaTwC inspiriert.

"Verteidiger denken in Listen. Angreifer denken in Graphen. Solange dies wahr ist, gewinnen Angreifer."

Warum der Name "Aaia"?

Aaia bedeutet auf Tamil 'Großmutter'. Im Allgemeinen weiß Aaia alles über die Familie. Sie kann leicht verbinden, wer mit wem verwandt ist und wie, und dir die Verbindung innerhalb einer Sekunde geben. Sie ist eine lebende Graphdatenbank. :P

Da "Aaia" (dieses Werkzeug) auch mehr oder weniger dasselbe tut, daher der Name.

Installation

Neo4j-Datenbank installieren

1. Installation mit Docker (empfohlen)

i. Docker-Laufzeit installieren

Die offizielle Dokumentation zur Installation findest du hier.

ii. Führe den folgenden Docker-Befehl aus

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

Hinweis: Der obige Befehl speichert Neo4j-Daten auf deiner Festplatte. Du kannst ihn jedoch nach Bedarf anpassen und die Authentifizierung nach deinen Wünschen ändern. Die hier angegebenen Anmeldeinformationen sollten auch in der Datei Aaia.conf konfiguriert werden.

2. Installation mit Binärdatei

Anleitung hier

Richte Benutzername, Passwort und Bolt-Verbindungs-URI in der Datei Aaia.conf ein. In der Datei Aaia.conf ist bereits ein Beispielformat angegeben.

Hinweis: Aaia wurde mit Neo4j v 3.5.17 getestet. Es könnte mit älteren Versionen funktionieren. Neo4j hat nach v 4.0 einige Änderungen eingeführt, die nicht mit der aktuellen Codebasis von Aaia kompatibel sind.

Betriebssystem-Abhängigkeiten installieren

Debian :-

apt-get install awscli jq

Redhat / Fedora / Centos / Amazon Linux :-

yum install awscli jq

Hinweis:

Diese Pakete werden für das Skript Aaia_aws_collector.sh benötigt. Stelle sicher, dass diese Pakete auf dem Basissystem vorhanden sind, von dem aus das Collector-Skript ausgeführt wird.

Dieses Repository klonen

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

cd Aaia/

Eine virtuelle Umgebung erstellen

python3 -m venv env

Die virtuelle Umgebung aktivieren

source env/bin/activate

Hinweis: Aaia ist von der pyjq-Bibliothek abhängig, die derzeit unter Windows nicht stabil ist. Daher wird Aaia unter Windows nicht unterstützt.

Abhängigkeiten installieren

python -m pip install -r requirements.txt

Aaia verwenden

Berechtigungen in AWS einrichten

Aaia benötigt die folgenden AWS-Berechtigungen, damit das Collector-Skript relevante Daten aus AWS sammeln kann

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

Organizations-bezogene Berechtigungen können ausgelassen werden. Alle oben genannten IAM-Berechtigungen sind jedoch erforderlich.

Stelle sicher, dass die Berechtigungen für den Benutzer / die Rolle / den AWS-Principal verfügbar sind, der für die Datensammlung durch das Collector-Skript verwendet wird.

Daten aus AWS sammeln

Stelle sicher, dass AWS-Anmeldeinformationen konfiguriert sind. Hilfe findest du hier.

Sobald die Anmeldeinformationen eingerichtet sind.

Führe aus:-

./Aaia_aws_collector.sh <profile_name>

Stelle sicher, dass das Ausgabeformat des AWS-Profils, das für die Datensammlung verwendet wird, auf json gesetzt ist, da Aaia die gesammelten Daten im JSON-Format erwartet.

Hinweis:-

Falls Daten von einer anderen Instanz gesammelt werden müssen, kopiere die Datei "Aaia_aws_collector.sh" auf die entfernte Instanz, führe sie aus und kopiere den generierten Ordner "offline_data" in den Aaia-Pfad auf der Instanz, auf der Aaia eingerichtet ist, und fahre mit den folgenden Schritten fort. Dies ist in Fällen von Beratung oder Kunden-Audits hilfreich.

Laden der gesammelten Daten in die Neo4j-Datenbank

python Aaia.py -n <profile_name> -a load_data

-n unterstützt den Wert "all", was bedeutet, dass alle gesammelten Daten aus dem Ordner offline_data geladen werden.

Hinweis:

Bitte stelle sicher, dass du kein Profil mit dem Namen "all" in der Anmeldedatendatei hast, da dies mit dem Argument kollidieren könnte. :P

Jetzt sind wir bereit, Aaia zu verwenden.

IAM durch ein benutzerdefiniertes Modul prüfen

Derzeit ist ein Beispielmodul als Skelettbeispiel gegeben. Man kann dies als Referenz für die Erstellung benutzerdefinierter Module betrachten.

python Aaia.py -n all -m iam_sample_audit

Danksagungen

Aaia wurde von verschiedenen großartigen Open-Source-Projekten beeinflusst und inspiriert. Ein riesiger Dank geht an:-

  • Cloudmapper
  • Cartography
  • BloodHound

Aaia in Aktion

asciicast

Screenshots

Eine Beispielvisualisierung der IAM eines Dummy-AWS-Kontos

Bild der Neo4j-Visualisierung von AWS IAM

Eine Beispielvisualisierung des Ergebnisses einer Cypher-Abfrage, um alle Beziehungen eines Benutzers in AWS IAM zu finden

Bild des Abfrageergebnisses von AWS IAM

NOCH ZU TUN

  • Eine detaillierte Dokumentation zum Verständnis des Neo4j-Datenbankschemas von Aaia schreiben
  • Eine detaillierte Dokumentation zur Entwicklung benutzerdefinierter Module für Aaia schreiben
  • Benutzerdefinierte Module schreiben, um die 28 AWS-Privilegieneskalationsmethoden von RhinoSecurity zu evaluieren.
  • Ein Cheatsheet mit Abfragen zur Identifizierung einfacher Probleme in AWS IAM bereitstellen
  • Aaia auf andere Cloud-Anbieter erweitern.
Tool herunterladen