redireccionar_trafico_tuneles_http_https_con_socat
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
redireccionar_trafico_tuneles_http_https_con_socat [2021/01/03 21:57] – [socat con HTTP/HTTPS: Redireccionar tráfico / Crear Tuneles / Cifrar tráfico HTTP] busindre | redireccionar_trafico_tuneles_http_https_con_socat [2021/01/03 22:10] (current) – busindre | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== socat con HTTP/HTTPS: Redireccionar tráfico / Crear Tuneles / Cifrar tráfico HTTP ===== | ===== socat con HTTP/HTTPS: Redireccionar tráfico / Crear Tuneles / Cifrar tráfico HTTP ===== | ||
- | Socat es una herramienta muy popular y útil para crear túneles que permitan redireccionar tráfico de una IP/Puerto a otro diferente, entre otras muchas cosas. También es usada para intermediar entre un protocolo no cifrado y uno cifrado. Hay entornos empresariales donde aplicaciones antediluvianas son el freno para poder desplegar protocolos de cifrado más modernos. Por ejemplo aplicaciones antiguas no suelen ser compatibles con TLS 1.3. En este tipo de casos, gracias a socat, sería factible crear un túnel para que la aplicación | + | Socat es una herramienta muy popular y útil para crear túneles que permitan redireccionar tráfico de una IP/Puerto a otra IP/ |
+ | |||
+ | En este tipo de casos, gracias a socat, sería factible crear un túnel para que la aplicación | ||
En este artículo nos centraremos en el protocolo HTTP para los ejemplos y explicaremos los casos más comunes a la hora de querer tunelizar conexiones HTTP/S. Socat y los ejemplos aquí expuestos son igual de válidos para otros protocolos / puertos de red. | En este artículo nos centraremos en el protocolo HTTP para los ejemplos y explicaremos los casos más comunes a la hora de querer tunelizar conexiones HTTP/S. Socat y los ejemplos aquí expuestos son igual de válidos para otros protocolos / puertos de red. | ||
- | Para ver qué hace socat cuando recibe peticiones, | + | Para ver qué hace socat al tunelizar conexiones |
< | < | ||
Line 45: | Line 47: | ||
<code bash> | <code bash> | ||
- | Por norma, las configuraciones de servidores web suelen permitir | + | Por norma, las configuraciones de servidores web suelen permitir |
- | <code bash># Se enviará la cabecera Host: " | + | <code bash># Se enviará la cabecera |
curl -vI --resolve www.ejemplo.com: | curl -vI --resolve www.ejemplo.com: | ||
</ | </ | ||
Line 55: | Line 57: | ||
==== HTTP > HTTPS ==== | ==== HTTP > HTTPS ==== | ||
- | Socat puede usarse para tunelizar conexiones HTTP a HTTPS, algo muy útil a la hora de auditar comunicaciones. Supongamos que una aplicación unicamente puede hacer peticiones HTTP y no HTTPS, con socat se podría especificar un puerto (normalmente en local pero podría ser remoto también) que solo use HTTP y redirija la comunicación a otro puerto HTTPS. De esta manera socat se encarga de realizar el Handshake y establecer la conversación cifrada HTTPS. Aunque no sea la mejor herramienta para ello se podría usar para ataques SSL Strip. Editar el fichero /etc/hosts, registros DNS o simplemente crear un dominio muy similar al de una plataforma de compras en linea y servir una versión sin SSL de la misma para auditar las credenciales (SSL MITM). | + | Socat puede usarse para tunelizar conexiones HTTP a HTTPS, algo muy útil a la hora de auditar comunicaciones. |
+ | |||
+ | Supongamos que una aplicación unicamente puede hacer peticiones HTTP y no HTTPS, con socat se podría especificar un puerto (normalmente en local , pero podría ser remoto también) que solo use HTTP y redirija la comunicación a otro puerto HTTPS. De esta manera socat se encarga de realizar el Handshake y establecer la conversación cifrada HTTPS. | ||
+ | |||
+ | Aunque no sea la mejor herramienta para ello se podría usar para ataques SSL Strip. Editar el fichero /etc/hosts, registros DNS o simplemente crear un dominio muy similar al de una plataforma de compras en linea y servir una versión sin SSL de la misma para auditar las credenciales (SSL MITM). | ||
- | Al usar socat para conexiones SSL/TLS, este controla | + | Se debe tener en cuenta que al usar socat para conexiones SSL/TLS, este comprueba |
<code bash> # El puerto 8080 escucha peticiones no cifradas y las redirecciona usando SSL/TLS al puerto 443 de www.dominio.com. | <code bash> # El puerto 8080 escucha peticiones no cifradas y las redirecciona usando SSL/TLS al puerto 443 de www.dominio.com. | ||
Line 76: | Line 82: | ||
socat TCP6-LISTEN: | socat TCP6-LISTEN: | ||
- | NOTA: Hay otras opciones muy interesantes y se invita al lector a usar el manpages | + | NOTA: Hay otras opciones muy interesantes y se invita al lector a usar las págians del manual |
redireccionar_trafico_tuneles_http_https_con_socat.1609707458.txt.gz · Last modified: 2021/01/03 21:57 by busindre