
내부 및 외부 피싱 공격에 사용될 수 있는 악성 OAuth 애플리케이션으로, Microsoft Azure 및 Office365 사용자를 대상으로 합니다.
OAuthSeeker는 Microsoft Azure 및 Office365 내에서 사용자 ID를 손상시키기 위해 악성 OAuth 애플리케이션을 사용하여 피싱 공격을 수행하는 레드 팀 도구입니다.
OAuthSeeker는 다음과 같은 주요 기능을 제공합니다:
git clone https://github.com/praetorian-inc/oauthseeker.git
cd oauthseeker
go build -o oauthseeker ./cmd/oauthseeker/
export JWT=$(az account get-access-token --resource https://graph.microsoft.com | jq -r .accessToken)
sudo oauthseeker setup --access_token $JWT --azure --redirect_url $URL --name $NAME
open http://127.0.0.1:8080/admin/
OAuthSeeker는 운영자가 수집된 자격 증명을 보고, 액세스 토큰을 갱신하며, GraphRunner의 내장 인스턴스를 통해 Microsoft Graph API를 사용할 수 있는 관리 패널을 제공합니다. 운영자는 개별 자격 증명을 탐색하고 필요에 따라 액세스 토큰을 갱신하여 Microsoft Graph 리소스에 대한 액세스를 유지할 수 있습니다. 내장된 GraphRunner 인터페이스는 OneDrive, SharePoint, Teams 및 Outlook으로의 탐색을 간소화하며 OAuthSeeker 탐색 모음의 "GraphRunner" 탭을 통해 접근할 수 있습니다.
OAuthSeeker는 애플리케이션과의 OAuth 흐름이 성공적으로 완료되면 JWT 및 리프레시 토큰을 포함한 유효한 Microsoft Graph API 자격 증명을 획득합니다. OAuthSeeker는 리프레시 토큰이 전체 유효 기간 동안 활성 상태를 유지하고 조기 취소되지 않도록 24시간마다 자동으로 토큰 갱신 작업을 수행합니다. 그러나 OAuthSeeker는 OAuth 동의 피싱 캠페인을 통해 이러한 토큰을 획득한 후 이를 운영화할 수 있는 직접적인 수단을 제공하지 않습니다. 하지만 이러한 토큰을 사후 이용에 활용할 수 있는 여러 기존 도구가 있습니다.
GraphRunner는 Microsoft 365를 위한 사후 이용 도구 키트로, 공격자가 Microsoft의 Graph API에 대한 인증된 액세스를 활용할 수 있게 합니다. GraphRunner를 사용하면 운영자는 이메일, SharePoint 및 Teams에서 데이터를 검색 및 내보내고, 사용자 권한을 열거하며, 악성 애플리케이션을 배포하는 등의 작업을 수행할 수 있습니다. 이는 손상된 계정을 약탈하고 Microsoft 365 환경 내에서 지속성을 유지하는 강력한 방법입니다. Black Hills Information Security가 이 도구를 원래 개발했으며, 이 도구의 사용법과 일반적인 공격 경로에 대해 논의하는 GraphRunner: A Post-Exploitation Toolset for M365라는 유익한 웹캐스트가 있습니다.
GraphSpy는 Microsoft 365에서 고급 레드 팀 작전을 위해 설계된 다목적 도구로, 효율적인 토큰 관리를 위한 로컬 웹 인터페이스를 갖추고 있습니다. OneDrive, SharePoint 및 Outlook에 대한 간소화된 액세스를 지원하며 동시 코드 폴링을 통한 디바이스 코드 피싱을 가능하게 합니다. 이 도구는 Microsoft API와의 상호 작용을 간소화하여 공격자가 프로젝트 전반에 걸쳐 사용자 정의 요청을 실행하고 표적 데이터 추출 및 지속성 작업을 수행할 수 있도록 합니다. GraphSpy 저자와의 인터뷰 영상인 GraphSpy - Offensive Security Tool for Microsoft 365 with Keanu Nys에서 더 많은 정보를 확인할 수 있습니다.
OAuthAzure는 OAuthSeeker와 함께 사후 이용 및 Azure 환경 내 리소스 열거를 위해 활용할 수 있는 유틸리티입니다. OAuthSeeker를 사용하면 Microsoft Azure 내에서 user_impersonation 권한을 요청하는 피싱 공격을 수행할 수 있으며, 이를 통해 피해자 사용자 계정을 대신하여 모든 Azure 리소스에 액세스할 수 있습니다. OAuthSeeker는 기본적으로 Graph API 토큰을 요청하며, JWT의 요청된 토큰 대상은 Microsoft Graph API 또는 Microsoft Azure 중 하나일 수 있지만 동시에 둘 다는 아닙니다. 기본적으로 OAuthSeeker 내에서 Graph API 액세스를 요청하지만, OAuthAzure를 활용하여 획득한 JWT 및 리프레시 토큰을 Azure 가장 기능에 액세스하기 위한 Microsoft Azure 토큰으로 교환할 수 있습니다.
OAuthPillage는 OAuthSeeker 프레임워크에 포함된 유틸리티로, 손상된 Microsoft Graph API 토큰을 활용한 사후 이용을 위해 설계되었습니다. 이 유틸리티를 사용하면 User.ReadBasic.All 권한을 통해 사용자 권한을 나열하여 Microsoft Azure 내에서 사용 가능한 모든 사용자 정보를 덤프할 수 있으며, 이를 추가 후속 피싱 공격에 활용하여 대상 조직을 공격할 수 있습니다.
자세한 설정 지침, 구성 옵션, 작동 보안 고려 사항 및 사용 예제는 **심층 설정 지침 및 문서**를 참조하십시오.