public/Get-NexposeVulnerabilityExploit.ps1
Function Get-NexposeVulnerabilityExploit { <# .SYNOPSIS Returns the details for an exploit. .DESCRIPTION Returns the details for an exploit. .PARAMETER Id The identifier of the exploit .PARAMETER IncludeVulnerabilities Include the list of vulnerabilities contained within the selected exploit .EXAMPLE Get-NexposeVulnerabilityExploit -Id 123 .NOTES For additional information please see my GitHub wiki page .FUNCTIONALITY GET: exploits GET: exploits/{id} GET: exploits/{id}/vulnerabilities .LINK https://github.com/My-Random-Thoughts/Rapid7Nexpose #> [CmdletBinding()] Param ( [string]$Id = 0, [switch]$IncludeVulnerabilities ) If ($Id -gt 0) { $vulnExp = (Invoke-NexposeQuery -UrlFunction "exploits/$Id" -RestMethod Get) If ($IncludeVulnerabilities.IsPresent) { $vulns = @(Invoke-NexposeQuery -UrlFunction "exploits/$Id/vulnerabilities" -RestMethod Get) $vulnExp | Add-Member -Name 'vulnerabilities' -Value $vulns -MemberType NoteProperty } Write-Output $vulnExp } Else { Write-Output @(Invoke-NexposeQuery -UrlFunction 'exploits' -RestMethod Get) # Return All } } |