55 lines
1.8 KiB
PowerShell
55 lines
1.8 KiB
PowerShell
# The actual Invoke-Shellcode has moved to Invoke--Shellcode.ps1.
|
|
# This was done to make a point that you have no security sense
|
|
# if you think it's okay to blindly download/exec code directly
|
|
# from a GitHub repo you don't control. This will undoubedtly break
|
|
# many scripts that have this path hardcoded. If you don't like it,
|
|
# fork PowerSploit and host it yourself.
|
|
|
|
function Invoke-Shellcode
|
|
{
|
|
|
|
[CmdletBinding( DefaultParameterSetName = 'RunLocal', SupportsShouldProcess = $True , ConfirmImpact = 'High')] Param (
|
|
[ValidateNotNullOrEmpty()]
|
|
[UInt16]
|
|
$ProcessID,
|
|
|
|
[Parameter( ParameterSetName = 'RunLocal' )]
|
|
[ValidateNotNullOrEmpty()]
|
|
[Byte[]]
|
|
$Shellcode,
|
|
|
|
[Parameter( ParameterSetName = 'Metasploit' )]
|
|
[ValidateSet( 'windows/meterpreter/reverse_http',
|
|
'windows/meterpreter/reverse_https',
|
|
IgnoreCase = $True )]
|
|
[String]
|
|
$Payload = 'windows/meterpreter/reverse_http',
|
|
|
|
[Parameter( ParameterSetName = 'ListPayloads' )]
|
|
[Switch]
|
|
$ListMetasploitPayloads,
|
|
|
|
[Parameter( Mandatory = $True,
|
|
ParameterSetName = 'Metasploit' )]
|
|
[ValidateNotNullOrEmpty()]
|
|
[String]
|
|
$Lhost = '127.0.0.1',
|
|
|
|
[Parameter( Mandatory = $True,
|
|
ParameterSetName = 'Metasploit' )]
|
|
[ValidateRange( 1,65535 )]
|
|
[Int]
|
|
$Lport = 8443,
|
|
|
|
[Parameter( ParameterSetName = 'Metasploit' )]
|
|
[ValidateNotNull()]
|
|
[String]
|
|
$UserAgent = 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)',
|
|
|
|
[Switch]
|
|
$Force = $False
|
|
)
|
|
|
|
throw 'Something terrible may have just happened and you have no idea what because you just arbitrarily download crap from the Internet and execute it.'
|
|
}
|