Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Aaia — AWS Identity and Access Management 시각화 및 이상 탐지 도구 | Kitploit
도구/GitHubGitHub/rams3sh/aaia
Cloud Infrastructure SecurityPrivilege EscalationReconnaissanceVulnerability AnalysisConfiguration AuditingInformation GatheringPenetration TestingCloud SecurityIdentity & Access Management (IAM)
GitHubrams3sh/aaia

Aaia

AWS Identity and Access Management 시각화 및 이상 탐지 도구

296406개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

참고

이 저장소는 현재 활발히 개발되고 있지 않습니다. 그러나 PR을 수락할 의향이 있습니다. Aaia는 데이터 수집에 사용하는 AWS API에 큰 변화가 없었기 때문에 여전히 작동합니다.

Aaia

(A)아이덴티티 및 (A)ccess 분(A)석(Analysis of Identity and Access)

참고: 약어는 이름이 정해진 후에 만들어졌습니다 :P

Aaia가 하는 일은?

Aaia(발음은 여기에서 확인)는 Neo4j를 활용하여 AWS IAM 및 Organizations를 그래프 형태로 시각화하는 데 도움을 줍니다. 이는 이상값(outliers)을 쉽게 식별하는 데 도움이 됩니다. Neo4j 기반이기 때문에, cypher 쿼리를 사용하여 그래프를 질의하고 이상 징후를 찾을 수 있습니다.

Aaia는 또한 Neo4j 데이터베이스에서 데이터를 프로그래밍 방식으로 가져와 사용자 지정 방식으로 처리하는 모듈을 지원합니다. 이는 cypher 쿼리로는 쉽지 않은 복잡한 비교나 로직을 적용해야 할 때 특히 유용합니다.

Aaia는 처음에 AWS IAM에서 권한 상승 가능성을 열거하고 허점을 찾기 위한 도구로 고안되었습니다. @JohnLaTwC의 다음 인용문에서 영감을 받았습니다.

"방어자는 목록으로 생각한다. 공격자는 그래프로 생각한다. 이것이 사실인 한, 공격자가 이긴다."

왜 "Aaia"라는 이름인가요?

Tamil어로 Aaia는 할머니를 의미합니다. 일반적으로 할머니는 가족에 대해 모든 것을 알고 있습니다. 누가 누구와 관련되어 있고, 어떻게 관련되어 있는지 쉽게 연결하고 순식간에 관계를 알려줄 수 있습니다. 그녀는 살아있는 그래프 데이터베이스입니다. :P

"Aaia"(이 도구)도 거의 같은 일을 하기 때문에 이름이 이렇게 붙었습니다.

설치

Neo4j 데이터베이스 설치

1. Docker를 이용한 설치 (권장)

i. Docker 런타임 설치

공식 문서를 참고하여 설치하세요 여기.

ii. 다음 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

참고: 위 명령어는 neo4j 데이터를 디스크에 유지합니다. 필요에 따라 수정하고 인증 정보를 원하는 대로 변경하세요. 여기에 제공된 자격 증명은 Aaia.conf 파일에도 구성되어야 합니다.

2. 바이너리를 이용한 설치

설치 방법은 여기를 참고하세요.

Aaia.conf 파일에 사용자 이름, 비밀번호, bolt 연결 URI를 설정하세요. 예제 형식은 Aaia.conf 파일에 이미 제공되어 있습니다.

참고: Aaia는 neo4j v3.5.17에서 테스트되었습니다. 이전 버전에서도 작동할 수 있습니다. Neo4j는 v4.0 이후 몇 가지 새로운 변경 사항을 도입했으며, 현재 Aaia 코드베이스와 호환되지 않는 것으로 확인되었습니다.

OS 종속성 설치

Debian:

apt-get install awscli jq

Redhat / Fedora / Centos / Amazon Linux:

yum install awscli jq

참고:

이 패키지는 Aaia_aws_collector.sh 스크립트에 필요합니다. 수집 스크립트가 실행되는 기본 시스템에 이러한 패키지가 있는지 확인하세요.

이 저장소 클론

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

cd Aaia/

가상 환경 생성

python3 -m venv env

가상 환경 활성화

source env/bin/activate

참고: Aaia는 현재 Windows에서 안정적이지 않은 pyjq 라이브러리에 의존합니다. 따라서 Aaia는 Windows OS를 지원하지 않습니다.

종속성 설치

python -m pip install -r requirements.txt

Aaia 사용하기

AWS 권한 설정

Aaia가 수집 스크립트를 통해 AWS에서 관련 데이터를 수집하려면 다음 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

"Organizations" 관련 권한은 생략할 수 있습니다. 그러나 위에 언급된 모든 "IAM" 관련 권한은 반드시 필요합니다.

수집 스크립트를 통해 데이터를 수집할 사용자/역할/AWS 주체에 해당 권한이 있는지 확인하세요.

AWS에서 데이터 수집

AWS 자격 증명이 구성되어 있는지 확인하세요. 도움이 필요하면 이 문서를 참고하세요.

자격 증명이 설정되면 다음을 실행하세요.

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

데이터 수집에 사용되는 AWS 프로필의 출력 형식이 json으로 설정되어 있는지 확인하세요. Aaia는 수집된 데이터가 json 형식일 것으로 예상합니다.

참고:

다른 인스턴스에서 데이터를 수집해야 하는 경우, "Aaia_aws_collector.sh" 파일을 원격 인스턴스에 복사하고 실행한 후 생성된 "offline_data" 폴더를 Aaia가 설치된 인스턴스의 Aaia 경로에 복사한 후 다음 단계를 진행하세요. 이는 컨설팅이나 클라이언트 감사 상황에서 유용합니다.

수집된 데이터를 Neo4j DB에 로드

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

-n은 값으로 "all"을 지원합니다. 이는 offline_data 폴더 내에 수집된 모든 데이터를 로드한다는 의미입니다.

참고:

자격 증명 파일에 "all"이라는 프로필이 없도록 하세요. 인수와 충돌할 수 있습니다. :P

이제 Aaia를 사용할 준비가 되었습니다.

사용자 정의 모듈을 통한 IAM 감사

현재 샘플 모듈이 스켈레톤 예제로 제공됩니다. 이를 참고하여 사용자 정의 모듈을 구축할 수 있습니다.

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

감사 인사

Aaia는 다양한 멋진 오픈 소스 프로젝트의 영향을 받고 영감을 얻었습니다. 큰 찬사를 보냅니다:

  • Cloudmapper
  • Cartography
  • BloodHound

Aaia 동작 화면

asciicast

스크린샷

더미 AWS 계정 IAM의 샘플 시각화

AWS IAM Neo4j 시각화 이미지

AWS IAM에서 사용자의 모든 관계를 찾는 cypher 쿼리 결과의 샘플 시각화

AWS IAM 쿼리 결과 시각화 이미지

할 일

  • Aaia의 Neo4j DB 스키마 이해를 위한 상세 문서 작성
  • Aaia용 사용자 정의 모듈 개발을 위한 상세 문서 작성
  • RhinoSecurity가 식별한 28가지 AWS 권한 상승 방법을 평가하는 사용자 정의 모듈 작성
  • AWS IAM의 간단한 이슈를 식별하기 위한 쿼리 치트시트 제공
  • Aaia를 다른 클라우드 제공업체로 확장
도구 다운로드