Ratched: Una herramienta para montar un Proxy TLS e interceptar conexiones HTTPS

Escrito por Sergio De Luz

Ratched es un proxy que realiza ataques Man In The Middle (MitM) diseñado específicamente para interceptar las conexiones TLS, por tanto, podremos interceptar el tráfico HTTPS de diferentes usuarios. Este nuevo software Ratched está diseñado para su utilización en sistemas Linux, ya que hace uso de iptables para redireccionar el tráfico de las conexiones.

Principales Características de Ratched

Esta nueva herramienta que se encarga de montar un proxy TLS, es capaz de interceptar y redireccionar todas las conexiones a un puerto local donde escucha el software. Ratched es capaz de determinar el destino deseado (antes de la redirección que hace en iptables), e intenta establecer una conexión con el destino original.

¿En qué se diferencia Ratched de otras herramientas como el popular SSLtrip? Ratched no intercepta todo el tráfico indiscriminadamente, la herramienta espera a que el cliente TLS envíe el primer “ClientHello” para analizarlo, y decidir con el “Server Name Indication” de TLS si el objetivo debe ser interceptado o no. Esto es ideal para únicamente interceptar conexiones a un nombre de host específico, y no a todos con los que realice conexiones. Otra característica de Ratched es que no ha sido diseñado para capturar contraseñas o cookies de sesión, su función principal es la de verter la información en un archivo PCAPNG para su posterior tratamiento. Esta herramienta es capaz de incorporar en la captura el SNI, y también permite introducir información de resolución de nombres en la captura.

Esta herramienta tiene una configuración individual para cada SNI (Server Name Indication) interceptado. Ratched es capaz de interceptar conexiones que usan curvas elípticas, suites nuevas de cifrado, e incluso versiones específicas de TLS tanto en el lado del cliente como del servidor. Además, algo muy interesante es que nos permite especificar certificados/claves personalizadas para los diferentes hosts interceptados. Esta herramienta proporciona un amplio soporte a los certificados de los clientes, incluso podremos falsificar automáticamente los certificados para los clientes, además, permite OCSP Stapling, para forzar respuestas OCSP válidas cuando un cliente envía una solicitud.

Instalación y puesta en marcha de Ratched

Lo primero que tenemos que hacer es descargar el código fuente desde el proyecto Ratched en Github. Una vez que descarguemos o clonemos el repositorio, tendremos que realizar un “make” para la compilación e instalación en el sistema.

git clone https://github.com/johndoe31415/ratched
cd ratched
make

Una vez compilado e instalado, tendremos que ejecutarlo con diferentes opciones, para guardar en una captura pcapng toda la información o solo parte de ella. Si ejecutamos el siguiente comando, guardaremos en una captura toda la información (la que filtremos con la redirección de iptables):

ratched -o output.pcapng

Si por ejemplo queremos filtrar únicamente el tráfico hacia redeszone.net, podremos indicar lo siguiente:

ratched -f redeszone.net:443 -o output.pcapng

Por último, debemos utilizar iptables para la redirección del tráfico. Si queremos enviar todo el tráfico tendremos que poner lo siguiente:

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 9999

Si por ejemplo queremos capturar el tráfico de una IP de origen en concreto, tendremos que poner esto:

iptables -t nat -A PREROUTING -p tcp -s 192.168.1.250 --dport 443 -j REDIRECT --to-ports 9999

Os recomendamos acceder al proyecto oficial de Ratched en GitHub, aquí encontraréis toda la información necesaria para su puesta en marcha, y más ejemplos de utilización con su correspondiente explicación y ayuda.

Últimos análisis

Valoración RZ
5
Valoración RZ
8
Valoración RZ
9
Valoración RZ
8
Valoración RZ
10
Valoración RZ
8
Valoración RZ
10