TOR - Herramientas de pentest Nuria Prieto ¿QUIÉN SOY? Universidad Carlos III de Madrid • Más de 30 años trabajando en el Servicio de Informática de la Universidad, pasando los últimos años en el CSIRT (Computer Security Incident Response Team). • Nuestro objetivo es que la comunidad universitaria pueda trabajar segura. Búscame en: Twitter: @nuria_imeq Medium: https://nuria-pp.medium.com/ Github: https://github.com/VentressAsajj TOR - The Onion Router ¿Qué es TOR y cómo funciona? ● Proyecto abierto que permite navegación anónima y privada de sus usuarios. El protocolo TOR usa cifrado en las comunicaciones. ● Al ser anónimo y privado es usado tanto por personas que quieren evadir la censura de sus países como por ciberdelincuentes. ● Conceptos: Surface ( Clear Web), Deep, Dark Web, TOR es una darknet. ● Establecimiento de circuito en el momento de la conexión, mínimo tres nodos. ¿TOR es la única red o servicio anónimo? ● Otras darknets: Freenet, I2P y menos conocida GNUnet. ● Servicios de proxies, VPN o incluso tuneles. TOR Tips sobre TOR • • • • • Servicios ocultos, hidden Service. Los “.onion” ○ Facebook https://www.facebookwkhpilnemxj7asaniu7vnjjbiltxjqhye3mhbshg7kx5tfyd.onion/ ○ Twitter https://twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid.onion/home ○ Protonmail https://protonmailrmez3lotccipshtkleegetolb73fuirgj7r4o4vfu7ozyd.onion/ ○ BBC News https://www.bbcnewsd73hkzno2ini43t4gblxvycyac5aw4gnv7t2rccijh7745uqd.onion/ ○ The New York Times https://www.nytimesn7cgmftshazwhfgzm37qxb44r64ytbb2dj3x62d2lljsciiyd.onion Sólo usa protocolo TCP, no ICMP, ni UDP por lo que no hay DNS. Tipos de nodos ( relays ). Cada nodo tiene ciertos atributos determinados por consenso entre nodos de autoridad. ○ Authority Directory Relay: Estos nodos conforman las autoridades de directorio, que son las encargadas de mantener y distribuir la lista del resto de nodos de la red de TOR. Este atributo solo lo tienen estos nodos. ○ HSDir relay: Estos nodos tienen información sobre cómo acceder a ciertos servicios ocultos de la red de TOR. ○ Guard relay: Estos nodos conforman los nodos de entrada de la red TOR. ○ Middle relay: Nodos verificados de la red de TOR que se encargan simplemente de enrutar las comunicaciones que reciben. ○ Exit relay: Nodos de la red de TOR que se encargan de redirigir el tráfico del nodo cliente a su destino. ○ Bridge relay: No son públicos, el resto están listados en los directorios de IPs públicas. Cifrado de las comunicaciones. Red TOR vs Tor Browser. ( ojo con activar javascript en el navegador TorBrowser perderás la privacidad) TOR Fichero de configuración • torrc • Configuración. • ● ● ● ● ● EntryNodes {ch},{se},{is} y ExitNodes {is},{no},{ch}. StrictNodes EntryNodes {se},{ch},{is} ExitNodes {is},{no},{ch} StrictNodes 1 ExcludeExitNodes {us} y ExcludeNodes {us} junto con StrictNodes. Con ésta última para garantizar que usa los nodos que indicamos. ExcludeNodes {us},{cn},{ru} StrictNodes 1 Log notice file /var/log/tor/notices.log HTTPProxy y HTTPProxyAuthenticator: Configurar Tor como un http proxy NewCircuitPeriod 60. Construye un circuito cada N segundos. Aceptando solicitudes DNS como si fuera un DNS normal o también resolución mediante el comando tor-resolve domain DNSPort 9053 AutomapHostsOnResolve 1 AutomapHostsSuffixes .exit, .onion TOR Fichero de configuración • torrc • Configuración. • ● ● ● ● ● ● EntryNodes {ch},{se},{is} y ExitNodes {is},{no},{ch}. StrictNodes EntryNodes {se},{ch},{is} ExitNodes {is},{no},{ch} StrictNodes 1 ExcludeExitNodes {us} y ExcludeNodes {us} junto con StrictNodes. Con ésta última para garantizar que usa los nodos que indicamos. ExcludeNodes {us},{cn},{ru} StrictNodes 1 Log notice file /var/log/tor/notices.log HTTPProxy y HTTPProxyAuthenticator: Configurar Tor como un http proxy NewCircuitPeriod 60. Construye un circuito cada N segundos. Aceptando solicitudes DNS como si fuera un DNS normal o también resolución mediante el comando tor-resolve domain DNSPort 9053 AutomapHostsOnResolve 1 AutomapHostsSuffixes .exit, .onion Creando servicio oculto. HiddenServiceDir /var/lib/tor/apache/ HiddenServicePort 80 127.0.0.1:80 Alternativas a TOR Distribuciones ● Qubes OS. Dicen que es la más segura. Pemite separación de privilegios físicos y lógicos entre los espacios de trabajo. ● Kodachi. Puedes ejecutarlo desde USB, ISO o VPN. A destacar, usa VPN - TOR y DNS cifrado. ● Kali o Parrot ● Tails. Portátil ● Black Arch Linux. ● Discreete Linux. ● Whonix Linux. ● Alpine Linux, ArchStrike … Pentest hidden service Motores de búsquedas en la Dark Web • Ahmia ○ https://ahmia.fi/ ○ http://juhanurmihxlp77nkq76byazcldy2hlmo vfu2epvl5ankdibsot4csyd.onion/ • Ahmia ○ https://ahmia.fi/ ○ http://juhanurmihxlp77nkq76byazcldy2hlmovfu2epvl5ankdibsot4csyd.onion/ • DeepSearch http://search7tdrcvri22rieiwgi5g46qnwsesvnubqav2xakhezv4hjzkkad.onion/ • OnionLand http://3bbad7fauom4d6sgppalyqddsqbf5u5p56b5k5uk2zxsy3d6ey2jobad.onion/ • Phobos http://phobosxilamwcg75xt22id7aywkzol6q6rfl2flipcqoc4e4ahima5id.onion/ • Torsearch http://wapabp2pnqczbxq4dqdo7txexhkqjzazmvrljxijtd5s2cohvejf4nqd.onion/ Programa python OnionSearch, el mega buscador. ● pip3 install onionsearh ● git clone https://github.com/megadose/OnionSearch.git cd OnionSearch/ python3 setup.py install Pentest hidden service: onionsearch Opcion es Pentest hidden service - onionscan Onionscan • Open source escrito en lenguaje go por Sarah Jamie Lewis (@sarajamielewis ), proyecto abandonado. https://github.com/s-rah/onionscan • No adaptado a direcciones onion v3 hay que parchear el código. • Crawler con correlación, escaner de los principales puertos, detecta direcciones email, BTC y chequea cabeceras html. • Dos modos: escáner y análisis. ○ onionscan -mode analysis -webport 8888 ○ onionscan -jsonReport -jsonSimpleReport -reportFile json -verbose hidden_service.onion Pentest hidden service Pentest hidden service Torsocks y proxychains ● Torsocks permite utilizar aplicaciones a través de la red TOR torsocks dig +tcp @1.1.1.1 google.es torsocks curl -I http://kx6hftcujl3se23u3kjsjgdto72mtbykertyvjcnawyn4aspwko3c6yd.onion/ torsocks -q nmap -sT -Pn -n cfv5uye3kk7arw45ieve3tmpymohf6w3ztc4ggutnrfjvdwhc3t27lad.onion ● Proxychains, proxy que usa la red TOR configuración con TOR: socks5 127.0.0.1 9050 proxychains -q nmap -sT -Pn -n cfv5uye3kk7arw45ieve3tmpymohf6w3ztc4ggutnrfjvdwhc3t27lad.onion proxychains -q curl -I http://kx6hftcujl3se23u3kjsjgdto72mtbykertyvjcnawyn4aspwko3c6yd.onion/ Pentest hidden service Nmap • Nmap enumeración de servicios. torsocks nmap -A -sT -Pn -n hidden_service.onion -A busca sistema operativo y versión. -sT solo TCP -Pn no ping -n no resolución DNS -sV puertos abiertos, obtener servicio y versión. -p puertos torsocks -q nmap -sT -sV -Pn -n -p 22,2022,2222 hidden_service.onion torsocks nmap -sT -sV -Pn -n -p 80 --script=http-enum hidden_service.onion Pentest hidden service nikto torsocks nikto -h http://hidden_service.onion favicons Buscamos favicon en shodan, criminalIP o similar. https://github.com/VentressAsajj/searchFavicoShodan Pentest hidden service dirsearch ● Escaner de directorios y ficheros proxychains -q ./dirsearch.py -x 403,404,501 -i 200,301,302 -o hidden.json --format=json -u hidden_service.onion ● Opciones ○ -x excluir códigos de respuesta. ○ -i incluir el código de respuesta que queremos ○ -o fichero salida ○ –format=json|xml|cvs ○ -e extensiones a comprobar ○ -q no ver errores en el terminal ○ -w wordlist Pentest hidden service ssh En el caso de tener abierto este servicio torsocks -q nmap -sV -sT -Pn -n -p 22 --script=ssh-hostkey --script-args ssh_hostkey=all hidden_service.onion Pentest hidden services wordpress torsocks -q wpscan --url hidden_service.onion Referencias ● ● ● ● ● ● ● ● ● ● https://www.torproject.org/ Paquete red TOR para Windows http://www.cs.uml.edu/~xinwenfu/paper/HiddenServer.pdf Exit Node de TOR Chequear si usas TOR Qubes OS Nmap Nikto2 Dirsearch Favicon GRACIAS