Tor es muy popular por ser anónimo en Internet. Esta herramienta permite al usuario proteger la privacidad de sus actividades. Tor proviene de The Onion Router, y protege al usuario pues no gaurda ningún archivo de registro. La mayoría de las agencias gubernamentales o la ley de aplicación de la ley mantienen una vigilancia en Internet como el buscador de Google más popular. Pero en Tor todo es anónimo. Este proyecto se desarrolló en 2002 y consta de enormes proxies, utiliza los relés y los nodos para permanecer en el anonimato a través de Internet. Tor crea un túnel donde rebota a un usuario desde diferentes relés.
Alojar un servicio Tor es muy fácil y también puede alojar su propio sitio web en TOR.
De acuerdo con investigadores en seguridad en redes del Instituto Internacional de Seguridad Cibernética, crear un enlace personalizado no es tan difícil. Este método es utilizado principalmente por los spammers que intentan vender contenido irrelevante en la deep web. La siguiente demostración será realizada en Kali Linux.
Alojar un servidor web en Tor
Antes de alojar el servicio en Tor, se recomienda probar el servicio de alojamiento predeterminado de Tor. Para probar el servicio predeterminado estamos usando el servidor Apache. Puede utilizar cualquier servidor web
Para iniciar el servidor teclee sudo service apache2 start
root@kali:/home/iicybersecurity# sudo service apache2 restart
Luego, para verificar si el servidor ha iniciado, escriba ps -ef | grep apache2
root@kali:~# cd /etc/tor root@kali:/etc/tor# root@kali:/etc/tor# ls torrc torrc.save torsocks.conf
root@kali:/etc/tor# nano torrc
Configuration file for a typical Tor user Last updated 9 October 2013 for Tor 0.2.5.2-alpha. (may or may not work for much older or much newer versions of Tor.) # Lines that begin with "## " try to explain what's going on. Lines that begin with just "#" are disabled commands: you can enable them by removing the "#" symbol. # See 'man tor', or https://www.torproject.org/docs/tor-manual.html, for more options you can use in this file. # Tor will look for this file in various places based on your platform: https://www.torproject.org/docs/faq#torrc Tor opens a socks proxy on port 9050 by default -- even if you don't configure one below. Set "SocksPort 0" if you plan to run Tor only as a relay, and not make any local application connections yourself. SocksPort 9050 # Default: Bind to localhost:9050 for local connections. SocksPort 192.168.0.1:9100 # Bind to this address:port too. Entry policies to allow/deny SOCKS requests based on IP address. First entry that matches wins. If no SocksPolicy is set, we accept all (and only) requests that reach a SocksPort. Untrusted users who can access your SocksPort may be able to learn about the connections you make. SocksPolicy accept 192.168.0.0/16 SocksPolicy reject * Logs go to stdout at level "notice" unless redirected by something else, like one of the below lines. You can have as many Log lines as you want. # We advise using "notice" in most cases, since anything more verbose may provide sensitive information to an attacker who obtains the logs. # Send all messages of level 'notice' or higher to /var/log/tor/notices.log Log notice file /var/log/tor/notices.log Send every possible message to /var/log/tor/debug.log Log debug file /var/log/tor/debug.log Use the system log instead of Tor's logfiles Log notice syslog To send all messages to stderr: Log debug stderr Uncomment this to start the process in the background… or use --runasdaemon 1 on the command line. This is ignored on Windows; see the FAQ entry if you want Tor to run as an NT service. RunAsDaemon 1 The directory for keeping all the keys/etc. By default, we store things in $HOME/.tor on Unix, and in Application Data\tor on Windows. DataDirectory /var/lib/tor The port on which Tor will listen for local connections from Tor controller applications, as documented in control-spec.txt. ControlPort 9051 If you enable the controlport, be sure to enable one of these authentication methods, to prevent attackers from accessing it. HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C CookieAuthentication 1 ######### This section is just for location-hidden services Once you have configured a hidden service, you can look at the contents of the file "…/hidden_service/hostname" for the address to tell people. # HiddenServicePort x y:z says to redirect requests on port x to the address y:z. HiddenServiceDir /var/lib/tor/hidden_service/ HiddenServicePort 80 127.0.0.1:80 #HiddenServiceDir /var/lib/tor/other_hidden_service/ #HiddenServicePort 80 127.0.0.1:80 #HiddenServicePort 22 127.0.0.1:22 ########## This section is just for relays # See https://www.torproject.org/docs/tor-doc-relay for details. Required: what port to advertise for incoming Tor connections. ORPort 9001 If you want to listen on a port other than the one advertised in ORPort (e.g. to advertise 443 but bind to 9090), you can do it as follows. You'll need to do ipchains or other port forwarding yourself to make this work. ORPort 443 NoListen ORPort 127.0.0.1:9090 NoAdvertise The IP address or full DNS name for incoming connections to your relay. Leave commented out and Tor will guess. Address noname.example.com If you have multiple network interfaces, you can specify one for outgoing traffic to use. OutboundBindAddress 10.0.0.5 A handle for your relay, so people don't have to refer to it by key. Nickname ididnteditheconfig Define these to limit how much relayed traffic you will allow. Your own traffic is still unthrottled. Note that RelayBandwidthRate must be at least 20 KB. Note that units for these config options are bytes per second, not bits per second, and that prefixes are binary prefixes, i.e. 2^10, 2^20, etc. RelayBandwidthRate 100 KB # Throttle traffic to 100KB/s (800Kbps) RelayBandwidthBurst 200 KB # But allow bursts up to 200KB/s (1600Kbps) Use these to restrict the maximum traffic per day, week, or month. Note that this threshold applies separately to sent and received bytes, not to their sum: setting "4 GB" may allow up to 8 GB total before hibernating. # Set a maximum of 4 gigabytes each way per period. AccountingMax 4 GB Each period starts daily at midnight (AccountingMax is per day) AccountingStart day 00:00 Each period starts on the 3rd of the month at 15:00 (AccountingMax is per month) AccountingStart month 3 15:00 Administrative contact information for this relay or bridge. This line can be used to contact you if your relay or bridge is misconfigured or something else goes wrong. Note that we archive and publish all descriptors containing these lines and that Google indexes them, so spammers might also collect them. You may want to obscure the fact that it's an email address and/or generate a new address for this purpose. ContactInfo Random Person You might also include your PGP or GPG fingerprint if you have one: ContactInfo 0xFFFFFFFF Random Person Uncomment this to mirror directory information for others. Please do if you have enough bandwidth. DirPort 9030 # what port to advertise for directory connections If you want to listen on a port other than the one advertised in DirPort (e.g. to advertise 80 but bind to 9091), you can do it as follows. below too. You'll need to do ipchains or other port forwarding yourself to make this work. DirPort 80 NoListen DirPort 127.0.0.1:9091 NoAdvertise Uncomment to return an arbitrary blob of html on your DirPort. Now you can explain what Tor is if anybody wonders why your IP address is contacting them. See contrib/tor-exit-notice.html in Tor's source distribution for a sample. DirPortFrontPage /etc/tor/tor-exit-notice.html Uncomment this if you run more than one Tor relay, and add the identity key fingerprint of each Tor relay you control, even if they're on different networks. You declare it here so Tor clients can avoid using more than one of your relays in a single circuit. See https://www.torproject.org/docs/faq#MultipleRelays However, you should never include a bridge's fingerprint here, as it would break its concealability and potentionally reveal its IP/TCP address. MyFamily $keyid,$keyid,… A comma-separated list of exit policies. They're considered first to last, and the first match wins. If you want to replace the default exit policy, end this with either a reject : or an accept :. Otherwise, you're augmenting (prepending to) the default exit policy. Leave commented to just use the default, which is described in the man page or at https://www.torproject.org/documentation.html # Look at https://www.torproject.org/faq-abuse.html#TypicalAbuses for issues you might encounter if you use the default exit policy. # If certain IPs and ports are blocked externally, e.g. by your firewall, you should update your exit policy to reflect this -- otherwise Tor users will be told that those destinations are down. # For security, by default Tor rejects connections to private (local) networks, including to your public IP address. See the man page entry for ExitPolicyRejectPrivate if you want to allow "exit enclaving". # ExitPolicy accept *:6660-6667,reject *:* # allow irc ports but no more ExitPolicy accept *:119 # accept nntp as well as default exit policy ExitPolicy reject : # no exits allowed Bridge relays (or "bridges") are Tor relays that aren't listed in the main directory. Since there is no complete public list of them, even an ISP that filters connections to all the known Tor relays probably won't be able to block all the bridges. Also, websites won't treat you differently because they won't know you're running Tor. If you can be a real relay, please do; but if not, be a bridge! BridgeRelay 1 By default, Tor will advertise your bridge to users through various mechanisms like https://bridges.torproject.org/. If you want to run a private bridge, for example because you'll give out your bridge address manually to your friends, uncomment this line: PublishServerDescriptor 0
Después de completar todo el proceso, abra un nuevo terminal y escriba tor
root@kali:/home/iicybersecurity# tor Dec 26 00:02:50.045 [notice] Tor 0.3.4.9 (git-cf9f4bf3cf8b43bb) running on Linux with Libevent 2.1.8-stable, OpenSSL 1.1.1a, Zlib 1.2.11, Liblzma 5.2.2, and Libzstd 1.3.4. Dec 26 00:02:50.047 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning Dec 26 00:02:50.047 [warn] Tor was compiled with zstd 1.3.5, but is running with zstd 1.3.4. For safety, we'll avoid using advanced zstd functionality. Dec 26 00:02:50.092 [notice] Read configuration file "/etc/tor/torrc". Dec 26 00:02:50.197 [notice] Scheduler type KIST has been enabled. Dec 26 00:02:50.197 [notice] Opening Socks listener on 127.0.0.1:9050 Dec 26 00:02:50.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip. Dec 26 00:02:51.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6. Dec 26 00:02:51.000 [warn] You are running Tor as root. You don't need to, and you probably shouldn't. Dec 26 00:02:51.000 [notice] Bootstrapped 0%: Starting Dec 26 00:02:53.000 [notice] Starting with guard context "default" Dec 26 00:02:53.000 [notice] Bootstrapped 80%: Connecting to the Tor network Dec 26 00:02:53.000 [notice] Bootstrapped 85%: Finishing handshake with first hop Dec 26 00:02:54.000 [notice] Bootstrapped 90%: Establishing a Tor circuit Dec 26 00:02:55.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working. Dec 26 00:02:55.000 [notice] Bootstrapped 100%: Done
Para comprobar si tor está en ejecución o no, escriba ps -ef | grep tor
Luego vaya a otra ubicación de tor para abrir el enlace onion. Para esto, teclee cd /var/lib/tor/hidden_service
Luego escriba ls
Escriba cat hostname
root@kali:/etc/tor# cd /var/lib/tor/hidden_service root@kali:/var/lib/tor/hidden_service# ls hostname private_key root@kali:/var/lib/tor/hidden_service# cat hostname bzak2gopn2llmsnv.onion
Copie la URL de onion y abra esa URL en el navegador como se muestra a continuación:
Como puede ver arriba, la URL onion está funcionando con el servidor apache
Crear una URL onion personalizada
También puede crear una URL onion personalizada con una herramienta llamada Eschalot
Eschalot es la herramienta utilizada para generar los nombres onion personalizados. Utiliza el método de fuerza bruta para generar nombres personalizados.
Eschalot se puede utilizar en cualquier distribución de Linux. Para mostrar estamos usando Kali Linux para generar los nombres
También puede ingresar el nombre deseado en caracteres, pero no todos
root@kali:/home/iicybersecurity/Downloads# git clone https://github.com/ReclaimYourPrivacy/eschalot.git Cloning into 'eschalot'… remote: Enumerating objects: 76, done. remote: Total 76 (delta 0), reused 0 (delta 0), pack-reused 76 Unpacking objects: 100% (76/76), done. root@kali:/home/iicybersecurity/Downloads# ls eschalot root@kali:/home/iicybersecurity/Downloads# cd eschalot/ root@kali:/home/iicybersecurity/Downloads/eschalot# ls CHANGELOG eschalot.c LICENSE Makefile nouns.txt README top1000.txt top150adjectives.txt top400nouns.txt typecard.c worgen.c root@kali:/home/iicybersecurity/Downloads/eschalot# make cc -std=c99 -O2 -fPIC -finline-functions -Wall -W -Wunused -pedantic -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wcast-qual -Wextra -o eschalot eschalot.c -lpthread -lssl -lcrypto In function ‘setoptions’, inlined from ‘main’ at eschalot.c:172:2: eschalot.c:788:4: warning: ‘strncpy’ specified bound 17 equals destination size [-Wstringop-truncation] strncpy(prefix, optarg, ONION_LENP1); ^~~~~~~~ cc -std=c99 -O2 -fPIC -finline-functions -Wall -W -Wunused -pedantic -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wcast-qual -Wextra -o worgen worgen.c
Después de instalar teclee eschalot ./eschalot -vct4 -p null
./escalot es la herramienta que se utilizará para crear el enlace personalizado de onion
-vct se utiliza para la lista de palabras por defecto de Eschalot
4 es el número de núcleos de CPU
null funcionará como prefijo. Puede ingresar cualquiera de los alfabetos que se utilizan para generar el enlace de cebolla. Puede escribir aaa o adc cualquier alfabeto
El comando anterior generará el enlace onion con las claves RSA. El enlace se generará continuamente. Para detener la generación de los enlaces de cebolla ingrese ctrl + c
Las claves RSA se utilizan para la autenticación durante la sesión SSL. Esta clave forma parte de una clave pública que generalmente se utiliza en los certificados SSL
Como se puede ver el servicio tor no se está ejecutando. Ahora tiene que copiar las claves RSA de cebolla generadas de eschalot en el servicio oculto tor
Para esto, teclee cd /var/lib/tor/hidden_service
Entonces escribe ls
Escriba rm hostname
root@kali:/home/iicybersecurity/Downloads/eschalot# cd /var/lib/tor/hidden_service/ root@kali:/var/lib/tor/hidden_service# ls hostname private_key root@kali:/var/lib/tor/hidden_service# rm hostname root@kali:/var/lib/tor/hidden_service# ls private_key
Ahora tienes que editar el private_key. Abra la clave privada e ingrese la clave RSA que se genera eschalot en private_key.
Copie la clave RSA completa desde donde descargó el Eschalot. Copiar la clave completa
De BEGIN RSA PRIVATE KEY a END RSA PRIVATE KEY como se muestra a continuación
Escriba nano private_key para copiar la clave
Luego abra otra terminal
Y escribe TOR para iniciar Tor en el Kali Linux
root@kali:/var/lib/tor/hidden_service# nano private_key GNU nano 2.9.8 private_key
Después de actualizar la clave privada, vaya al directorio tor/hidden_services
root@kali:/home/iicybersecurity/Downloads/eschalot# ls CHANGELOG eschalot.c Makefile README top150adjectives.txt typecard.c worgen.c eschalot LICENSE nouns.txt top1000.txt top400nouns.txt worgen root@kali:/home/iicybersecurity/Downloads/eschalot# cd /var/lib/tor/hidden_service/ root@kali:/var/lib/tor/hidden_service# ls hostname nullbhldupqqrafc.onion private_key
Como se puede ver, tor ha agregado el enlace de cebolla a su servicio. Ahora abra el navegador Tor e ingrese el enlace de cebolla como se muestra a continuación
El servicio Tor ha añadido el enlace de cebolla. También puede ingresar a crear su propio enlace de cebolla y alojar en la red TOR
TENGA CUIDADO MIENTRAS SE ALOJA EN TOR. SI TIENE MATERIAL ILEGAL PUEDE ENFRENTAR PERSECUCIÓN DE LAS AGENCAS DE CUMPLIMIENTO DE LA LEY