# 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.' }