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
Aaia — Visualizzatore e Rilevatore di Anomalie di AWS Identity and Access Management | Kitploit
Strumenti/GitHubGitHub/rams3sh/aaia
Sicurezza dell'Infrastruttura CloudEscalation di PrivilegiRicognizioneAnalisi delle VulnerabilitàAudit di ConfigurazioneRaccolta InformazioniPenetration TestingSicurezza CloudGestione Identità e Accessi (IAM)
GitHubrams3sh/aaia

Aaia

Visualizzatore e Rilevatore di Anomalie di AWS Identity and Access Management

2964067 mesi 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

NOTA

Questo repository non è in fase di sviluppo attivo. Tuttavia, sono aperto ad accettare PR. Aaia funziona ancora poiché non ci sono stati cambiamenti significativi in termini di API AWS che utilizza per raccogliere dati.

Aaia

(A)n(a)lisi di (I)dentità e (A)ccesso

Nota: Espansione creata dopo che il nome è stato deciso :P

Cosa fa Aaia?

Aaia (pronunciato come mostrato qui ) aiuta a visualizzare AWS IAM e Organizations in formato grafico con l'aiuto di Neo4j. Questo aiuta a identificare facilmente gli outlier. Poiché è basato su neo4j, è possibile interrogare il grafico usando query cypher per trovare le anomalie.

Aaia supporta anche moduli per prelevare dati dal database neo4j in modo programmatico e processarli in modo personalizzato. Questo è utile soprattutto se è necessario applicare confronti complessi o logiche che altrimenti non sarebbero facili con le query cypher.

Aaia è stato inizialmente pensato per essere uno strumento per enumerare le possibilità di escalation dei privilegi e trovare falle in AWS IAM. È stato ispirato dalla citazione di @JohnLaTwC

"Defenders think in lists. Attackers think in graphs. As long as this is true, attackers win."

Perché il nome "Aaia"?

Aaia in Tamil significa nonna. In generale, una nonna sa tutto della famiglia. Può facilmente collegare chi è parente di chi; e come; e darti la connessione in una frazione di secondo. È un database a grafo vivente. :P

Scarica lo strumento

Poiché "Aaia" (questo strumento) fa più o meno lo stesso, da qui il nome.

Installazione

Installa il database neo4j

1. Installazione usando Docker (Consigliato)

i. Installa Docker Runtime

Controlla la documentazione ufficiale per l'installazione qui.

ii. Esegui il seguente comando docker

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

Nota: Il comando sopra persiste i dati neo4j sul disco. Tuttavia, sentiti libero di modificare per le tue esigenze e cambiare le credenziali secondo le tue preferenze. Le credenziali fornite qui devono essere configurate anche nel file Aaia.conf.

2. Installazione usando il binario

Istruzioni qui

Imposta il nome utente, la password e l'URI di connessione bolt nel file Aaia.conf. Un formato di esempio è già fornito nel file Aaia.conf.

Nota: Aaia è stato testato con neo4j v 3.5.17. Potrebbe funzionare con versioni precedenti. Neo4j ha introdotto alcune modifiche dopo la v 4.0 che sono risultate non compatibili con il codice attuale di Aaia.

Installa le dipendenze del sistema operativo

Debian :-

apt-get install awscli jq

Redhat / Fedora / Centos / Amazon Linux :-

yum install awscli jq

Nota:

Questi pacchetti sono necessari per lo script Aaia_aws_collector.sh. Assicurati che questi pacchetti siano presenti nel sistema di base da cui viene eseguito lo script di raccolta.

Clona questo repository

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

cd Aaia/

Crea un ambiente virtuale

python3 -m venv env

Attiva l'ambiente virtuale

source env/bin/activate

Nota: Aaia dipende dalla libreria pyjq che non è stabile su Windows al momento. Quindi Aaia non è supportato per il sistema operativo Windows.

Installa le dipendenze

python -m pip install -r requirements.txt

Usare Aaia

Impostare le autorizzazioni in AWS

Aaia richiederà le seguenti autorizzazioni AWS perché lo script di raccolta possa raccogliere dati rilevanti da 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

Le autorizzazioni relative a Organizations possono essere omesse. Tuttavia, tutte le autorizzazioni IAM menzionate sopra sono necessarie.

Assicurati che le autorizzazioni siano disponibili per l'utente / ruolo / qualsiasi principale AWS che verrà utilizzato per la raccolta dei dati per lo script di raccolta.

Raccogliere dati da AWS

Assicurati di aver configurato le credenziali AWS. Fai riferimento a questo per aiuto.

Una volta impostate le credenziali.

Esegui:-

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

Assicurati che il formato di output del profilo AWS utilizzato per la raccolta dati sia impostato su json poiché Aaia si aspetta che i dati raccolti siano in formato json.

Nota:-

Nel caso in cui sia necessario raccogliere dati da un'altra istanza; copia il file "Aaia_aws_collector.sh" nell'istanza remota, eseguilo e copia la cartella "offline_data" generata nel percorso Aaia nell'istanza in cui Aaia è configurato e prosegui con i passaggi successivi. Questo sarà utile in caso di consulenza o audit clienti.

Caricare i dati raccolti nel database Neo4j

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

-n supporta "all" come valore, il che significa caricare tutti i dati raccolti e presenti nella cartella offline_data.

Nota:

Per favore assicurati di non avere un profilo chiamato "all" nel file delle credenziali poiché potrebbe entrare in conflitto con l'argomento. :P

Ora siamo pronti per usare Aaia.

Audit IAM tramite un modulo personalizzato

Per ora, un modulo di esempio è fornito come scheletro. Si può considerare questo come riferimento per costruire moduli personalizzati.

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

Ringraziamenti

Aaia è influenzato e ispirato da vari progetti open source fantastici. Un enorme ringraziamento a:-

  • Cloudmapper
  • Cartography
  • BloodHound

Aaia in azione

asciicast

Screenshot

Un esempio visivo dell'IAM di un account AWS fittizio

Immagine della visualizzazione IAM AWS in Neo4j

Un esempio visivo del risultato di una query cypher per trovare tutte le relazioni di un utente in AWS IAM

Immagine del risultato di una query cypher IAM AWS

DA FARE

  • Scrivere una documentazione dettagliata per comprendere lo schema del database Neo4j di Aaia
  • Scrivere una documentazione dettagliata per sviluppare moduli personalizzati per Aaia
  • Scrivere moduli personalizzati per valutare i 28 metodi di escalation dei privilegi AWS identificati da RhinoSecurity.
  • Fornire un cheat sheet di query per identificare problemi semplici in AWS IAM
  • Estendere Aaia ad altri provider cloud.