Convert Figma logo to code with AI

NetSPI logoMicroBurst

A collection of scripts for assessing Microsoft Azure security

2,005
312
2,005
4

Top Related Projects

PowerSploit - A PowerShell Post-Exploitation Framework

8,730

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.

15,911

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

  1. 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.

  1. 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.

  1. 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

  1. Clone the repository:

    git clone https://github.com/NetSPI/MicroBurst.git
    
  2. Import the module in PowerShell:

    Import-Module .\MicroBurst.psm1
    
  3. Authenticate to Azure:

    Connect-AzAccount
    
  4. 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.

8,730

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.

15,911

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

MicroBurstLogo
licence badge stars badge forks badge issues badge Twitter Follow

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:
  • 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

Presentations

Wiki Information

Check out the MicroBurst Wiki for more information on the usage of the toolkit and the available functions.