Está en la página 1de 54

David Santos

@dsecuma

Tor DIY
Intro

 Breve introducción a Tor y estado actual de Tor


Network
 Tor Internals
 Despliegue de una red Tor propia (DIY Lab)
 Del laboratorio al mundo
El contenido y la información que se expone en esta presentación son con fines
demostrativos o de investigación, no me hago responsible del mal uso y de los posibles
daños ocasionados a terceras personas, como consecuencia de esta información, cada
persona o individuo es dueño de sus actos y de seguir su propia ética.

2
Spoiler

Mr. Robot 1x01


00:02:09 – 00:02:59

3
Introducción a TOR

¿QUE ES TOR?

4
TOR

 tor-project 1998 DARPA


 Tor Network
 Tor Browser
 Relacionados
 Orbot, Tails, Torsocks, TorBidy, Chutney,
arm = nyx, stem, OONI, Atlas, Globe,
Compass, Onionoo, Tor2Web …

5
TOR

 Formas comunes de uso:


 Tor Browser
 Proxy SOCKS
 TAILS, WHONIX…
 Tor+VPN

6
TOR

 Formas comunes de uso:


 Tor Browser
 Proxy SOCKS
 TAILS, WHONIX…
 Tor+VPN

7
TOR

 Formas comunes de uso:


 Tor Browser
 Proxy SOCKS
 TAILS, WHONIX…
 Tor+VPN
0 50
:9
.0 .1
.0
1 27

8
TOR

 Formas comunes de uso:


 Tor Browser
 Proxy SOCKS
 TAILS, WHONIX…
 Tor+VPN

Tor TransPort

9
TOR

 Formas comunes de uso:


 Tor Browser
 Proxy SOCKS
 TAILS, WHONIX…
 Tor+VPN

10
TOR/Network

COMPONENTES

11
TOR/Network

 CLIENTE
 NODOS DE ENTRADA
 ENTRY GUARDS
 ROUTERS
 MIDDLE NODES
 PUNTOS DE SALIDA
 EXIT NODES

12
TOR/Network

 CLIENTE
 NODOS DE ENTRADA
 ENTRY GUARDS
 ROUTERS
 MIDDLE NODES
 PUNTOS DE SALIDA
 EXIT NODES

13
TOR/Network

14
TOR/Network

 AUTHORITY NODES
 LOS QUE PARTEN EL ‘VACALAO’

15
TOR/Network

 AUTHORITY NODES
 LOS QUE PARTEN EL ‘VACALAO’

16
tor/src/app/config/auth_dirs.inc

17
TOR/Network

¿Y EN LOS PAISES
BAJO CENSURA?

18
TOR/Network

PAISES QUE CENSURAN

19
TOR/Network

 Bloqueo de IPs detectadas en ficheros


Consensus
 Bloqueo directo de torproject.org
 DPI de handshakes TLS, certificados…
 DPI en parámetros SSL DH
 Filtrado de DNS
 Etc…

20
TOR/Network

 Bloqueo de IPs detectadas en ficheros


Consensus
 Bloqueo directo de torproject.org
 DPI de handshakes TLS, certificados…
 DPI en parámetros SSL DH
 Filtrado de DNS
 Etc…

Aparenta ser HTTPS


21
TOR/Network

 USUARIOS ÚNICOS DIARIOS > DE 2.000.000 A 8.000.000

22
TOR/Network

¿SOLUCIÓN?

23
TOR/Network

¿SOLUCIÓN?
BRIDGES
• Son nodos de entrada a TOR no listados
• Se publican automáticamente, pero no se
muestran en el fichero Consensus
• Serge Auth Bridges
• También los privados/ocultos

24
TOR/Network

¿SOLUCIÓN?
BRIDGES
• Son nodos de entrada a TOR no listados
• Se publican automáticamente, pero no se
muestran en el fichero Consensus
• Serge Auth Bridges
• También los privados/ocultos

25
TOR/Status/Consensus

UN FICHERO PARA
CONTROLARLOS A TODOS

26
TOR/Status/Consensus

27
TOR/Status

ALGORITMO DE CONSENSUS
 Recolecta todo los datos
 Se producen votaciones entre los authorities
 Determina todos los flags individualmente
 Lo firma y lo manda al resto de authorities
 Cuando todos lo aceptan lo publica (Quorum >1/2)

28
TOR/Status

29
TOR/Status

FLAGs
 Running
 Authority – En Tor Network
hardcoded  Stable > 5 días
 BadExit – Si 3 Auths lo ponen  V2Dir – Espejo de Consensus
hardcoded  Valid
 Exit
 Fast > 100kb/s
 Guard – Es Fast, +8 días y 98%
fiabilidad
 HSDir > 96 horas

30
TOR/DIY

DIY
LABORATORIO TOR

31
TOR/DIY

Formas:
 Software de simulación:
 Chutney
 Shadow

32
TOR/DIY

