Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CredSpy — 공개 GetCredentialType API를 통한 Entra ID 사용자 열거 및 인증 방법 발견 | Kitploit
도구/GitHubGitHub/redbyte1337/credspy
OSINT (Open Source Intelligence)ReconnaissanceInformation GatheringPhishingPenetration TestingCloud SecurityIdentity & Access Management (IAM)Authentication
GitHubredbyte1337/credspy

CredSpy

공개 GetCredentialType API를 통한 Entra ID 사용자 열거 및 인증 방법 발견

저장소 보기
165152522일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

PyPi Version Python Version GitHub Sponsors Twitter LinkedIn

CredSpy

공개 GetCredentialType API를 사용하여 이메일 주소에 대한 Microsoft Entra ID 인증 방법을 열거합니다. 이는 Microsoft 로그인 페이지에서 사용자 이름을 입력할 때 사용하는 것과 동일한 엔드포인트입니다. GetCredentialType 메서드를 사용하는 대부분의 도구와 달리, CredSpy는 기존 계정에 대해 지원되는 인증 방법도 표시합니다.

보안 평가에 유용합니다: 사용자 열거, 선호 인증 방법 탐색, 그리고 비밀번호, Remote NGC(예: Passwordless Push Notification), FIDO2/passkeys 또는 인증서 인증을 사용하는 계정 식별.

목차

  • 설치
  • 사용법
    • 옵션
  • 출력
    • CSV 열
  • 작동 방식
  • 면책 조항

설치

Python 3.10+가 필요합니다.

pipx (권장):

# Install pipx (skip this if you already have it)
apt install pipx
pipx ensurepath
# From PyPI (recommended)
pipx install credspy

# Or from GitHub
pipx install git+https://github.com/RedByte1337/CredSpy.git

# From a local clone
git clone https://github.com/RedByte1337/CredSpy.git
cd CredSpy
pipx install .

pip:

pip install .
# or run without installing
pip install -r requirements.txt
python credspy.py ...

설치 후 어디서든 credspy를 실행할 수 있습니다:

credspy -h

사용법

# Single email
credspy [email protected]

# File of emails (one per line, # for comments)
credspy emails.txt

# Through a proxy (SSL verification disabled for MITM tools)
credspy emails.txt --proxy http://127.0.0.1:8080

# Export results to CSV
credspy emails.txt --csv results.csv

# Save filtered email lists (combinable)
credspy emails.txt \
  --save-existing existing.txt \
  --save-ngc ngc.txt \
  --save-password-preferred password-preferred.txt

옵션

FlagDescription
target이메일 주소 또는 텍스트 파일 경로
--proxy URL모든 트래픽을 프록시를 통해 라우팅하며, SSL 검증을 비활성화합니다 (형식: http://127.0.0.1:8080)
--no-color컬러 터미널 출력을 비활성화합니다
--csv FILE결과를 CSV로 기록합니다
--save-existing FILE존재하는 이메일을 저장합니다
--save-ngc FILERemoteNGC(예: passwordless push-notification)가 지원되는 이메일을 저장합니다
--save-password-preferred FILE비밀번호가 선호 방법인 기존 이메일을 저장합니다
--skip-ngcRemoteNGC 검사를 비활성화합니다 (RemoteNGC가 선호 방법일 때 푸시 알림을 방지하며, NGC 탐색도 비활성화됩니다)
--delay <float>각 계정 사이에 지정된 초만큼 대기합니다. 스로틀링을 피하기 위해 많은 수의 계정을 확인할 때 사용하세요

[!IMPORTANT] 사용자가 RemoteNGC를 기본 방법으로 설정한 드문 경우, Microsoft는 열거 중에 Authenticator 앱으로 RemoteNGC 푸시 알림을 즉시 트리거합니다. 이를 피하는 유일한 방법은 GetCredentialType 요청에서 isRemoteNGCSupported를 false로 설정하는 것입니다. 이 경우 응답에서 RemoteNGC 지원 여부가 더 이상 반환되지 않습니다. 자동 알림 발송을 피하고 RemoteNGC 탐색이 필요하지 않다면 --skip-ngc 플래그를 사용하세요.

출력 파일이 이미 존재하는 경우, 덮어쓰기 확인 메시지가 표시됩니다 (Y/n).

출력

각 이메일이 확인될 때마다 결과가 터미널로 스트리밍됩니다:

[email protected]       | Preferred: Fido (7)       | Supported: Password, RemoteNGC (PushNotification), Fido (Count: 3)
[email protected]   | IfExistsResult: NotExist (1)
[email protected]         | Preferred: Password (1)   | Supported: Password, RemoteNGC (PushNotification)
[email protected]         | Preferred: RemoteNGC (2)  | Supported: Password, RemoteNGC (PushNotification)
[email protected]           | Preferred: Fido (7)       | Supported: Password, Fido (Count: 5), Certificate

이메일 계정이 존재하는 경우, 이메일 주소 다음의 첫 번째 열에 해당 사용자의 선호 인증 방법이 표시됩니다. 마지막 열에는 Password, RemoteNGC, Fido(=PassKeys), Certificate 인증과 같은 기타 지원되는 인증 방법이 나열됩니다.

이 모든 정보는 피싱 공격을 준비할 때 고려해야 할 매우 유용한 정보입니다.

Fido 인증의 경우, Microsoft가 반환한 FidoParams의 AllowList에 있는 항목 수가 표시됩니다. 이는 사용자가 등록한 Fido 인증 방법의 수를 알 수 있는 지표로 사용될 수 있습니다. 다만, 이는 계정에 더 이상 연결되지 않은 삭제된 Fido 키도 포함하는 것으로 보입니다.

마지막에 요약이 출력됩니다:

--- Summary ---
Exists: 6/7
Throttled: 0/7
Preferred: Fido 3/6, Password 2/6, ...
Supported: Password 6/6, RemoteNGC 1/6, Fido 3/6, Certificate 2/6
DomainType: Managed 6/6

--- Output files ---
CSV (results.csv): 7 entries

CSV 열

Email, Exists, PreferredType, HasPassword, RemoteNGC, HasFido, HasCertAuth, DomainType

  • Exists — 열거형 이름 (Exists, NotExist, …)
  • RemoteNGC — 알려진 경우 PushNotification / ListSessions, 그렇지 않으면 True/False

작동 방식

  1. Microsoft OAuth authorize 페이지에서 세션 컨텍스트(sCtx)를 가져옵니다
  2. 각 사용자 이름을 login.microsoftonline.com/common/GetCredentialType에 POST합니다
  3. 자격 증명 플래그를 파싱하고 결과를 출력/내보냅니다

인증이 필요하지 않습니다. 로그인 UI와 동일한 비인증 흐름을 사용합니다.

면책 조항

이 도구는 승인된 보안 테스트 및 연구 전용입니다. 소유하고 있거나 테스트에 대한 명시적인 서면 허가를 받은 테넌트 및 계정에만 사용하세요. 저자는 오용에 대해 책임지지 않습니다.

도구 다운로드