Servicios ocultos .onion: Red Tor - Así se configuran y funcionan sus servicios ocultos .onion

Uno de los puntos más interesantes de la red de anonimato Tor son sus servicios ocultos (en inglés, hidden services), conocidos también como servicios ocultos .onion, servicios .onion o sitios .onion debido a su peculiar dominio de nivel superior.

El objetivo de los servicios ocultos es dificultar lo máximo posible la localización y el rastreo tanto del cliente como del propietario u operador del servicio. Para ello, Tor camufla las conexiones utilizando la red de nodos desplegada alrededor de todo el mundo.

De acuerdo a los datos oficiales proporcionados por The Tor Project, actualmente existen más de 40.000 servicios ocultos, aunque en determinadas épocas se han producido crecimientos exponenciales en los que ha llegado a haber más de 120.000.

Servicios .onion: Direcciones .onion únicas
Este gráfico muestra el número de direcciones .onion únicas en la red Tor desde principios de 2015 hasta finales de agosto de 2017 | Tor Metrics

Existe una gran variedad de servicios ocultos, todos basados en el Protocolo de Control de Transmisión o TCP: desde simples índices, como The Hidden Wiki (cuya URL es http://zqktlwi4fecvo6ri.onion/wiki/index.php/Main_Page) hasta elaborados criptomercados, como Dream Market (cuya URL es http://pwoah7foa6au2pul.onion/login.php), pasando por servicios de comunicaciones, como TorBox (cuya URL es http://torbox3uiot6wchz.onion/).

Cualquier persona puede crear una web anónima que utilice las entrañas de la red Tor. Para ello es necesario llevar a cabo tres pasos: el primero, instalar y ejecutar Tor Browser —el navegador por antonomasia de Tor—; el segundo, montar un servidor web local; y el tercero y último, añadir ciertos parámetros al archivo de configuración torrc para hacer accesible el contenido del servidor a los clientes.

Red Tor: Cualquier persona puede disponer de su propia web anónima en esta darknet. Haz click para twittear

No obstante, es necesario tomar ciertas precauciones: los servicios ocultos están expuestos a ataques. Anonimato no equivale en ningún caso a seguridad. Las fugas o leaks de información pueden destruir el anonimato de un servicio oculto y pueden permitir dar con la identidad del creador. Para evitar este escenario, el servidor web debe configurarse de tal manera que no proporcione información sensible alguna (como su ubicación); asimismo, debe estar vinculado únicamente a localhost ya que, de lo contrario, se podría establecer una relación entre el servicio oculto y el equipo que lo aloja.

Con todo, lo cierto es que el montaje básico —sin tener en cuenta excesivas medidas de seguridad— de un servicio oculto en la darknet de Tor no es complicado. El operador puede realizar la instalación del servidor web local usando el entorno XAMPP, distribución de Apache de uso sencillo. Posteriormente, debe añadir en el archivo torrc (el cual se encuentra, en Windows 10, en el directorio Tor Browser\Browser\TorBrowser\Data\Tor), las siguientes tres líneas —téngase en cuenta que en este caso los parámetros instaurados tanto en HiddenServiceDir como en HiddenServicePort son ejemplos; pueden cambiarse libremente—:

Servicios ocultos .onion: Configuración archivo torrc

La primera línea es un simple comentario que ayuda a mantener el archivo torrc organizado; sin embargo, las otras dos son fundamentales: la opción HiddenServiceDir indica a Tor Browser dónde ha de guardar los archivos relativos al servicio oculto. Por su parte, HiddenServicePort realiza dos acciones: especifica un puerto virtual —en este caso, el 80— y establece la dirección IP y el puerto al que se redirigirán las conexiones al puerto virtual. En este ejemplo, serán redirigidas a la IP y puerto 127.0.0.1:441 (donde está configurado el servidor web local).

Tras escribir estos dos parámetros en torrc, el operador ha de iniciar Tor Browser. El software creará en el directorio precisado en HiddenServiceDir dos archivos: uno llamado private key y otro llamado hostname. El primero contiene la clave privada RSA-1024 del servicio oculto generada por Tor. Esta clave nunca se comparte. Si alguien la obtuviera, podría declararse legítimo propietario del servicio y redirigir las peticiones de Tor hacia otro servidor.

Servicios ocultos .onion: Fragmento de la clave privada de un servicio .onion
Fragmento de la clave privada de un servicio .onion.

Por su parte, el archivo hostname contiene la dirección .onion del servicio oculto, compuesta por 16 caracteres alfanuméricos generados aleatoriamente, los cuales pueden variar desde la letra “a” a la “z” (sin contar la “ñ” del alfabeto español) y desde los dígitos 2 a 7.

¿Por qué pueden tener únicamente estos 6 números? El motivo se debe a cómo calcula Tor las direcciones: tras generar las claves RSA-1024 (la pública y la privada), Tor calcula el hash SHA-1 de la clave pública ASN.1 codificada por DER. SHA-1 produce una salida —llamada hash value, hash o message digest—de 160 bits. A continuación, Tor toma la primera mitad del hash (80 bits), la codifica en base32 y le añade el sufijo .onion. En definitiva, el hostname generado por Tor es el hash modificado de la clave pública que había generado previamente. Concretamente, la mitad del hash SHA-1 (10 octetos) convertido en base32.

El alfabeto de base32 definido en la publicación RFC 4648 abarca de la letra “a” a la letra “z” y del número 2 al número 7 (el 0 y el 1 son descartados para evitar confusiones con las letras “O” e “I”, respectivamente). Por ello los servicios ocultos .onion tienen direcciones encuadradas únicamente entre estas letras y números.

Si todo ha sido configurado correctamente, el servicio oculto ya debería estar disponible a través de la red Tor. Ahora bien, ¿qué ha ocurrido exactamente para que la web esté operativa? Del mismo modo, ¿cómo trabajan el cliente y el servicio oculto para gozar de anonimato y cifrado extremo-extremo? La respuesta es compleja. Una vez se monta el servidor, se añaden las opciones HiddenServiceDir y HiddenServicePort al archivo torrc y se inicia Tor Browser, el servicio oculto escoge, por defecto, tres nodos de forma aleatoria y les entrega su clave pública. Desde ese momento, esos nodos son introduction points del servicio. Jugarán un papel importante en el establecimiento de la comunicación cliente/servidor.

Servicios ocultos .onion: Funcionamiento - Imagen 1

Tras elegir los introduction points, el servicio oculto crea un archivo llamado Hidden Service Descriptor (HSD) y lo sube a una base de datos que funciona como un servicio de directorio. El Hidden Service Descriptor es importante porque contiene información fundamental para que pueda establecerse comunicación entre el cliente y el servicio oculto. Entre otros elementos, el HSD señala los introduction points que el servicio oculto escogió anteriormente.

Servicios ocultos .onion: Funcionamiento - Imagen 2

A partir de este punto, el servicio oculto ya se encuentra disponible y es accesible desde Tor. Para poder tener acceso a él, el usuario-cliente debe conocer su hostname o dirección .onion, escribirla en la barra de direcciones de Tor Browser y pulsar la tecla Intro. En ese momento, el navegador-cliente obtendrá el HSD que el servicio oculto subió a la red Tor. Al mismo tiempo, se pondrá en contacto con un nodo aleatorio y le solicitará que actúe como un rendezvous point. Esta petición incluirá un tipo de cookie llamada “one-time secret” (OTC), que servirá para identificar de forma única e inequívoca al circuito de Tor establecido entre el rendezvous point y el cliente.

Servicios ocultos .onion: Funcionamiento - Imagen 3

Una vez ha obtenido el HSD, y el rendezvous point esté listo, el cliente creará un mensaje de presentación (en inglés, introduce message) que incluirá la dirección del rendezvous point y la one-time secret cookie. Enviará esta información a uno de los introduction points, solicitando que sea entregado al servicio oculto. El mensaje de presentación estará cifrado con la clave pública del servicio oculto. De esta manera, los nodos por los que pase el mensaje no podrán ver su contenido.

La comunicación entre el cliente y el introduction point se realizará mediante un circuito de Tor, por lo que no habrá manera de relacionar el mensaje de presentación con la dirección IP del cliente.

Servicios ocultos .onion: Funcionamiento - Imagen 4

Cuando el servicio oculto reciba el mensaje de presentación, lo descifrará con su clave privada y establecerá comunicación, mediante un circuito de Tor, con el rendezvous point que eligió en su momento el cliente. Entonces, el servicio oculto enviará al rendezvous point la one-time secret cookie. En ese momento, el rendezvous point relacionará la one-time secret cookie enviada por el servicio oculto con el circuito de Tor creado anteriormente por el cliente.

Servicios ocultos .onion: Funcionamiento - Imagen 5

Finalmente, el rendezvous point comunicará al cliente el establecimiento exitoso de la conexión. Después de eso, tanto el cliente como el servicio oculto podrán utilizar sus circuitos de Tor al rendezvous point para comunicarse entre sí. El rendezvous point simplemente retransmitirá (con cifrado extremo a extremo) los paquetes de datos del cliente al servicio oculto y viceversa.

Servicios ocultos .onion: Funcionamiento - Imagen 6

Los servicios ocultos de Tor no están extensos de posibles ciberataques

Como se ha mencionado anteriormente, una configuración incorrecta del servidor web puede derivar en graves deficiencias que dañen, parcial o completamente, el anonimato buscado.

Asimismo, los operadores deben tener en cuenta que, a pesar de estar internos dentro de la darknet de Tor, los servicios ocultos no son inmunes al pentesting, que consiste en la utilización de programas y herramientas informáticas, como Nikto o Nmap, con el fin de conocer las vulnerabilidades o fallos de equipos y/o sistemas.

Los pentesters únicamente deben crear un túnel que conecte la máquina atacante con el servicio oculto deseado —algo factible gracias a herramientas como socat—. Una vez constituido este túnel, el proceso de pentesting es igual al que es posible realizar contra servidores convencionales.

Una vez conocidas las vulnerabilidades —si es que existen—, los atacantes intentarán explotarlas a través de exploits o mediante ataques como la inyección de código SQL. De esta manera, podrían llegar a hacerse con información confidencial de los servicios ocultos, poniendo en serio riesgo el anonimato.

Por ello, antes de proceder a configurar un servicio .onion es recomendable tener cierta experiencia en cuanto a montaje de servidores y seguridad informática.

Red Tor: Así se configuran y funcionan sus servicios ocultos
5 (100%) 1 voto

Comentarios

E-mail is already registered on the site. Please use the Login form or enter another.

You entered an incorrect username or password

Sorry, you must be logged in to post a comment.