BurpSuite is a PowerShell module with commands for managing BurpSuite Enterprise.
Documentation of the functions can be found in the docs README or using Get-Help BurpSuite
once the module is installed.
- Windows PowerShell 5.1 or newer.
- PowerShell Core.
Install this module from the PowerShell Gallery.
Install-Module -Name BurpSuite
You can review the status of every BurpSuite pipeline below.
Pipeline | Status |
---|---|
Production |
The build for BurpSuite is run on Linux and Windows to ensure there are no casing or other platform specific issues with the code. On each platform unit tests are run to ensure the code runs on all platforms and without issues. During pull request builds the module is also installed both on Windows and Linux and tested using integration tests against BurpSuite Enterprise before changes are pushed to the master branch.
To run build the script build.ps1
. The script has the following parameters:
-Task '<Task Name>'
: Specifies the task you wish to run, default is Test, see build.ps1 or alternatively run.\build.ps1 -Help
.-Bootstrap
: By default the build will not install dependencies unless this switch is used.-Help
: Lists al tasks available for the building.
Below are some examples on how to build the module locally. It is expected that your working directory is at the root of the repository.
Builds the module, runs unit tests and also builds the help.
.\build.ps1
Builds the module, installs needed dependencies, runs unit tests and also builds the help.
.\build.ps1 -Bootstrap
Before you can start using the functions in this module you will need to create a API key in the BurpSuite Enterprise UI. After getting the API key the first step is to connect the module with BurpSuite, this can be done using the following cmdlet.
Connect-BurpSuite -APIKey 'd0D99S3Strkcdd8oALICjmPtwJuLbFtKX' -Uri "https://burpsuite.example.org"
After connecting the module with your BurpSuite Enterprise server, you can do a number of actions using the functions available in this module. To list available commands in the module use Get-Command -Module BurpSuite
.
To list sites and folder on BurpSuite use the following command.
Get-BurpSuiteSiteTree
To list al scan configurations.
Get-BurpSuiteScanConfiguration
To create a new site.
$scope = [PSCustomObject]@{
StartUrls = @("http://example.com")
}
New-BurpSuiteSite -Name "www.example.com" -Scope $scope -ScanConfigurationIds '1232asdf23234f'
To initiat a new scan for a site.
$scope = [PSCustomObject]@{
StartUrls = @("http://example.com")
}
$site = New-BurpSuiteSite -Name "www.example.com" -Scope $scope -ScanConfigurationIds '1232asdf23234f'
New-BurpSuiteScheduleItem -SiteId $site.id -ScanConfigurationIds $site.scan_configurations.id
You can also download scan reports.
$scan = Get-BurpSuiteScan -Fields id, site_id, status | Where-Object { $_.site_id -eq 10 }
$scan | Get-BurpSuiteScanReport -OutFile "C:\Reports\scan_report.html"
For more example see the examples available througout the module.
Kudos goes to the following people for inspiring me on building PowerShell modules.
This project is licensed under the MIT License.