
Microsoft Azure를 대상으로 한 공격 도구 모음으로, 플랫폼에 구애받지 않도록 Python으로 작성되었습니다. 현재 도구 목록과 간략한 기능 설명은 아래에서 확인할 수 있습니다.
./Device_Code/device_code_easy_mode.py
- 대상 사용자가 입력할 코드를 생성합니다.
- 일반 토큰 생성 또는 피싱/사회공학 캠페인에 사용할 수 있습니다.
./Access_Tokens/token_juggle.py
- 다양한 방법으로 리프레시 토큰을 입력받아 지정된 리소스에 대한 새 리프레시 토큰과 액세스 토큰을 검색합니다.
./Access_Tokens/read_token.py
- 액세스 토큰을 입력받아 포함된 클레임 정보를 분석하고, 만료 여부를 확인하며, 서명 검증을 시도합니다.
./Outsider_Recon/outsider_recon.py
- 도메인을 입력받아 인증 없이 테넌트에 대한 가능한 많은 정보를 수집합니다.
./User_Enum/user_enum.py
- 사용자 이름 또는 사용자 이름 목록을 입력받아 세 가지 방법 중 하나를 사용하여 유효한 계정을 열거합니다.
- 비밀번호 스프레이 공격을 수행하는 데에도 사용할 수 있습니다.
./Azure_AD/get_tenant.py
- 액세스 토큰 또는 리프레시 토큰을 입력받아 테넌트 ID와 테넌트 이름을 출력합니다.
- 텍스트 출력 파일과 BloodHound 호환 aztenant 파일을 생성합니다.
./Azure_AD/get_users.py
- 액세스 토큰 또는 리프레시 토큰을 입력받아 Azure AD의 모든 사용자와 Microsoft Graph의 모든 사용자 속성을 출력합니다.
- 압축된 json 파일, 원본 json 파일, BloodHound 호환 azusers 파일 등 세 개의 데이터 파일을 생성합니다.
./Azure_AD/get_groups.py
- 액세스 토큰 또는 리프레시 토큰을 입력받아 Azure AD의 모든 그룹과 Microsoft Graph의 모든 그룹 속성을 출력합니다.
- 압축된 json 파일, 원본 json 파일, BloodHound 호환 azgroups 파일 등 세 개의 데이터 파일을 생성합니다.
./Azure_AD/get_group_members.py
- 액세스 토큰 또는 리프레시 토큰을 입력받아 Azure AD의 모든 그룹 구성원과 Microsoft Graph의 모든 그룹 구성원 속성을 출력합니다.
- 압축된 json 파일, 원본 json 파일, BloodHound 호환 azgroups 파일 등 세 개의 데이터 파일을 생성합니다.
./Azure_AD/get_subscriptions.py
- ARM 토큰 또는 리프레시 토큰을 입력받아 Azure의 모든 구독과 Azure Resource Manager의 모든 구독 속성을 출력합니다.
- 압축된 json 파일, 원본 json 파일, BloodHound 호환 azgroups 파일 등 세 개의 데이터 파일을 생성합니다.
./Azure_AD/get_resource_groups.py
- ARM 토큰 또는 리프레시 토큰을 입력받아 Azure의 모든 리소스 그룹과 Azure Resource Manager의 모든 리소스 그룹 속성을 출력합니다.
- 원본 json 파일과 BloodHound 호환 azgroups 파일 등 두 개의 데이터 파일을 생성합니다.
./Azure_AD/get_vms.py
- ARM 토큰 또는 리프레시 토큰을 입력받아 Azure의 모든 가상 머신과 Azure Resource Manager의 모든 VM 속성을 출력합니다.
- 원본 json 파일과 BloodHound 호환 azgroups 파일 등 두 개의 데이터 파일을 생성합니다.
설치
Offensive Azure는 여러 가지 방법으로 설치하거나 전혀 설치하지 않을 수도 있습니다.
원하는 특정 스크립트를 실행하기 위해 리포지토리를 클론해도 됩니다. 각 모듈에는 이를 최대한 쉽게 할 수 있도록 requirements.txt 파일이 포함되어 있습니다.
Poetry
이 프로젝트는 poetry와 함께 사용하도록 설계되었습니다. 사용하려면 다음 단계를 따르세요.
git clone https://github.com/blacklanternsecurity/offensive-azure.git
cd ./offensive-azure
poetry install
Pip
패키지 버전의 리포지토리는 pypi에도 유지되므로 pip를 사용하여 설치할 수도 있습니다. 환경을 최대한 깨끗하게 유지하려면 pipenv를 사용하는 것이 좋습니다.
pipenv shell
pip install offensive_azure
사용법
이 툴킷을 어떻게 사용할지는 사용자에게 달려 있습니다. 각 모듈은 독립적으로 실행할 수 있으며, 패키지로 설치하여 그 방식으로 사용할 수도 있습니다. 각 모듈은 모듈 파일과 동일한 이름의 스크립트로 내보내집니다. 예를 들어:
Poetry
poetry install
poetry run outsider_recon your-domain.com
Pip
pipenv shell
pip install offensive_azure
outsider_recon your-domain.com