Collection of offensive tools targeting Microsoft Azure written in Python to be platform agnostic. The current list of tools can be found below with a brief description of their functionality.
./Device_Code/device_code_easy_mode.py- Generates a code to be entered by the target user
- Can be used for general token generation or during a phishing/social engineering campaign.
./Access_Tokens/token_juggle.py- Takes in a refresh token in various ways and retrieves a new refresh token and an access token for the resource specified
./Access_Tokens/read_token.py- Takes in an access token and parses the included claims information, checks for expiration, attempts to validate signature
./Outsider_Recon/outsider_recon.py- Takes in a domain and enumerates as much information as possible about the tenant without requiring authentication
./User_Enum/user_enum.py- Takes in a username or list of usernames and attempts to enumerate valid accounts using one of three methods
- Can also be used to perform a password spray
./Azure_AD/get_tenant.py- Takes in an access token or refresh token, outputs tenant ID and tenant Name
- Creates text output file as well as BloodHound compatible aztenant file
./Azure_AD/get_users.py- Takes in an access token or refresh token, outputs all users in Azure AD and all available user properties in Microsoft Graph
- Creates three data files, a condensed json file, a raw json file, and a BloodHound compatible azusers file
Installation
Offensive Azure can be installed in a number of ways or not at all.
You are welcome to clone the repository and execute the specific scripts you want. A requirements.txt file is included for each module to make this as easy as possible.
Poetry
The project is built to work with poetry. To use, follow the next few steps:
git clone https://github.com/blacklanternsecurity/offensive-azure.git
cd ./offensive-azure
poetry install
Pip
The packaged version of the repo is also kept on pypi so you can use pip to install as well. We recommend you use pipenv to keep your environment as clean as possible.
pipenv shell
pip install offensive_azure
Usage
It is up to you for how you wish to use this toolkit. Each module can be ran independently, or you can install it as a package and use it in that way. Each module is exported to a script named the same as the module file. For example:
Poetry
poetry install
poetry run outsider_recon your-domain.com
Pip
pipenv shell
pip install offensive_azure
outsider_recon your-domain.com
Metadata
Release files for offensive-azure 0.48
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| offensive_azure-0.48.tar.gz | 38.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| offensive_azure-0.48-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 88.5 kB
Release files / offensive_azure-0.48.tar.gz
| Download URL | offensive_azure-0.48.tar.gz |
|---|---|
| Size | 38.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1a4d1eb0ab718c3347c990a63a56c230861cfdd1d81ec8102d0e4cf409de0e0b
|
|
BLAKE2b-256 checksum How to use checksums |
2050def698f23ea0651b50a7ed9c5b3994b18d7b40dfb39d4d4e2bff053b25ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.9.12
|
Release files / offensive_azure-0.48-py3-none-any.whl
| Download URL | offensive_azure-0.48-py3-none-any.whl |
|---|---|
| Size | 50.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a9738bab11b90fbc65f57991228ce47d14233d355d6e427252b2e26ac464a02
|
|
BLAKE2b-256 checksum How to use checksums |
53286665e56db570f6541f95988b83417ca13f265c0d650a4af0a658481bb8aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.9.12
|
Security for offensive-azure 0.48
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.