Top Related Projects
PowerSploit - A PowerShell Post-Exploitation Framework
Nishang - Offensive PowerShell for red team, penetration testing and offensive security.
Six Degrees of Domain Admin
This repository contains a collection of cheatsheets I have put together for tools related to pentesting organizations that leverage cloud providers.
PEASS - Privilege Escalation Awesome Scripts SUITE (with colors)
A swiss army knife for pentesting networks
Quick Overview
MicroBurst is a collection of PowerShell scripts designed for Azure security assessments. It provides tools for enumerating Azure resources, identifying misconfigurations, and assisting in penetration testing activities within Azure environments.
Pros
- Comprehensive set of tools for Azure security assessments
- Regularly updated to keep pace with Azure's evolving features
- Easy to use with PowerShell, a familiar environment for many IT professionals
- Open-source and community-driven, allowing for contributions and improvements
Cons
- Requires a good understanding of Azure architecture and security concepts
- Some scripts may require elevated permissions, which could be a security concern if misused
- PowerShell-only, limiting use for those more comfortable with other languages or platforms
- May require frequent updates to maintain compatibility with Azure's rapid changes
Code Examples
- Enumerating Azure resources:
Import-Module .\MicroBurst.psm1
Get-AzDomainInfo -Verbose
This code imports the MicroBurst module and runs a comprehensive scan of the current Azure subscription.
- Searching for sensitive information in Azure resources:
Import-Module .\MicroBurst.psm1
Invoke-AzureRmVMBulkCMD -VMName * -Command "dir c:\ /s /b | findstr password"
This example searches for files containing "password" across all Azure VMs in the subscription.
- Enumerating Azure Storage Accounts:
Import-Module .\MicroBurst.psm1
Get-AzureStorageKeys
This code retrieves the keys for all Azure Storage Accounts in the current subscription.
Getting Started
-
Clone the repository:
git clone https://github.com/NetSPI/MicroBurst.git
-
Import the module in PowerShell:
Import-Module .\MicroBurst.psm1
-
Authenticate to Azure:
Connect-AzAccount
-
Run desired MicroBurst functions, e.g.:
Get-AzDomainInfo -Verbose
Remember to use these tools responsibly and only on environments you have permission to test.
Competitor Comparisons
PowerSploit - A PowerShell Post-Exploitation Framework
Pros of PowerSploit
- More comprehensive toolkit with a wider range of post-exploitation modules
- Longer development history and larger community support
- Includes modules for privilege escalation, persistence, and lateral movement
Cons of PowerSploit
- Less focused on cloud-specific attacks compared to MicroBurst
- Not actively maintained, with the last update in 2018
- May trigger more antivirus alerts due to its popularity and known signatures
Code Comparison
PowerSploit (Invoke-Mimikatz function):
function Invoke-Mimikatz {
[CmdletBinding()]
Param (
[Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)]
[Alias('PSComputerName', 'Computer', 'DNSHostName')]
[String[]]
$ComputerName = $Env:COMPUTERNAME,
MicroBurst (Get-AzurePasswords function):
function Get-AzurePasswords {
[CmdletBinding()]
Param(
[Parameter(Mandatory=$false,
HelpMessage="Subscription ID")]
[string]$Subscription = ""
)
Both repositories provide PowerShell-based tools for security testing and exploitation. PowerSploit offers a broader range of post-exploitation modules, while MicroBurst focuses specifically on Azure cloud environments. PowerSploit has a larger user base and longer history, but MicroBurst is more actively maintained and tailored for cloud-specific attacks.
Nishang - Offensive PowerShell for red team, penetration testing and offensive security.
Pros of Nishang
- Broader scope: Covers a wide range of PowerShell-based offensive security tools and scripts
- Active development: More frequent updates and contributions from the community
- Extensive documentation: Detailed usage instructions and examples for each module
Cons of Nishang
- Less focused on cloud environments: Primarily targets Windows systems and networks
- Steeper learning curve: Requires more in-depth PowerShell knowledge to utilize effectively
- Potentially higher detection rates: Some scripts may be flagged by antivirus software
Code Comparison
Nishang (Get-Information.ps1):
function Get-Information
{
[CmdletBinding()] Param()
$output = "$env:COMPUTERNAME`n"
$output = $output + "Current User: $env:USERNAME`n"
$output = $output + "IP Address: $((Get-NetIPAddress -AddressFamily IPv4).IPAddress | Select-Object -First 1)`n"
$output
}
MicroBurst (Get-AzDomainInfo.ps1):
function Get-AzDomainInfo {
[CmdletBinding()] Param()
$domainInfo = Get-AzureADDomain
$domainInfo | Select-Object Name, AuthenticationType, IsDefault, IsVerified
}
The code comparison highlights the different focus areas of the two repositories. Nishang's script retrieves local system information, while MicroBurst's script targets Azure AD domain information.
Six Degrees of Domain Admin
Pros of BloodHound
- Provides a comprehensive visual representation of Active Directory environments
- Offers powerful attack path analysis and privilege escalation detection
- Supports custom Cypher queries for advanced analysis
Cons of BloodHound
- Primarily focused on Active Directory, limiting its scope compared to MicroBurst
- Requires more setup and configuration for data collection
- May have a steeper learning curve for users unfamiliar with graph databases
Code Comparison
BloodHound (PowerShell data collection):
. .\SharpHound.ps1
Invoke-BloodHound -CollectionMethod All -Domain TESTLAB.LOCAL
MicroBurst (Azure enumeration):
Import-Module .\MicroBurst.psm1
Get-AzurePasswords
Get-AzureDomainInfo -Verbose
BloodHound focuses on Active Directory enumeration and analysis, while MicroBurst is tailored for Azure environment reconnaissance. BloodHound's code snippet demonstrates data collection for AD environments, whereas MicroBurst's example shows Azure-specific enumeration functions. BloodHound excels in visualizing complex AD relationships and attack paths, making it invaluable for AD security assessments. MicroBurst, on the other hand, offers a broader range of Azure-focused tools, making it more versatile for cloud environment testing. Both tools serve different purposes and can be complementary in a comprehensive security assessment toolkit.
This repository contains a collection of cheatsheets I have put together for tools related to pentesting organizations that leverage cloud providers.
Pros of CloudPentestCheatsheets
- Comprehensive coverage of multiple cloud platforms (AWS, Azure, GCP)
- Regularly updated with new techniques and tools
- Easy-to-navigate format with clear categorization
Cons of CloudPentestCheatsheets
- Primarily text-based, lacking interactive scripts or tools
- May require more manual effort to implement techniques
- Less focused on specific automation tasks
Code Comparison
MicroBurst (PowerShell):
Get-AzureADUser | Where-Object {$_.UserType -eq "Guest"} | Select-Object DisplayName, UserPrincipalName, UserType
CloudPentestCheatsheets (CLI command):
az ad user list --query "[?userType=='Guest'].{Name:displayName, UPN:userPrincipalName, Type:userType}" -o table
Both examples show how to list guest users in Azure AD, but MicroBurst uses PowerShell cmdlets, while CloudPentestCheatsheets provides Azure CLI commands. MicroBurst offers more integrated scripting capabilities, while CloudPentestCheatsheets focuses on providing a wide range of individual commands and techniques across multiple cloud platforms.
PEASS - Privilege Escalation Awesome Scripts SUITE (with colors)
Pros of PEASS-ng
- Comprehensive privilege escalation toolkit for multiple operating systems (Windows, Linux, macOS)
- Actively maintained with frequent updates and contributions
- Includes both automated scripts and manual techniques for thorough assessments
Cons of PEASS-ng
- Larger codebase and more complex setup compared to MicroBurst
- May require more time to fully utilize all features and tools
- Some users report occasional false positives in scan results
Code Comparison
PEASS-ng (linPEAS.sh):
if [ "$MACPEAS" ]; then
print_title "MacPEAS"
macpeas_show_banner
macpeas_system_information
macpeas_users_information
macpeas_software_information
MicroBurst (Get-AzureDomainInfo.ps1):
function Get-AzureDomainInfo {
[CmdletBinding()]
Param(
[Parameter(Mandatory=$false,
HelpMessage="Tenant ID to authenticate to")]
[string]$TenantID,
Both repositories offer valuable tools for security assessments, but PEASS-ng provides a more comprehensive suite for privilege escalation across multiple platforms, while MicroBurst focuses specifically on Azure-related security tasks. PEASS-ng may require more setup time, but offers broader functionality. MicroBurst is more specialized and potentially easier to use for Azure-specific assessments.
A swiss army knife for pentesting networks
Pros of CrackMapExec
- More versatile, supporting multiple protocols (SMB, WMI, MSSQL, etc.)
- Active development with frequent updates and contributions
- Extensive documentation and community support
Cons of CrackMapExec
- Steeper learning curve due to more complex functionality
- Potentially more resource-intensive for large-scale operations
- May trigger more security alerts due to its aggressive nature
Code Comparison
MicroBurst (PowerShell):
Get-AzureKeyVaults -Verbose
Get-AzureKeyVaultContent -Verbose
CrackMapExec (Python):
cme smb 192.168.1.0/24
cme winrm 192.168.1.0/24 -u user -p password
Summary
MicroBurst focuses on Azure-specific reconnaissance and exploitation, while CrackMapExec is a more comprehensive post-exploitation tool for various protocols. MicroBurst is PowerShell-based, making it easier for Windows administrators, whereas CrackMapExec is Python-based, offering cross-platform support. CrackMapExec provides broader functionality but may require more expertise to use effectively. MicroBurst is more specialized for Azure environments, potentially offering deeper insights for cloud-specific scenarios.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
MicroBurst: A PowerShell Toolkit for Attacking Azure
MicroBurst includes functions and scripts that support Azure Services discovery, weak configuration auditing, and post exploitation actions such as credential dumping. It is intended to be used during penetration tests where Azure is in use.
Author, Contributors, and License
- Author: Karl Fosaaen (@kfosaaen), NetSPI
- Contributors:
- Scott Sutherland (@_nullbind)
- Thomas Elling (@thomaselling)
- Jake Karnes (@jakekarnes42)
- Josh Magri (@passthehashbrwn)
- License: BSD 3-Clause
- Required Dependencies: Az, Azure, AzureRM, AzureAD, and MSOnline PowerShell Modules are all used in different scripts
- Dependencies Note: Originally written with the AzureRM PS modules, older scripts have been ported to their newer Az equivalents
- Platform Note: These scripts will only run on a Windows-based platform.
Importing the Module / Usage
PS C:> Import-Module .\MicroBurst.psm1
This will import all applicable functions based off of the currently installed modules in your environment. The scripts can then be invoked using their names like
PS C:> Get-AzDomainInfo
If you want to simplify the trusting of the code files, use the following "Unblock-File" command to recursively trust each of the downloaded files:
PS C:> dir -Recurse .\MicroBurst-master | Unblock-File
Recommended Modules to install:
Here's how a module can be installed in Powershell
PS C:> Install-Module <module-name>
Scripts Information
If you want to learn what a specific script does use Get-Help
with script name like:
PS C:> Get-Help Invoke-EnumerateAzureSubDomains
Related Blogs
- A Beginners Guide to Gathering Azure Passwords
- Anonymously Enumerating Azure Services
- Anonymously Enumerating Azure File Resources
- Get-AzurePasswords: Exporting Azure RunAs Certificates for Persistence
- Using Azure Automation Accounts to Access Key Vaults
- Running PowerShell on Azure VMs at Scale
- Maintaining Azure Persistence via Automation Accounts
- Decrypting Azure VM Extension Settings with Get-AzureVMExtensionSettings
- Attacking Azure with Custom Script Extensions
- Lateral Movement in Azure App Services
- Get-AzPasswords: Encrypting Automation Password Data
- Azure Privilege Escalation Using Managed Identities
- Azure Persistence with Desired State Configurations
- How To Extract Credentials from Azure Kubernetes Service (AKS)
- Extracting Managed Identity Certificates from the Azure Arc Service
Presentations
- Extracting all the Azure Passwords - DEF CON 29 - Cloud Village
- Adventures in Azure Privilege Escalation - DerbyCon 9
- Attacking Azure Environments with PowerShell - DerbyCon 8
Wiki Information
Check out the MicroBurst Wiki for more information on the usage of the toolkit and the available functions.
Top Related Projects
PowerSploit - A PowerShell Post-Exploitation Framework
Nishang - Offensive PowerShell for red team, penetration testing and offensive security.
Six Degrees of Domain Admin
This repository contains a collection of cheatsheets I have put together for tools related to pentesting organizations that leverage cloud providers.
PEASS - Privilege Escalation Awesome Scripts SUITE (with colors)
A swiss army knife for pentesting networks
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot