Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Aaia — Visualizador y Buscador de Anomalías de AWS Identity and Access Management | Kitploit
Herramientas/GitHubGitHub/rams3sh/aaia
Seguridad de Infraestructura en la NubeEscalada de PrivilegiosReconocimientoAnálisis de VulnerabilidadesAuditoría de ConfiguraciónRecopilación de InformaciónPruebas de PenetraciónSeguridad en la NubeGestión de Identidad y Acceso (IAM)
GitHubrams3sh/aaia

Aaia

296405hace 7 mesesRevisado por Kitploit

Visualizador y Buscador de Anomalías de AWS Identity and Access Management

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

NOTA

Este repositorio no está en desarrollo activo. Sin embargo, estoy abierto a aceptar PRs. Aaia aún funciona ya que no ha habido cambios significativos en las APIs de AWS que utiliza para recopilar datos.

Aaia

Análisis de Identidad y Acceso

Nota: La expansión se creó después de decidir el nombre :P

¿Qué hace Aaia?

Aaia (pronunciado como se muestra aquí) ayuda a visualizar IAM y Organizations de AWS en formato de grafo con la ayuda de Neo4j. Esto facilita la identificación de valores atípicos. Al estar basado en neo4j, se puede consultar el grafo usando consultas cypher para encontrar anomalías.

Aaia también soporta módulos para obtener datos programáticamente de la base de datos neo4j y procesarlos de forma personalizada. Esto es útil principalmente si se necesita aplicar una comparación o lógica compleja que de otro modo no sería fácil mediante consultas cypher.

Aaia fue inicialmente concebida como una herramienta para enumerar posibilidades de escalada de privilegios y encontrar brechas en AWS IAM. Fue inspirada por la cita de @JohnLaTwC:

"Los defensores piensan en listas. Los atacantes piensan en grafos. Mientras esto sea así, los atacantes ganan."

¿Por qué el nombre "Aaia"?

Aaia en tamil significa abuela. En general, una Aaia lo sabe todo sobre la familia. Puede conectar fácilmente quién está relacionado con quién, y cómo, y darte la conexión en una fracción de segundo. Es una base de datos de grafos viviente. :P

Descargar herramienta

Como "Aaia" (esta herramienta) hace más o menos lo mismo, de ahí el nombre.

Instalación

Instalar la base de datos neo4j

1. Instalación usando Docker (Recomendado)

i. Instalar el runtime de Docker

Consulta la documentación oficial sobre la instalación aquí.

ii. Ejecutar el siguiente 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: El comando anterior persiste los datos de neo4j en tu disco. Sin embargo, siéntete libre de modificarlo según tus necesidades y cambiar las credenciales según tu preferencia. Las credenciales proporcionadas aquí deben configurarse también en el archivo Aaia.conf.

2. Instalación usando binario

Instrucciones aquí

Configura el nombre de usuario, la contraseña y la URI de conexión bolt en el archivo Aaia.conf. Ya se proporciona un formato de ejemplo en el archivo Aaia.conf.

Nota: Aaia ha sido probado con neo4j v 3.5.17. Puede funcionar con versiones anteriores. Neo4j ha introducido algunos cambios nuevos posteriores a v 4.0 que se ha encontrado que no son compatibles con el código base actual de Aaia.

Instalar dependencias del sistema operativo

Debian:

apt-get install awscli jq

Redhat / Fedora / Centos / Amazon Linux:

yum install awscli jq

Nota:

Estos paquetes son necesarios para el script Aaia_aws_collector.sh. Asegúrate de que estos paquetes estén presentes en el sistema base desde donde se ejecuta el script recolector.

Clonar este repositorio

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

cd Aaia/

Crear un entorno virtual

python3 -m venv env

Activar el entorno virtual

source env/bin/activate

Nota: Aaia depende de la librería pyjq que actualmente no es estable en Windows. Por lo tanto, Aaia no es compatible con el sistema operativo Windows.

Instalar las dependencias

python -m pip install -r requirements.txt

Usando Aaia

Configurar permisos en AWS

Aaia requeriría los siguientes permisos de AWS para que el script recolector recopile datos relevantes de 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

Los permisos relacionados con "Organizations" pueden omitirse. Sin embargo, todos los permisos de "IAM" mencionados anteriormente son necesarios.

Asegúrate de que los permisos estén disponibles para el usuario/rol/cualquier principal de AWS que se utilizará para la recopilación de datos mediante el script recolector.

Recopilar datos de AWS

Asegúrate de tener las credenciales de AWS configuradas. Consulta esto para obtener ayuda.

Una vez configuradas las credenciales.

Ejecuta:-

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

Asegúrate de que el formato de salida del perfil de AWS que se utiliza para la recopilación de datos esté configurado en json, ya que Aaia espera que los datos recopilados estén en formato json.

Nota:

En caso de que se requiera recopilar datos desde otra instancia; copia el archivo "Aaia_aws_collector.sh" a la instancia remota, ejecútalo y copia la carpeta "offline_data" generada a la ruta de Aaia en la instancia donde está configurado Aaia y continúa con los siguientes pasos. Esto será útil en casos de consultoría o auditoría de clientes.

Cargar los datos recopilados en la base de datos Neo4j

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

-n soporta "all" como valor, lo que significa cargar todos los datos recopilados y presentes dentro de la carpeta offline_data.

Nota:

Asegúrate de no tener un perfil llamado "all" en el archivo de credenciales, ya que podría entrar en conflicto con el argumento. :P

Ahora estamos listos para usar Aaia.

Auditar IAM mediante un módulo personalizado

Por ahora, se proporciona un módulo de ejemplo como esqueleto. Se puede considerar como referencia para construir módulos personalizados.

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

Agradecimientos a

Aaia está influenciado e inspirado por varios proyectos de código abierto increíbles. Un enorme agradecimiento a:

  • Cloudmapper
  • Cartography
  • BloodHound

Aaia en acción

asciicast

Capturas de pantalla

Una visualización de ejemplo del IAM de una cuenta de AWS ficticia

Imagen de visualización de AWS IAM Neo4j

Una visualización de ejemplo del resultado de una consulta cypher para encontrar todas las relaciones de un usuario en AWS IAM

Imagen de visualización del resultado de una consulta cypher de AWS IAM

POR HACER

  • Escribir una documentación detallada para entender el esquema de la base de datos Neo4j de Aaia
  • Escribir una documentación detallada para desarrollar módulos personalizados para Aaia
  • Escribir módulos personalizados para evaluar los 28 métodos de escalada de privilegios en AWS identificados por RhinoSecurity.
  • Proporcionar una hoja de trucos de consultas para identificar problemas simples en AWS IAM
  • Extender Aaia a otros proveedores de nube.