Formas:
 Modo real (red auténtica similar a Tor Network):
 Te lo curras a mano y te gastas unos €/$.
 Lo puedes aplicar a servicios internos como
capa de red para una aplicación de
mensajería o de voz, conexiones internas
anonimizadas, HS dentro de una red
empresarial…

33
TOR/DIY

¿Qué Necesitamos?
 Unos cuantos VPS en distintos paises
 Comprobar que estos sean tor-friendly
 (Si no lo son, hacemos que lo puedan ser)
 Al menos 4 (en la demo usaremos 6 + 1
cliente)
 Da igual la distro (incluso *BSD, MacOS o
Windows).

34
TOR/DIY

¿Cómo organizamos los VPS?


 Uno actuará como Authority.
 Uno actuará como Entry Guard mediante SOCKS.
 El resto actuarán como Exit/Router.
 Añadiremos un cliente posteriormente (para demo).
Comunicación
 ORPort, DirPort, ControlPort

35
TOR/DIY

Disponiendo ya de los VPS (hardening, etc…)


 Instalar tor

36
TOR/DIY

Disponiendo ya de los VPS (hardening, etc…)


 Instalar tor, oh wait!
OCULTAR
 Instalar Stunnel CONSENSUS

 Instalar Tor
 Configuraciones en detalle.
 Stunnel, Tor [Auth o Relay], Iptables…

37
TOR/DIY

Stunnel4
 Crear configuración en Auth Dir.
 Crear PEM en Auth Dir.
 Configuración en clientes
 Copiar PEM a clientes
 Recargar configuraciones
 Activar servicio

38
TOR/DIY

Tor Auth Dir.


 Limpiar /var/lib/tor
 Generar identity-keys (hardcoded, 365 días caducan)
 Generar Hash para password de control
 Configuración base de torrc
 Comprobar fingerprint para añadirlo
 Reiniciar Tor

39
TOR/DIY

Tor Relay
 Limpiar /var/lib/tor
 Generar Hash para password de control
 Configuración base de torrc (común en relays)
 Comprobar fingerprint para añadirlo
 Recargar el servicio

40
TOR/DIY

Ya que estamos añadamos un cliente


 Configuración similar a los Relay (al fin y al
cabo lo es)
 Habilitar SOCKSPort para que pueda redirigir
conexiones.
 LD_PRELOAD = full torify (ojo udp)

Vamos a jugar con el cliente->

41
TOR/DIY

Escenario 1

- Conexión a SOCKS
de un nodo relay

42
TOR/DIY

Escenario 2

- Conexión de un
cliente completo y
usar su SOCKS

43
TOR/DIY

HERRAMIENTAS

44
TOR/DIY

 Generación de circuitos (Stem)


 Modificación de la configuración (ExitNodes,
Countries…)
 Monitorización de la red (ARM/NYX, Consensus
Health…)
 Creación de HiddenServices (da para otra
charla)
 87h4faqwaf78hg4.onion (old)
 qjauxc7sdfa987yaapocifa2optuwiwsn011ahxyas… (new)

45
TOR/MITM

NO TODO
ES TAN BONITO

46
TOR/MITM

Tipos de Ataques sobre Tor Network


 Ataques de correlación de tráfico entre nodos I/O.
 Exploit en Tor Browser (Firefox)
 Bloqueo de IPs de nodos
 Enumeración de HS para bloqueo o redirección.
 MITM en Exit Nodes

47
TOR/MITM

 MITM en Exit Nodes

# iptables -t nat -I OUTPUT -p tcp -m owner --uid-owner XXX --dport 80 -j


DNAT --to-destination X.X.X.X:XXXX
# iptables -t nat -I OUTPUT -p tcp -m owner --uid-owner XXX --dport 443 -j
DNAT --to-destination X.X.X.X:XXXX
. . . . .

48
TOR/MITM/Network

¿Y EN TOR NETWROK?

49
TOR/MITM/Network

 Se pueden replicar los ataques igual


 Hay voluntarios que realizan pruebas aleatorias
para detectar posibles nodos MITM y reportalos
como BadExits

50
TOR/MITM/Network

 Se pueden replicar los ataques igual


 Hay voluntarios que realizan pruebas aleatorias
para detectar posibles https://trac.torproject.org/projects/tor/wiki/doc/ReportingBadRelays
nodos MITM y reportalos
como BadExits

51
TOR/MITM/Network

 Algunos TIPS en Tor Network


 Comprobar SHA1 certificados (no solo HTTPS)
 Comprobar el obtenido en crt.sh
 Comprobar circuitos en uso
 Si es para uso web → Tor Browser
 No salir siempre por los mismos nodos
 Timing

52
MUCHAS GRACIAS!!

¿PREGUNTAS?
APOYA TOR, YA SEA CORRIENDO UN RELAY,
HACIENDO UN DONATIVO O PROMOVIENDO SU
USO ADECUADO.
https://www.torproject.org/

53