
Azure/O365 테넌트에 대한 Illicit Consent Grant 공격을 자동화하여 리프레시 토큰을 탈취하고, 이메일/OneDrive 데이터를 유출하며, CLI 및 웹 관리 포털을 통해 악성 Outlook 규칙을 생성합니다.
365-Stealer는 불법 동의 부여 공격(illicit consent grant attack)을 자동화하기 위해 설계된 Python3 기반 도구입니다. 대상 사용자가 공격자의 애플리케이션에 무심코 권한을 부여하면, 공격자는 피해자의 갱신 토큰(refresh token)에 접근하게 됩니다. 이 갱신 토큰은 이후 다른 토큰을 생성하는 데 사용되어, 공격자는 피해자의 추가 입력 없이도 이메일, OneDrive의 파일, 노트 등의 민감한 데이터에 접근할 수 있습니다. 수동으로 이를 악용하는 것은 시간이 많이 소요될 수 있지만, 365-Stealer는 이 과정을 간소화하고 자동화합니다.
불법 동의 부여 공격은 공격자가 Azure 내에서 악성 애플리케이션을 등록하여 연락처, 이메일, 문서와 같은 민감한 데이터에 대한 접근을 요청할 때 발생합니다. 공격자는 일반적으로 합법적인 것으로 가장하여 사용자를 속여 앱에 동의하도록 합니다. 피해자가 '수락'을 클릭하면, 자신도 모르게 공격자에게 접근 권한을 제공하게 되며, 공격자는 피해자의 조직 자격 증명 없이 피해자를 대신하여 작업을 수행할 수 있습니다.
더 명확히 설명하면, 사용자가 권한을 부여하면 Entra ID는 공격자의 서버에 토큰을 보냅니다. 이 토큰은 공격자에게 이메일 읽기, 이메일 보내기, OneDrive의 파일에 접근, 그리고 피해자의 자격 증명을 사용한 다른 악의적인 활동을 수행할 수 있는 능력을 제공합니다. 비밀번호 탈취에 의존하는 피싱 공격과 달리, 불법 동의 부여 공격은 클라우드 애플리케이션의 권한 시스템을 남용하여 인증을 완전히 우회합니다.
--run-app 명령을 사용하거나 365-Stealer 관리 포털을 통해 불법 동의 부여 공격을 수행하기 위한 가짜 애플리케이션을 호스팅할 수 있습니다.--no-stealing 플래그를 사용하면 추가 작업 없이 토큰만 탈취하여 공격자가 나중에 이를 악용할 수 있습니다.--refresh-token, --client-id, --client-secret 플래그를 사용하여 공격자는 쉽게 새로운 액세스 토큰을 얻을 수 있습니다.--app-registration 플래그는 Azure 앱 등록 과정을 자동화하여 수동 개입 없이 공격 인프라를 더 쉽게 설정할 수 있습니다.--custom-steal 플래그를 사용하면 공격자가 OneDrive, Outlook 등 특정 소스에서 선택적으로 데이터를 탈취할 수 있습니다.제공된 Python 스크립트를 사용하여 Azure에 애플리케이션을 자동으로 등록하려면 다음 단계를 따르세요:
시스템에 Python3가 설치되어 있는지 확인하세요.
365-Stealer 저장소를 클론합니다:
git clone https://github.com/AlteredSecurity/365-Stealer.git
cd 365-Stealer
필요한 Python 모듈을 설치합니다:
pip install -r requirements.txt
자동 Azure 앱 등록 스크립트를 실행합니다:
python 365-Stealer.py --app-registration
Azure 애플리케이션을 수동으로 등록하려면 다음 단계를 따르세요:
https://portal.azure.com으로 이동하여 계정에 로그인합니다.App registrations를 클릭합니다.`New registration을 클릭하여 새 애플리케이션 등록을 시작합니다.Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant)를 선택합니다.https://<DOMAIN/IP>:<PORT>/login/authorized여야 하며, 여기서 도메인 또는 IP는 365-Stealer 애플리케이션을 호스팅할 위치에 해당합니다.Register를 클릭하여 애플리케이션을 만듭니다.
Certificates & secrets 섹션으로 이동합니다.New client secret을 클릭하고 시크릿에 대한 설명을 입력한 후 Add를 클릭합니다.
API permissions 탭을 클릭합니다.Add a permission을 클릭하여 필요한 권한 선택을 시작합니다.Microsoft Graph를 선택합니다.Delegated permissions을 클릭하여 로그인한 사용자를 대신하여 작동할 권한을 할당합니다.
365-Stealer 저장소 클론:
git clone https://github.com/AlteredSecurity/365-Stealer.git
필요한 애플리케이션 설치:
파일 추출 및 저장:
C:\xampp\htdocs\에 넣습니다. 이렇게 하면 PHP 애플리케이션을 호스팅하고 Python을 실행할 수 있습니다.Python 종속성 설치: 다음 명령을 실행하여 필요한 Python 라이브러리를 설치합니다.
cd C:\xampp\htdocs\365-Stealer
pip install -r requirements.txt
추가 설정 지침 따르기: 필요한 애플리케이션과 종속성을 설치한 후, yoursVictims/Readme.md 파일에 제공된 지침을 따르십시오. 이 지침은 365-Stealer가 제대로 작동하는 데 필요한 데이터베이스와 테이블을 설정하는 방법을 안내합니다.
스크립트 경로 조정:
C:/xampp/htdocs/yourvictims/에 있는 index.php 파일에서 365-Stealer.py, 데이터베이스, python3의 경로를 수정합니다.