Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Aaia — Visualizador e Detector de Anomalias do AWS Identity and Access Management | Kitploit
Ferramentas/GitHubGitHub/rams3sh/aaia
Segurança de Infraestrutura em NuvemEscalada de PrivilégiosReconhecimentoAnálise de VulnerabilidadesAuditoria de ConfiguraçãoColeta de InformaçõesTestes de PenetraçãoSegurança na NuvemGerenciamento de Identidade e Acesso (IAM)
GitHubrams3sh/aaia

Aaia

Visualizador e Detector de Anomalias do AWS Identity and Access Management

29640há 6 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

NOTA

Este repositório não está em desenvolvimento ativo. No entanto, estou aberto a aceitar PRs. O Aaia ainda funciona, pois não houve mudanças significativas nas APIs da AWS que ele utiliza para coletar dados.

Aaia

(A)nálise de (I)dentidade e (A)cesso

Nota: A expansão foi criada depois que o nome foi decidido :P

O que o Aaia faz?

O Aaia (pronunciado como mostrado aqui) ajuda a visualizar o IAM e as Organizações da AWS em formato de grafo com a ajuda do Neo4j. Isso ajuda a identificar facilmente os outliers. Como é baseado no neo4j, é possível consultar o grafo usando consultas cypher para encontrar anomalias.

O Aaia também suporta módulos para buscar dados programaticamente do banco de dados neo4j e processá-los de forma personalizada. Isso é útil principalmente quando uma comparação ou lógica complexa precisa ser aplicada, o que não seria fácil através de consultas cypher.

O Aaia foi inicialmente concebido para ser uma ferramenta para enumerar possibilidades de escalonamento de privilégios e encontrar brechas no IAM da AWS. Foi inspirado na citação de @JohnLaTwC:

"Defensores pensam em listas. Atacantes pensam em grafos. Enquanto isso for verdade, os atacantes vencem."

Por que o nome "Aaia"?

Aaia em Tâmil significa avó. Em geral, a Aaia sabe tudo sobre a família. Ela consegue conectar facilmente quem é parente de quem; e como; e te dá a conexão em uma fração de segundo. Ela é um banco de dados de grafos vivo. :P

Como o "Aaia" (esta ferramenta) também faz mais ou menos a mesma coisa, daí o nome.

Instalação

Instalar o Banco de Dados Neo4j

1. Instalação usando Docker (Recomendado)

i. Instalar o Runtime Docker

Consulte a documentação oficial sobre instalação aqui.

ii. Execute o seguinte 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: O comando acima persiste os dados do neo4j no seu disco. No entanto, sinta-se à vontade para modificar conforme suas necessidades e alterar a autenticação de acordo com sua preferência. As credenciais fornecidas aqui devem ser configuradas também no arquivo Aaia.conf.

2. Instalação usando binário

Instruções aqui

Configure o nome de usuário, senha e URI de conexão bolt no arquivo Aaia.conf. Um formato de exemplo já é fornecido no arquivo Aaia.conf.

Nota: O Aaia foi testado com neo4j v 3.5.17. Pode funcionar com versões mais antigas. O Neo4j introduziu algumas mudanças novas após a v 4.0 que se mostraram incompatíveis com a base de código atual do Aaia.

Instalar dependência do SO

Debian :-

apt-get install awscli jq

Redhat / Fedora / Centos / Amazon Linux :-

yum install awscli jq

Nota:

Esses pacotes são necessários para o script Aaia_aws_collector.sh. Certifique-se de que esses pacotes estejam presentes no sistema base de onde o script coletor está sendo executado.

Clonar este repositório

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

cd Aaia/

Criar um ambiente virtual

python3 -m venv env

Ativar o ambiente virtual

source env/bin/activate

Nota: O Aaia depende da biblioteca pyjq, que não é estável no Windows atualmente. Portanto, o Aaia não é suportado para o sistema operacional Windows.

Instalar as dependências

python -m pip install -r requirements.txt

Usando o Aaia

Configurando Permissões na AWS

O Aaia exigiria as seguintes permissões da AWS para que o script coletor colete os dados relevantes 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

As permissões relacionadas a "Organizations" podem ser omitidas. No entanto, todas as permissões de "IAM" mencionadas acima são necessárias.

Certifique-se de que as permissões estejam disponíveis para o usuário/papel/qualquer principal da AWS que será usado para a coleta de dados pelo script coletor.

Coletando dados da AWS

Certifique-se de ter as credenciais AWS configuradas. Consulte isto para obter ajuda.

Uma vez que a credencial esteja configurada.

Execute:-

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

Certifique-se de que o formato de saída do perfil AWS usado para coleta de dados esteja definido como json, pois o Aaia espera que os dados coletados estejam no formato json.

Nota:-

Caso haja a necessidade de coletar dados de outra instância; copie o arquivo "Aaia_aws_collector.sh" para a instância remota, execute-o e copie a pasta "offline_data" gerada para o caminho do Aaia na instância onde o Aaia está configurado e prossiga com as etapas seguintes. Isso será útil em casos de consultoria ou auditoria de cliente.

Carregando os dados coletados para o banco de dados Neo4j

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

-n suporta "all" como valor, o que significa carregar todos os dados coletados e presentes na pasta offline_data.

Nota:

Certifique-se de que você não tenha um perfil chamado "all" no arquivo de credenciais, pois isso pode entrar em conflito com o argumento. :P

Agora estamos prontos para usar o Aaia.

Auditar IAM através de um módulo personalizado

Atualmente, um módulo de exemplo é fornecido como um esqueleto. Pode-se considerar isso como referência para construir módulos personalizados.

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

Agradecimentos a

O Aaia foi influenciado e inspirado por vários projetos open source incríveis. Um grande agradecimento a:

  • Cloudmapper
  • Cartography
  • BloodHound

Aaia em Ação

asciicast

Capturas de Tela

Um exemplo visual do IAM de uma conta AWS fictícia

Imagem do Visual do AWS IAM Neo4j

Um exemplo visual do resultado de uma consulta cypher para encontrar todas as relações de um usuário no IAM da AWS

Imagem do Visual do resultado de consulta cypher do AWS IAM

A FAZER

  • Escrever uma documentação detalhada para entender o esquema do banco de dados Neo4j do Aaia
  • Escrever uma documentação detalhada para desenvolver módulos personalizados para o Aaia
  • Escrever módulos personalizados para avaliar os 28 métodos de escalonamento de privilégios da AWS identificados pela RhinoSecurity.
  • Fornecer uma folha de dicas de consultas para identificar problemas simples no IAM da AWS
  • Estender o Aaia para outros provedores de nuvem.
Baixar ferramenta