TOR: Cómo protegernos de ataque desde esta red.

¿Qué es TOR?

TOR  son las siglas de The Onion Router o El router Cebolla en español. Fue creada como una red superpuesta a Internet y poder garantizar la libertad de los usuarios viajando los mensajes encriptados desde el origen hasta el final. De esta forma no se lograría saber la dirección IP del que inicia la petición. Estas peticiones pasan por una serie de routers intermedios, de manera que si se lograse averiguar la IP de quien nos hizo la petición, detrás habría otro nodo TOR. Es una estructura similar a las capas de una cebolla y de ahí su nombre.

Esta red garantizaba la libertad de expresión para aquellos países en los que la red Internet estaba controlada y censurada. Ellos garantizan que un usuario que visita un lugar restringido, no sería bloqueado. Este usuario no visitará el lugar bloqueado, su visita será a otro usuario, este usuario a otro usuario y este a otro,creando un enrutamiento anónimo hasta llegar al destino.

Fucionamiento de la red TOR

La red TOR

La red TOR forma parte de la Darknet y es una red oscura, superpuesta a la Internet Normal. Esta red sólo es accesible desde las aplicaciones necesarias. Cuando accedemos a la red TOR, obtenemos direcciones encriptadas sólo accesibles desde esa red. Además existen dominios .onions que sólo podremos visitar si estamos ya conectados a la red TOR . Esta red ofrece servicios fuera del control de internet y apoyados en ese anonimato. Lógicamente cuando algo escapa al control, empieza a ser refugio de mercados ilícitos.

Los Malos

Si hasta ahora hemos comentado que TOR es un elemento para facilitar las comunicaciones libres, ¿qué tiene esto de malo?

Una cosa es el fin con el que se cree y otra con el que se use. Esto no quiere decir que todo lo que exista en TOR sea malo, pero se ha convertido en un lugar en el que se refugia «los bajos fondos» de la red.

Como ya he comentado anteriormente, han proliferado mercados donde puedes encontrar desde delitos informáticos, drogas, armas, encargos de asesinatos y los delitos más repugnantes que puedas imaginar. Por suerte, este tipos de Webs son perseguidas y nos encontramos con noticias de que las policías logran identificar a los responsables y las cierran.

Las excusas

Cuando envías un abuse a una  IP de un nodo de TOR, las respuestas son muy simples. Estas ya que están prediseñadas para según que tipo de abuse. Puedes revisarlas aquí.

Las respuestas son muy educadas, lógicamente ellos no tiene nada que ver con tu queja porque son meros intermediarios. Además se permiten darte consejos como por ejemplo si le mandas un abuse por bruteforce de ssh,  te recomiendan no usar el puerto 22. Señores, el problema no es que yo use el puerto estandar de la aplicación, el problema es que tu IP me ha realizado un ataque por fuerza bruta. En otras ocasiones, si es porque han usado una cuenta robada desde el nodo de TOR, la respuesta es que el problema es tuyo que te la han robado en otro sitio. Una cosa si dejan clara, que ellos no son una botnet, efectivamente no serán una botnet, pero si los usan como tal.

El más común es que ellos no van a hacer nada, que tienen públicas una DNSRBL que las uses para bloquearlos. Esto es lo que vamos a aprender a hacer aquí.

Tipos de ataques.

No todos los usuarios de TOR van a realizarnos ataques. Es cierto que se usan para dar anonimatos y permitir acceder desde países desde los que están bloqueadas ciertas webs, pero no todos los usuarios lo hacen por lo mismo. Desde las redes TOR se realizan distintos tipos de ataques.

Red TOR

Fuerza Bruta

La mayoría de los ataque recibidos desde la red TOR son ataques por fuerza bruta. Son ataques que lo que intentan es sacarnos un usuario y contraseña válidos. Estos ataques son a páginas de login  como los de WordPress. Para estos CMS existen plugins que protección para accesos de IP o directamente de TOR.

DDoS

Son menos frecuentes, pero como cualquier botnet son usados para atacar. Son ataques directamente para tumbarte. Estos tipos de ataque han cobrado fuerza por la facilidad y el coste de realizarlo, sumados al anonimato que esta propia red le da.

Cómo protegernos

En los correos de abuse nos indican que disponen de una lista en las que aparecen los nodos que están disponibles y que tienen acceso a tus IPs.

Usaremos estas listas para bloquear TODO lo que venga desde TOR. Puede parecer matar moscas a cañonazos, pero a no ser que seamos una web política o de un colectivo censurado, no tenemos por que preocuparnos de bloquear a TOR, ya que los usuarios normales podrán acceder.

BaneaTor: El Script

Para protegernos vamos a usar un script simple en bash para sistemas Linux y como nombre me gusta usar el juego de palabras BaneaTor.

Obtendremos las IPs de las IPs correspondiente a los nodos y mediante un bucle for bloquearemos cada una de las IPs.

#!/bin/bash

IPSLIST=$(curl -s https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=$(curl -s https://ipinfo.io/ip) | grep -v ^#)

(iptables -nvL TOR &> /dev/null) || (iptables -N TOR; iptables -I INPUT 1 -j TOR)
for IP in $IPSLIST
do
	(iptables -nvL TOR | grep $IP &> /dev/null) || iptables -A TOR -s $IP -j REJECT
done

Para obtener las IPs de los nodos, hacemos una petición a ipinfo para que nos de nuestra IP pública y con esa IP hacemos otra petición por curl a la web de torproject para que nos de los nodos.

Creamos un chain llamado TOR y lo metemos al principio del INPUT.

Después recorremos y metemos  cada una de esas IP en esa lista con un Reject.

Con esto nos aseguramos que las IPs de los nodos de TOR no puedan llegar a nosotros. Ahora queda a tu elección el usarlo o no.