jueves, 18 de abril de 2019

Creando nuestros propios servicios ocultos en TOR

La red TOR es una herramienta muy potente, una herramienta que permite el anonimato de sus usuarios. La red TOR es el mejor escenario para la libertad de expresión, aunque siempre se cuelen personas que quieren hacer el mal, pero la gran mayoría buscan la libertad de expresión, y eso no se puede silenciar, sería atentar contra una de las herramientas más importantes que ha creado la humanidad.


Lo primero que tendremos que hacer para crear nuestro servicio oculto son 2 cosas:

  • Servidor web Apache o Nginx
          apt-get install apache2
                           OR
           apt-get install nginx
  • Servicio de tor
            apt-get install tor


 Cuando tengamos instalados ambos servicios, tendremos que crear ahora un archivo index.html en /var/www/html, que será el cual Tor va a leer cuando lo configuremos.


Puede ser que tengamos que habilitar la conexión en nuestro firewall en caso de estar utilizando ufw, de ser así, se habilitaría el servicio.


Si estamos creando un servicio oculto con tor, lo suyo es que nos preocupemos como es debido de la seguridad y, por seguridad por oscuridad, deberíamos ocultar los banners y la versión de nuestro servidor.


Si os fijáis, no observamos ese mensaje de "Apache web server 2.X (Linux)", y esto es importante, porque cuanta menos información le demos a posibles atacantes, mejor.

Para crear un servicio oculto, tan sólo tendremos que irnos a /etc/tor y modificar el archivo torrc descomentando las siguientes líneas (o añadiéndolas en caso de no encontrarlas)


HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:80

Ya lo que nos quedaría sería reiniciar tanto el servicio de Apache como Tor. Esto lo podéis hacer como queráis, yo soy fiel a systemctl

systemctl restart apache2
systemctl restart tor

Después mostráis el status para ver que se ha reiniciado correctamente o mostrar el journalctl -xe para ver posibles errores.

Ahora tendremos que irnos a /var/lib/tor/hidden_service y comprobaremos que se han creado 2 archivos, una es la clave privada (private_key) y otro es un archivo "hostname" con la dirección de nuestro servicio oculto de Tor.


Nos copiamos esa dirección y la buscamos en Tor. Si lo hemos hecho todo bien, debería salirnos el contenido del archivo index.html que hemos creado inicialmente.

Pero ¿Y si creamos un dominio personalizado?

También podríamos, lo único que tendríamos que hacer sería obtener una clave privada para una dirección determinada y añadirla a nuestro archivo en /var/lib/tor/hidden_service/private_key.


La captura anterior tiene los pasos desordenados porque se me olvidó realizar la captura, pero para generar la clave privada, vamos a utilizar la herramienta Eschalot, la cual empezará a generar claves privadas para los dominios que empiecen por los caracteres que especifiquemos.

Para instalar la herramienta tendremos que clonar el repositorio, irnos a la carpeta y hacer un "make" para que finalmente con

./eschalot -vct2 -p hicow

creemos claves privadas para los distintos dominios que empiecen por "hicow". con vtc2 indicamos que utilice 2 núcleos.


Os dejo también una tabla con el tiempo estimado para generar las claves privadas para las distintas extensiones de direcciones. Yo os recomendaría no utilizar más de 7 caracteres xD.

Cuando tengamos la clave privada del dominio que más nos guste, la copiaremos entera (incluyendo el BEING y END RSA...) y lo copiaremos al archivo private_key dentro de /var/lib/tor/hidden_service.


Para evitar errores, yo os recomendaría eliminar antes el archivo hostname, para que al iniciar de nuevo el servicio de tor, no tengamos 2 direcciones distintas.


Reiniciamos, como he dicho, el servicio de tor y veremos que volvemos a tener otro archivo hostname con el nombre del servicio oculto de tor.


Ya tendremos de nuevo nuestro servicio oculto de Tor, sólo tendríamos que programar nuestra web, siendo este punto el único que podría ser más complicado dependiendo del proyecto que queráis realizar.

Eso sí,no caigáis en el error de concepto en el que caen muchos programadores, no utilicéis código JavaScript ni código PHP que permita identificar a vuestros usuarios, de nada serviría crear el servicio de Tor si estáis identificando al usuario con una cookie o cualquier cosa por el estilo.

Además, si vais a permitir que hagan login y que se registren por tanto, almacenad de forma segura sus credenciales para que no se les pueda identificar y, ni que decir tiene, que debéis de tener una contraseña en la base de datos que no sea la que está por default y que no esté contenida en un diccionario.

Y como recomendación, también añadiría un analizador de la dirección de correo que faciliten y, en caso de utilizar un "@gmail.com", "@hotmail.com","@outlook.com" o "@yahoo.com", no dejar que se registren para tratar de forzar en lo posible que utilicen un correo temporal para así hacer más segura la navegación al usuario.

¿Hackeamos el Mundo?

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...