/Azurite

Enumeration and reconnaissance activities in the Microsoft Azure Cloud.

Primary LanguagePowerShellOtherNOASSERTION

Azurite - Azurite Explorer and Azurite Visualizer

Auditing Cloud services has become an essential task and significant effort is required to assess the security of the available resources.

Azurite was developed to assist penetration testers and auditors during the enumeration and reconnaisance activities within the Microsof Azure public Cloud environment. It consists of two helper scripts: Azurite Explorer and Azurite Visualizer. The scripts are used to collect, passively, verbose information of the main components within a deployment to be reviewed offline, and visulise the assosiation between the resources using an interactive representation. One of the main features of the visual representation is to provide a quick way to identify insecure Network Security Groups (NSGs) in a subnet or Virtual Machine configuration.

Quick Start Guide

Pre-requisites

git clone https://github.com/mwrlabs/Azurite.git
  • Get the submodule for netjsongraph.js:
git submodule init
git submodule update

Azurite Explorer & Azurite Visualizer

Azurite Explorer

Azurite Explorer implements functionality to retrieve the configuration of Azure-hosted deployments and export the output in structured JSON objects for offline review. Currently, Azurite Explorer supports only the resources deployed with the Azure Resource Manager deployment model.

Import the AzureRM module:

# PS> Import-Module AzureRM

Import Azurite Explorer module in PowerShell and retrieve the information for an Azure subscription.

# PS> Import-Module AzuriteExplorer.ps1
# PS> Review-AzureRmSubscription

Provide credentials for the Azure subscription under review. The user should belong to one of the following roles:

  • Owner
  • Contributor
  • Reader

It is also required to know the ID of the target Azure subscription.

Azurite Explorer's output will be saved in the following files:

  • azure-vms_<subscription-id>_<user-email>.json
  • azure-websites_<subscription-id>_<user-email>.json
  • azure-sqlservers_<subscription-id>_<user-email>.json
  • azure-key-vaults_<subscription-id>_<user-email>.json
  • azure-subscription_<subscription-id>_<user-email>.json

Azurite Visualizer

Azurite Visualizer will assist assessor to get a better understanding of the Azure deployment by visualizing the output exported by Azurite Explorer. It also allows to interactively collect information for the resources and it highlights any weak Network Security Groups (NSGs) associated with Subnets and Virtual Machines.

Retrieve the exported file azure-subscription_<subscription-id>_<user-email>.json from Azurite Explorer and use it as input to AzuriteVisualiser.py.

# python AzuriteVisualizer.py azure-subscription_<subscription-id>_<user-email>.json

The aforementioned operation will generate the file azure-subscription-nodes.json which contains the formatted JSON object. Finally, open AzuriteVisualizer.html in Firefox to view the graph representation of the Azure subscription's topology of the resources.

Remarks

The Azurite Visualizer Graph is based on the netjsongraph.js and currently supports only the Firefox browser.

Development of Azurite is ongoing, and this first release provides support for mainstream Azure components, including:

  • Virtual Networks (VNets)
  • Subnets
  • Virtual Network Gateways
  • Azure SQL Servers
  • Azure SQL Databases
  • Azure Websites
  • Azure Key Vaults

Contact

Feel free to submit issues or ping me on Twitter - @Lgrec0