Cuando hablamos de la 🖧 red TOR, solemos asociarla a todo tipo de actos delictivos (tráfico de drogas, cibercrimen organizado, venta de armas u otras actividades ilícitas), pero, al margen de esta mala imagen de la red TOR, es una excelente herramienta que puede ayudarnos a mantener nuestra 🕵️♂️ privacidad y anonimato en la red, sobre todo si queremos ofrecer algún servicio sin revelar nuestra identidad.
En esta entrada veremos como crear un servicio oculto en nuestro equipo y hacerlo accesible a la red TOR mediante una dirección onion personalizada, los pasos que seguiremos serán los siguientes:
📝 Pasos a seguir
1. Instalación de un servidor NGINX
3. Iniciar y comprobar el servicio TOR
4. Generar una dirección para TOR (onion) personalizada
5. Agregar la dirección personalizada al servicio oculto
🖥 1. Instalación de un servidor NGINX
1.1 Actualizar los repositorios
apt-get update && apt-get upgrade
1.2 Parar el servicio de apache (en el caso que lo tengamos arrancado)
service apache2 stop
1.3 📥Instalar Nginx
apt-get install nginx
1.4 Arrancar el servicio Nginx
service nginx start
1.5 Comprobar el estado del servicio Nginx
service nginx status
1.6 Crear un archivo 📄index.html dentro del directorio 📁/var/www/html
Puedes usar este código de ejemplo:
<html> <body> Este es el servicio oculto de Hackpuntes </body> </html>
1.7 Acceder a localhost para comprobar que funciona
http://localhost
1.8 ⚠ En el caso de tener UFW firewall, añadir excepción para Nginx
ufw allow 'Nginx HTTP'
1.9 Comprobar estado del Firewall UFW
ufw status
1.10 🔒 Para mayor seguridad, ocultaremos los banner del servidor añadiendo la línea server_tokens off; en el archivo /etc/nginx/nginx.conf (Intentaré hacer otra entrada sobre como securizar el servidor 😉)
🕵️♂️ 2. Crear un servicio oculto
2.1 📥 Instalar TOR
apt-get install tor
2.2 Comprobar la ubicación de la instalación de TOR (normalmente será 📁/etc/tor/)
whereis tor
2.3 Nos movemos al directorio de TOR con el comando cd, listamos archivos y comprobamos que tenemos el archivo 📄torrc
cd /etc/tor && ls
2.4 Abrimos el archivo 📄torrc para editarlo y buscamos la parte del archivo dónde aparece
############### This section is just for location-hidden services ###
2.5 Descomentamos las siguiente líneas (72 y 73) quitando la #
HiddenServiceDir /var/lib/tor/hidden_service/ HiddenServicePort 80 127.0.0.1:80
⚙ 3. Iniciar y comprobar el servicio TOR
3.1 Iniciar el servicio TOR
tor
3.2 La primera vez que iniciamos el servicio TOR, se generará automáticamente una dirección .onion y se almacenará en la ruta 📁/var/lib/tor/hidden_service, accedemos a ella y listamos los archivos.
cd /var/lib/tor/hidden_service && ls
3.3 Dentro de este directorio tenemos 2 archivos importantes, el archivo 🖥hostname (que contine la dirección .onion generada automáticamente) y el archivo 🔑private_key (el cual modificaremos más adelante)
3.4 Copiamos la dirección .onion que contiene el archivo 📄hostname
3.5 Desde otro equipo y accediendo a TOR (📦descargar su bundle) accedemos a la dirección que anteriormente hemos copiado.
3.6 Si todo ha ido bien, veremos nuestra página accesible desde TOR
🔗 4. Generar una dirección para TOR (onion) personalizada
4.1 Para crear una dirección .onion personalizada, necesitaremos 🔑generar una clave privada que coincida con el nombre de host a personalizar, dado que las direcciones de TOR son parcialmente hashes, necesitaremos usar fuerza bruta para generar la dirección que deseemos.
¿Cuanto tiempo tardaría en generar mi dirección onion personalizada?
Cuantos más caracteres consecutivos de una palabra o frase queramos personalizar, más tiempo tardaremos en generarla, ya que cuanto más larga es la secuencia, el tiempo se alargará de forma exponencial. Aproximadamente, y utilizando un procesador de 1,5Ghz se tardaría:
Caracteres | Tiempo necesario para generarlo |
---|---|
1 | menos de 1 segundo |
2 | menos de 1 segundo |
3 | menos de 1 segundo |
4 | 2 segundos |
5 | 1 minuto |
6 | 30 minutos |
7 | 1 día |
8 | 25 días |
9 | 2,5 años |
10 | 40 años |
11 | 640 años |
12 | 10 milenios |
13 | 160 milenios |
14 | 2,6 millones de años |
Es decir, si quisiera personalizar por completo los 14 caracteres de nuestra dirección .onion tardaríamos 2,6 millones de años aproximadamente en generarlo, para esta prueba vamos a generar uno de 6 caracteres (30 minutos aprox.), de manera que nos generará algo parecido a hackptxxxxxxxx.onion
4.2 Para generar esta dirección, haremos uso de la herramienta Eschalot y lo haremos de la siguiente manera:
📥 Clonamos el repositorio a nuestro equipo
git clone https://github.com/ReclaimYourPrivacy/eschalot
Accedemos al directorio
cd eschalot/
Instalamos la herramienta
make
Generamos la dirección personalizada, recordemos que usaré 6 dígitos (hackpt) lo que nos dará una dirección hackptxxxxxxxx.onion
./eschalot -vct2 -p hackpt
Con este comando, indicamos a eschalot que queremos usar 2 núcleos del procesador, con el prefijo hackpt en lo primeros caracteres y que una vez encuentre uno válido, siga buscando más.
Una vez hayamos encontrado una clave privada válida, paramos la herramienta con Ctrl + C y copiamos la clave
🔑 5. Agregar la dirección personalizada al servicio oculto
5.1 Asegurarnos que el servicio TOR está parado, esto lo podemos hacer cerrando la terminal donde ejecutamos tor con Ctrl + C
5.2 Eliminar el archivo 📄hostname del directorio 📁/var/lib/tor/hidden_service
rm /var/lib/tor/hidden_service/hostname
5.3 Agregar la clave que hemos generado con Eschalot en el archivo 🔑private_key entre las etiquetas «—– BEGIN RSA PRIVATE KEY —–« y «—– END RSA PRIVATE KEY —–«, quedando de la siguiente manera
5.4 Volvemos a iniciar TOR
tor
5.5 Verificar que se ha vuelto a generar el archivo 📄hostname en el directorio 📁/var/lib/tor/hidden_service y que su contenido es la direccion onion generada (en mi caso hackptzefraj3gce.onion)
5.6 Comprobar que desde otro equipo conectado a la red TOR accedemos al servicio oculto con la nueva dirección.
⚠ Si no puedes acceder, acuérdate de tener el servicio de Nginx y tor levantado en el servidor.
Fin de la entrada!!
Hasta la próxima👋
P.D Con mucho cariño para mi compañero @v3sc4p4m por prestarme sus libros sobre la Deep Web 😉
Donde se modifica la clave privada? no me aparece en el hidden_service o se debe crear directamente?
Buenas, tengo problemas al generar la nueva dirección. Copio y pego la clave privada, después inicio tor y al mirar el archivo hostname, se genera una nueva dirección en lugar de la correspondiente a la clave privada, Gracias.
Muy útil su artículo
Hola Javi! Muy buena la guia si señor.
Tengo una duda, puedo conseguir lo mismo de alguna manera en Termux? seria posible?
Gracias por compartir tu conocimiento y ánimo!
Hola! Al intentar modificar el archivo Torrc me dice que no tengo los privilegios necesarios? (me aparece como propietario root y no me deja cambiarlo de ninguna manera) ¿Puede ser por la versión nueva de la distro? Lubuntu 19, anteriormente lo creé sin problemas siguiendo este mismo tutorial, pero en una versión anterior (Lubu 18 creo.. no lo recuerdo) ayuda!… Aporte Genial, gracias por el articulo!
¿Has probado a cambiar los permisos chown o ejecutar el comando con sudo? Saludos!!
Si, en principio ambas opciones parecen funcionar, luego en propiedades de torrc y carpetas colindantes, los permisos aparecen como propietario: root y la casillas de permisos como desmarcada, sin opción a cambiar nada, anteriormente lo solucionaba con click derecho en la misma carpeta /etc/tor/ , abrir como administrador y ya me dejaba todo. En este momento no encuentro esa opción. Muchas gracias por tu respuesta ando loco probando diferentes distros.
Ya lo solucione! Muchas gracias por el aporte, el contenido es realmente valioso.
hola gracias por tu articulo ensenando a monatr el onion, cuando haras el de seguridad al servidor q dijiste? saludos exitos y graciaspor compartir
Hola Luis,
Tengo pendiente hacer varias entradas, pero últimamente no tengo tiempo para nada. En cuanto termine unos proyectos me pondré a hacer entradas.
Saludos!!
Hola solo me queda una duda , tengo un vps y he instalado mi web oculta , todo perfecto , pero como puedo hacer para que mi web solo sea accesible desde tor , es decir la web que yo monte ahora mismo sería accesible desde mi dominio .onion ( con tor ) y desde la ip del vps (sin tor ),
Alguna opción para ello ?
Hola Raúl,
Eso tendrás que hablar con tu proveedor, en principio no creo que puedas hacerlo, salvo que de alguna manera, pueda bloquear todas las IPs que no sean de TOR o similar.
Saludos,
Gracias Javier , si lo consigo lo compartiré
Ok Raúl, estaremos encantados de que lo compartas.