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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ATEAM | Kitploit
도구/GitHubGitHub/netspi/ateam
OSINT (Open Source Intelligence)ReconnaissanceVulnerability AnalysisInformation GatheringPenetration TestingCloud SecuritySubdomain EnumerationDNS Analysis
GitHubnetspi/ateam

ATEAM

저장소 보기
1481511개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ATEAMLogo
licence badge stars badge forks badge issues badge Twitter Follow

ATEAM: Azure 테넌트 열거 및 귀속 모듈

Azure 서비스를 발견하고 해당 응답을 기반으로 테넌트 소유권 정보를 확인하도록 설계된 Python 정찰 도구입니다.

작성자, 기여자 및 라이선스

  • 작성자:
    • Karl Fosaaen (@kfosaaen - 대부분의 플랫폼에서), NetSPI
    • Thomas Elling (@thomaselling1), NetSPI
  • 라이선스: BSD 3-Clause

🎯 목적

이 도구는 보안 연구원, 침투 테스터 및 Azure 관리자가 특정 테넌트 ID와 연결된 Azure 리소스를 발견할 수 있도록 도와줍니다.

✨ 기능

멀티 서비스 검색

리소스 이름을 6가지 서로 다른 Azure 서비스 및 해당 하위 도메인에 대해 테스트합니다:

  • Azure App Services (.azurewebsites.net 및 .scm.azurewebsites.net)
  • Azure DevOps (dev.azure.com)
  • Azure Key Vault (.vault.azure.net)
  • Azure Storage Accounts (.blob.core.windows.net)
  • SharePoint Online (.sharepoint.com)
  • Azure Databricks (.azuredatabricks.net)

추가 기능

  • 동시 처리: 더 빠른 결과를 위해 멀티스레드로 스캔합니다
  • 배치 처리: 메모리 문제를 방지하기 위해 구성 가능한 배치로 리소스를 처리합니다
  • DNS 검증: HTTP 요청을 보내기 전에 DNS 레코드를 확인합니다
  • 순열 생성: 리소스 이름의 변형을 자동으로 생성합니다
  • 데이터베이스 저장: 결과를 영구적으로 저장하기 위해 SQLite 데이터베이스를 사용합니다
  • 다중 내보내기 형식: CSV, JSON 및 HTML 형식으로 내보냅니다
  • 상세 로깅: 문제 해결을 위한 상세 디버그 정보를 제공합니다

📋 사전 요구 사항

  • Python 3.7 이상
  • 인터넷 연결
  • 필요한 Python 패키지 (아래 설치 참조)

🚀 설치

  1. 도구를 클론하거나 다운로드합니다:

    root@kitploit:~
    git clone https://github.com/NetSPI/ATEAM.git
    cd ATEAM
    
  2. 필요한 종속성을 설치합니다:

    root@kitploit:~
    pip install -r requirements.txt
    

    또는 수동으로 설치:

    root@kitploit:~
    pip install requests dnspython urllib3
    
  3. 설치를 확인합니다:

    root@kitploit:~
    python ateam.py --help
    

📖 사용법

기본 사용법

단일 리소스 스캔:

root@kitploit:~
python ateam.py -r "myapp"

여러 리소스 스캔:

root@kitploit:~
python ateam.py -r "app1" "app2" "app3"

텍스트 파일 리소스 목록에서 스캔:

root@kitploit:~
python ateam.py -f resources.txt

고급 사용법

(20)개 워커로 상세 출력:

root@kitploit:~
python ateam.py -f resources.txt -v -w 20

순열 생성 및 스캔:

root@kitploit:~
python ateam.py -f resources.txt -p

더 작은 배치 크기로 순열 생성 (대규모 스캔에 권장):

root@kitploit:~
python ateam.py -f resources.txt -p -b 100

결과를 HTML로 내보내기:

root@kitploit:~
python ateam.py -e html

데이터베이스를 초기화하고 새로 시작:

root@kitploit:~
python ateam.py -f resources.txt --clear

명령줄 옵션

📁 파일 구조

root@kitploit:~
ATEAM/
├── ateam.py    # Main script
├── requirements.txt          # Python dependencies
├── permutations.txt          # Resource name permutations
└── README.md                 # This file

🔧 구성

순열 파일

permutations.txt 파일에는 리소스 이름의 변형을 생성하기 위한 일반적인 접두사와 접미사가 포함되어 있습니다:

root@kitploit:~
dev
prod
test
staging
api
web
...

다음과 같은 조합이 생성됩니다:

  • devmyapp
  • myappdev
  • prodmyapp
  • myapp-prod
  • 등

데이터베이스

