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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
aad-sso-enum-brute-spray — SecureWorks의 최근 Azure Active Directory 비밀번호 무차별 대입 취약점에 대한 POC | Kitploit
도구/GitHubGitHub/treebuilder/aad-sso-enum-brute-spray
Authentication & AuthorizationReconnaissancePassword AttacksInformation GatheringPenetration TestingCloud Security
GitHubtreebuilder/aad-sso-enum-brute-spray

aad-sso-enum-brute-spray

SecureWorks의 최근 Azure Active Directory 비밀번호 무차별 대입 취약점에 대한 POC

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
193354년 전Kitploit 검토 완료

aad-sso-enum-brute-spray

SecureWorks가 최근 공개한 Azure Active Directory 비밀번호 무차별 대입 취약점의 PoC

설명

이 코드는 Secureworks가 발표한 최근 공개된 Azure Active Directory 비밀번호 무차별 대입 취약점의 개념 증명(proof-of-concept)입니다. (공식 발표보다 약 하루 먼저 게시되었지만 내용은 거의 동일한 Ars Technica 기사도 참조하세요.)

이론적으로 이 방법을 사용하면 하나 이상의 AAD 계정을 대상으로 계정 잠금이나 로그 데이터 생성 없이 무차별 대입 또는 비밀번호 스프레이 공격을 수행할 수 있어 공격을 눈에 띄지 않게 만들 수 있습니다.

사용법

기본 사용법은 간단합니다:

비밀번호 스프레이

root@kitploit:~
.\aad-sso-enum-brute-spray.ps1 USERNAME PASSWORD

이렇게 코드를 호출하면 지정된 사용자 이름과 비밀번호에 대한 결과를 얻을 수 있습니다.

foreach를 활용하면 이를 쉽게 비밀번호 스프레이에 이용할 수 있습니다:

root@kitploit:~
foreach($line in Get-Content .\all-m365-users.txt) {.\aad-sso-enum-brute-spray.ps1 $line Passw0rd! |Out-File -FilePath .\spray-results.txt -Append }

참고로 이 방법을 사용할 경우 Linux에서 작업하려면 결과 파일을 UTF-16에서 UTF-8로 변환해야 합니다:

root@kitploit:~
iconv -f UTF16 -t UTF-8 spray-results.txt >new-spray-results.txt

사용자 열거

열거에만 관심이 있다면 위의 비밀번호 스프레이와 동일하게 실행하면 됩니다. 반환 값이 "bad password"이거나 "no user"가 아닌 다른 값이면 유효한 사용자 이름을 찾은 것입니다.

사용자 이름에 대해 "True"가 반환되면 제공된 비밀번호가 유효하다는 의미입니다.

"locked"가 반환되면 계정이 잠겨 있거나, Smart Lockout이 일시적으로 계정과의 상호 작용을 차단하고 있음을 의미할 수 있습니다.

무차별 대입

무차별 대입에 코드를 활용하려면 사용자 이름 필드 대신 비밀번호 필드를 반복하면 됩니다:

root@kitploit:~
foreach($line in Get-Content .\passwords.txt) {.\aad-sso-enum-brute-spray.ps1 [email protected] $line |Out-File -FilePath .\brute-results.txt -Append }

유효한 사용자 이름/비밀번호 쌍을 찾은 후 해야 할 일

유효한 사용자 이름/비밀번호 쌍을 하나 이상 발견하면 이 코드를 수정하여 반환되는 DesktopSSOToken을 얻을 수 있습니다. 그런 다음 DesktopSSOToken은 이 방법을 사용하여 OAuth2 액세스 토큰으로 교환할 수 있습니다.

그런 다음 OAuth2 액세스 토큰은 다양한 Azure, M365 및 O365 API 엔드포인트와 함께 사용할 수 있습니다.

하지만 이 시점에서 MFA에 걸릴 수 있습니다. 이 경우 Outlook Web Access나 ActiveSync 같은 비-MFA 액세스를 활용하는 것이 가장 좋습니다. Dafthack의 MFASweep이 여기서 유용합니다.

중요 참고 사항

Microsoft의 Smart Lockout 기능은 동일한 IP 주소에서 API 엔드포인트를 너무 빨리 호출하면 계정이 잠겼다고 잘못 판단하기 시작합니다. 이 문제를 피하려면 ustayready의 fireprox를 사용하는 것을 강력히 권장합니다. $url 변수를 다음과 같이 변경하면 됩니다:

root@kitploit:~
$url="https://xxxxxxx.execute-api.us-east-1.amazonaws.com/fireprox/"+$requestid

하지만 특정 계정의 비밀번호를 무차별 대입하려는 경우에는 Smart Lockout을 우회할 수 없습니다.

감사의 말

이 코드의 거의 대부분은 Dr. Nestori Syynimaa의 훌륭한 AADInternals 프로젝트에서 차용했습니다.

도구 다운로드