AnonimatoCriptografíaLinuxSecurización

Creación de un Hidden Service de Tor

Colaborador: Hackbier
Antes de comenzar esta PoC, queremos recalcar que está realizada con fines educativos y, sobre todo éticos. Y no nos hacemos responsables del mal uso que puedan darle.
Vamos a montar un Hidden Service, es decir, un servidor con dominio .onion, aumentando así la privacidad y anonimato del servicio dado. Este tipo de dominio conforman lo que se conoce como red Tor, perteneciente a la Deep Web.
Para realizar esta PoC, montaremos un servidor web en un entorno virtualizado (no por ello falso, ya que aún virtualizado estará en la red y será accesible) sobre GNU/Linux Debian.
¿Qué es Tor?
Tor (The Onion Routing) es una red de nodos distribuidos por el mundo, en el que los paquetes viajan por los mismos antes de llegar a su destino, ofreciendo privacidad y sobre todo anonimato. Cada nodo por el que pasa un paquete es cifrado por capas (e ahí el nombre de Onion).
La red de Tor forma parte además de la conocida Deep Web, en la que el anonimato, como arma de doble filo, es tanto usada con fines éticos (librerías, tutoriales de todo tipo, prensa sin censura) como con fines delictivos (pedofilia, mercado negro, servicios ilegales).
tor-encryption
Tras esta breve introducción a Tor, si deseas más información, te dejamos algunos enlaces que pueden serte de utilidad: Wikipedia, Tor Project, Cómo empezar a usar Tor, Cómo funiona Tor.
Instalación del servidor web (LAMP)
Comenzamos con la instalación del servidor LAMP en nuestro Debian. LAMP es el acrónimo dado a la infraestructura del servidor web conformado por las siguientes herramientas: Linux + Apache + MySQL + PHP (A veces, MySQL puede ser sustituido por MariaDB, y PHP por Perl o Python). No vamos a entrar en detalles sobre la instalación, ya que realizaremos una instalación básica sin configuraciones extra.
Como Instalar Apache Mysql PHP en Debian
El proceso es sencillo y no ahondaremos en configuraciones, por lo que únicamente instalaremos los paquetes necesarios y editaremos el contenido de la página.
# apt-get install apache2 php5 libapache2-mod-php5 php5-mcrypt mysql-server php5-mysql
Comprobamos  el correcto funcionamiento de nuestro servidor web (conectándonos a la IP del servidor desde un navegador):

Editamos el contenido de la página. Éste se encuentra en la ruta /var/www/html.

Ya tenemos nuestro servidor LAMP corriendo, es el momento de instalar Tor y anonimizarlo, así como obtener el dominio .onion. Cabe destacar que en esta prueba de concepto no contemplamos todos los aspectos de seguridad, por lo que no se debe asumir que siguiendo estos pasos tendremos un servidor completamente seguro y anónimo, para lograr esto, debemos contemplar otras medidas de seguridad en el servidor, tales como detectores de intrusos, VPN, proxys, hardening del servidor, etc.
Instalación de Tor en nuestro servidor Debian
Antes de instalar Tor es necesario instalar algunos paquetes que permiten el correcto funcionamiento e instalación de Tor, los cuales son:
# apt-get install screen build-essential libevent-dev openssl zlib1g-dev libssl-dev

Una vez instalados, instalamos Tor con el gestor de paquetes apt-get.

El archivo de configuración, donde definimos los hidden service, se encuentra en /etc/tor/torrc. Accedemos y añadimos las siguientes líneas al final:

El parámetro “HiddenServiceDir” indica la ruta donde se almacena el contenido de la página. Nosotros hemos creado una carpeta dentro de /root denominada tor, donde alojaremos el index.html y el resto de contenido dela página.

El parámetro “HiddenServicePort” indicamos el puerto por el que accederemos al servidor. Podéis poner el que queráis, en mi caso he usado el puerto 80 (por defecto). Si elegimos un puerto extraño, deberemos configurar el archivo de configuración de Apache para que responda al mismo puerto además del archivo /etc/apache2/ports.conf.
Una vez guardado los cambios, reiniciamos el servidor y reiniciamos tor.
Arrancamos el servidor Tor con el siguiente comando:

Una vez terminado, listamos el contenido de la carpeta que hemos seleccionado para almacenar el Hidden Service, y veremos dos nuevos archivos junto al index.html.

 

¿Qué son? “private_key” almacena la clave privada del servidor.
El fichero “hostname”, almacena el dominio asignado .onion:

Para finalizar, únicamente debemos descargar el navegador de Tor (o acceder con un navegador con soporte para Tor) y veremos nuestra página. Editando el contenido podéis crear una página dinámica para objetivo que queráis, aunque eso es otro tema. (repetimos que no nos hacemos responsable del mal uso que puedan darle, puesto que es sólo para fines educativos y éticos).