결과는 다음 스키마를 사용하여 azure_tenants.db (SQLite)에 저장됩니다:

  • resource_uri: 발견된 리소스 URL
  • resource_type: Azure 서비스 유형
  • tenant_id: 추출된 테넌트 ID
  • discovered_at: 발견 시각

📊 출력 예시

콘솔 출력

root@kitploit:~
2025-06-27 14:37:39 - INFO - Found Storage Account tenant ID 72f988bf-86f1-41af-91ab-2d7cd011db47 for mars
2025-06-27 14:37:40 - INFO - Found App Service SCM tenant ID 'common' for notarealapplication
2025-06-27 14:37:47 - INFO - Found Key Vault tenant ID 72f988bf-86f1-41af-91ab-2d7cd011db47 for mdo

데이터베이스 목록

root@kitploit:~
Resource URI                             Type            Tenant ID                      	  Discovered At
-----------------------------------------------------------------------------------------------------------------
hanover.scm.azurewebsites.net            AppServices-SCM 72f988bf-86f1-41af-91ab-2d7cd011db47 2025-06-27 21:37:41
dev.azure.com/microsoft                  DevOps          72f988bf-86f1-41af-91ab-2d7cd011db47 2025-06-27 21:37:12
mdo.vault.azure.net                      KeyVault        72f988bf-86f1-41af-91ab-2d7cd011db47 2025-06-27 21:37:47
mars.blob.core.windows.net               StorageAccount  72f988bf-86f1-41af-91ab-2d7cd011db47 2025-06-27 21:37:46

🔍 작동 방식

  1. DNS 검증: 리소스에 대한 DNS 레코드가 존재하는지 확인합니다
  2. 서비스 프로빙: 해당 Azure 서비스 엔드포인트에 HTTP 요청을 전송합니다
  3. 응답 분석: 리소스에 따라 다음에서 테넌트 ID를 추출합니다:
    • WWW-Authenticate 헤더
    • OAuth 리디렉션 URL
    • 응답 헤더
    • 오류 메시지
  4. 데이터 저장: SQLite 데이터베이스에 결과를 저장합니다
  5. 내보내기: 다양한 형식으로 보고서를 생성합니다

🛡️ 보안 고려 사항

  • 비율 제한: 도구에 지연 시간이 포함되어 있으며 서비스 한도를 준수합니다
  • 오류 처리: 시간 초과 및 오류를 원활하게 처리합니다
  • 로깅: 감사 추적을 위한 상세 로그를 제공합니다
  • 비간섭적: 인증 없이 표준 HTTP 요청을 사용하여 익명 열거를 수행합니다

⚠️ 중요: 리소스를 스캔하기 전에 항상 적절한 권한을 보유하고 있는지 확인하세요. 무단 스캔은 서비스 약관 또는 관련 법률을 위반할 수 있습니다.

🐛 문제 해결

디버그 모드

자세한 정보를 위해 상세 로깅을 활성화할 수 있지만, 출력이 다소 과할 수 있습니다:

root@kitploit:~
python ateam.py -f resources.txt -v

순열 관련 메모리 문제

순열을 사용할 때 "killed" 메시지가 표시되면 배치 크기를 줄여 보세요:

root@kitploit:~
python ateam.py -f resources.txt -p -b 100 -w 5

이렇게 하면 메모리 고갈을 방지하기 위해 더 적은 수의 동시 워커로 리소스를 더 작은 배치로 처리합니다.

🤝 기여

기여를 환영합니다! 다음을 자유롭게 제출해 주세요:

  • 버그 보고
  • 기능 요청
  • 코드 개선
  • 문서 업데이트

관련 블로그

  • 우리는 지난 여름 (Azure에서) 당신이 무엇을 했는지 알고 있습니다

발표 자료

  • 우리는 지난 여름 (Azure에서) 당신이 무엇을 했는지 알고 있습니다 - DEF CON 33 - Cloud Village
    • 슬라이드
도구 다운로드
옵션설명예시
-f, --file리소스가 포함된 파일 (한 줄에 하나씩)-f resources.txt
-r, --resources공백으로 구분된 리소스 목록-r "app1" "app2"
-w, --workers동시 워커 수 (기본값: 10)-w 20
-b, --batch-size배치당 리소스 수 (기본값: 1000)-b 100
-v, --verbose상세 로깅 활성화-v
-l, --list모든 데이터베이스 항목 나열-l
-e, --export결과 내보내기 (csv, json, html)-e html
--clear스캔 전 데이터베이스 초기화--clear
-t, --tenant테넌트 ID로 결과 필터링-t "tenant-id"
-p, --permutations리소스 이름 순열 생성-p