Cómo realizar movimientos laterales con Socat – Parte 2 de 2
2023-3-29 15:0:7 Author: thehackerway.com(查看原文) 阅读量:13 收藏

Demostración en vídeo del post.

Tal como he explicado en la primera parte de esta serie, es posible ejecutar Socat en sistemas Windows y Linux sin mayores dificultades. Es una herramienta potente y con muchas opciones que la hacen ideal para realizar movimientos laterales, entre otras cosas. En este artículo verás algunas otras aplicaciones que se pueden implementar con Socat.

Usa un proxy HTTP o SOCKS

En ocasiones necesitas que tus conexiones pasen por medio de un proxy, por ejemplo, cuando te conectas a la red de TOR y quieres consultar algún sitio en la darknet de dicha solución de anonimato. En estos casos, puedes usar Socat para facilitar la gestión de dicho servidor proxy. Concretamente, para poder utilizar un servidor proxy, se deben indicar las opciones SOCKS4A, SOCKS5 o PROXY. Todas ellas tienen una sintaxis común, así que se puede emplear una u otra dependiendo del tipo de servidor proxy por el que tenga que pasar el tráfico.

Como se puede observar, en la primera terminal se abre el puerto 4444 y todas las conexiones entrantes se enrutan por medio de un proxy SOCKS. El resultado en este caso, permitirá usar el proxy SOCKS de TOR en el puerto 9150 y acceder a la dirección ONION especificada. Luego, desde una segunda terminal, se puede establecer una conexión HTTP al puerto 4444 y tanto Socat como el proxy SOCKS de TOR se encargarán del resto.

Crea conexiones unidireccionales

Por defecto, las conexiones en Socat son bidireccionales entre cliente y servidor. Sin embargo, es posible que resulte conveniente cambiar este comportamiento y hacer que el tráfico viaje en un solo sentido.

En este caso, se reciben las conexiones en el puerto 3334, pero el proceso no envía ningún tipo de respuesta ya que se indicado la opción «-u».

Cifra las conexiones usando OpenSSL

Una de las características más potentes de Socat es que tiene integración con OpenSSL. Cuenta con varias opciones que permiten levantar un servidor SSL o establecer una conexión segura.

En primer lugar, es necesario generar una clave privada y su correspondiente certificado, tal como se enseña en la siguiente imagen.

A continuación, se puede usar Socat tanto para levantar un servidor SSL como para establecer una conexión segura. En ambos casos se debe usar el mismo certificado PEM.

En la primera terminal se levanta el servidor en el puerto 4443 y se indica, mediante la opción «cert», que se deben cifrar los datos con dicho certificado. Todas las conexiones entrantes, serán procesadas por el comando «/bin/bash», lo que da como resultado el comportamiento de una «bind shell».

Crea una pequeña VPN

Con Socat es posible crear un segmento de red virtual privado gracias a la opción «TUN». Si bien se trata de una opción sencilla y fácil de usar, no implementa todas las características que incorpora una VPN, aún así resulta una alternativa interesante que se encuentra disponible en Socat.

En la imagen anterior se puede apreciar el uso de la opción TUN. En la primera terminal, se levanta el puerto 7777 y se levanta la interfaz de red «9.9.9.1». En la segunda terminal, se establece la conexión a dicho puerto y se crea, en la máquina del cliente, una interfaz de red nueva con la IP «9.9.9.40». En este punto, ambas máquinas podrán establecer conexiones utilizando dichas direcciones IP, eso mientras la conexión con Socat se encuentre establecida y no se cierre la terminal.

Como has podido apreciar en estos dos artículos, esta herramienta ofrece muchas alternativas y es una buena idea conocerla en profundidad.

¿Conoces alguna otra opción o técnica interesante con Socat?
Te leo en los comentarios!

Un saludo y Happy Hack!
Adastra.


文章来源: https://thehackerway.com/2023/03/29/como-realizar-movimientos-laterales-con-socat-parte-2-de-2/
如有侵权请联系:admin#unsafe.sh