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 reconnaissance activities within the Microsoft 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 visualize the association 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.
Clone the repository:
git clone https://github.com/mwrlabs/Azurite.git
Get the sub-module for netjsongraph.js:
git submodule init git submodule update
_ 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-CustomAzureRmSubscription
Provide credentials for the Azure subscription under review. The user should belong to one of the following roles:
It is also required to know the ID of the target Azure subscription.
Azurite Explorer’s output will be saved in the following files:
_ 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.
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: