¿Cómo puedo hacer una "caja Tor" para navegar anónimamente?

¡Trabajadores!

En ocasiones nuestro Movimiento ha de encolumnarse activamente en una lucha por la defensa de los intereses de la Nación en contra de una Oligarquía sin Patria ni Bandera.

En ellas ocasiones podremos tener que recurrir al último recurso que aguarda a los hombres que tienen algo que defender: recurrir a una guerra cruenta, sumamente dañina y sumamente peligrosa.
Pero en más ocasiones podremos sumar golpes de mano a un enemigo desprevenido y confiado, haciendo uso del terreno para proteger nuestras fuerzas y de nuestro Pueblo como herramental de lucha.

Este tipo de estratagema es tan antigua como las huestes de Darío, y contarán con las mismas ventajas que las de antaño: podrán maniobrar, golpear y retirarse sin necesidad de una pesada carga ni de un férreo liderazgo centralizado. Sólo es requerida la organización que en terreno y en el campo de acción pueda darse a unos pocos hombres decididos que deben sabér qué es lo que han de hacer.

Nuestro objetivo fundamental a tener en cuenta es el de lograr el bienestar de los trabajadores. Cuando el mismo se vea en peligro, tendremos ante nosotros una lucha tan necesaria como sencilla, en vista de una divisa clara y un enemigo identificado.

Nuestra acción en el campo táctico hace uso y potestad del anonimato que otorga el accionar entre la Masa. 
Indudablemente que un problema básico para dicho anonimato y privacidad radica en lo obvio: que el enemigo intercepte el tráfico telemático. Una manera muy simple de análisis de tráfico puede realizarse en cualquier lugar intermedio, e incluso en estos casos simples, poner en peligro a nuestra Masa de Acción y sus organizaciones.

Mis descamisados me han preguntado ¿cómo funciona el análisis de tráfico? Pues bien, os lo explicaré. Los paquetes de datos fundamentales de internet  constan por designio del protocolo TCP/IP de dos partes: una carga útil y un encabezado empleado para su enrutamiento. La carga útil puede convertirse en cualquier dato digital traficado, ya sea un mensaje de correo electrónico, contenido de una página web, un archivo de audio, parte de un stream audiovisual, etc. Incluso si encriptamos la carga útil en sus comunicaciones, un análisis superficial de datos puede aún revelar gran parte de nuestras supuestas actividades y accionares. Esto es así porque tal procedimiento hace foco sobre  el encabezado del paquete telemático (que contiene el remitente, el destino, el tamaño, datos de horarios, etc). Intermediarios autorizados, como los proveedores de internet, y a veces intermediarios no autorizados (como dichos mismos proveedores cuando están en manos oligárquicas coaligadas) pueden reconocer ráp
idamente patrones de tráfico, desde donde y hacia donde se originan, y trazar conclusiones relativamente directas sobre su contenido, las tácticas empleadas, etc.

Pero también existen análisis de tráfico profundos, mucho más negativos y peligrosos: un actor dedicado puede espiar múltiples partes de la red y emplear cruzados estadísticos sofisticados para rastrear patrones de comunicación de individuos u organizaciones específicas, para lograr peinar los datos con mucha más fiabilidad.

Para evitar dichos avances, los hombres que luchan han de conocerlos y poderles hacer frente. Nuestro Movimiento, anclado en una vertiente de Justicia Social en el software, ha desarrollado una red oscura, tan oscura como la piel del más negro de nuestros grasitas. Se trata del proyecto Tor.
Tor

Tor, a través de sus servidores, ayuda a reducir los riesgos telemáticos inherentes a través de la distribución de las transacciones telemáticas a lo largo de múltiples lugares en la Internet, de manera que en ningún punto pueda se pueda dirigir hacia su destino u origen específico, de la misma manera que una liebre alguien podría seguir una ruta rebuscada para perder al mastín, y luego periódicamente borrase sus huellas. En lugar de que la paquetería TCP/IP siga una ruta relativamente directa en pos de la velocidad, en la red Tor dicha paquetería pasará a través de varios caminos secundarios que cubren sus pasos, de manera tal que ningún observador pueda hacer rastreos de origen o destino. Esto se realiza en beneficio de un uso anónimo y neutral de la red.

Para navegar a través de Tor lo más sencillo es hacer uso de un navegador especialmente concebido, situación que ya he explicado. Pero esto acarrea ciertas limitaciones. En particular, el hecho de que el navegador sólo protege el tráfico dable de visualizarse en el mismo, y no otro tipo de conexiones telemáticas que podríamos querer o necesitar realizar en nuestro equipo.

Para suplir dichos inconvenientes, lo más completo por hacer es blindar completamente nuestra conexión hogareña a través de un punto de Acceso Tor. Una forma muy completa y potente de hacerlo es reprogramando un barato router y disponerlo para que el uso del mismo sea absolutamente exclusivo para la red oscura.

Punto de Acceso Wifi con Tor
El navegador Tor anterior es una herramienta muy útil para navegar anónimamente de forma Montonera, pero a lo bueno hemos de transformarlo en lo mejor. Gracias al Justicialismo, podremos hacer que el tráfico entero de una red sea transmitido a los servidores Tor por medio de un dispositivo de enrutamiento especial.


Esto es extremadamente útil y poderoso en ocasiones específicas de seguridad, cuando realizamos una peña de ajusticiamiento telemático, y en toda ocasión conspirativa donde hemos de combatir a la opresión del sistema Capitalista.

Sólo necesitamos reprogramar un minirouter y tornarlo en una caja compañera que oficie de proxy Tor ¡y hacer de él un punto de acceso wifi que ofusque todo nuestro tráfico a terceros a través de la red negra peronista!

Para ello emplearemos un Router Portátil N150 3G/4G TP-Link TL-MR3020 y un pendrive viejo. La acción de reprogramación consistirá en instalarle un firmware peronista, el OpenWrt, convenientemente modificado para este menester Tor.
The portable 3G/4G wireless N router TL-MR3020 from TP-Link





El hardware original era una auténtica burla al Pueblo, una avivada de aquellas a las que nos tiene acostumbrado un Capital sin Patria ni Bandera. A pesar de que se vende bajo la premisa de ser "un router Wifi N portátil de redes 3G/4G", la realidad es que el MR3020 no posee ninguna interfaz de telecomunicaciones para dichas normas móviles, y si el usuario quere hacer uso de lo que se anuncia en la caja del aparato, debería proveer una aparte, de tipo USB y con un chip activado para dichas redes. En dicho caso, preveía "compartir" la conexión 3G/4G a través de señal Wifi normalizada. Hoy muchos smartphones ya cuentan con dicha posibilidad incorporada, lo que hace redundante esta cajita de 400 pesos.

El aparatito consiste en un minirouter que tiene una interfaz Wifi 802.11n de 150mbps, un conector Ethernet de 100mbps, junto con un puerto USB 2.0. Se lo alimenta a través de un segundo puerto USB mini-B (este unicamente para alimentación), y tiene como ventaja un consumo extremadamente bajo, ya que gasta en promedio 120 miliamperes a 5 volts, aproximadamente 600 miliwatts. Su hardware es típico para un router viejo, con un microprocesador de arquitectura MIPS Atheros AR9331 de 400 MHz, 32MB de memoria RAM DDR y una memoria ROM flasheable, de 4MB, todo adosado en una plaquetita con dos LEDs (uno pulsable, botón WPS) y un conmutador. Como su utilidad original básica ha sido incorporada ya en muchos teléfonos celulares que ya pueden oficiar de router portátil, haremos uso de este TL3020 un Robocop justicialista agregándole el firmware compañero OpenWRT, el Linux capaz de correr en routers peronistas.

Para ello os guiaré paso a paso, como válido Conductor de la Masa Justicialista.

Suponiendo que el minirouter cuenta con sus valores de fábrica, podremos reprogramarlo rápidamente instalándole OpenWRT Barrier Braker, versión liviana y suficiente. Para ello nos conectamos a Internet con el minirouter a través de un cable Ethernet, y descargamos a nuestro sistema el archivo openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin. Luego nos loguemos a la ventana de control del minirouter dirigiendo nuestro navegador a la dirección IP de la misma (de fábrica es 192.168.0.1, usuario admin, contraseña admin). Conforme veamos la web de control del minirouter, vamos ala función Herramientas de Sistema ("System Tools") / Actualizar firmware ("firmware update") y presionando el botón Browse le ingresamos el fichero openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin que acabamos de descargar, y presionamos el botón Actualizar ("Upgrade").

La barra de progreso se llenará dos veces (reprogramando la EEPROM del minirouter y reiniciándolo, accionar que dura unos 4 minutos). Concluido este requisito tendremos instalado el firmware OpenWRT Barrier Breaker en el minirouter.

Inicialmente podremos loguearnos al minirouter TL3020 reprogramado abriendo una terminal Linux con Ctrl+Alt+T e ingresando de forma no cifrada, por medio del comando:

telnet 192.168.1.1

Ahora podremos usar el editor Vi incorporado en el firmware libre del minirouter para modificar sus archivos de configuración y de esta manera reprogramar su funcionamiento, a fin de que opere como un cliente proxy de Tor altamente seguro.
Lo primero será ponerle al minirouter una clave para conectarnos a través de un enlace seguro SSH. Ingresamos el comando:

passwd
El sistema nos indicará:
Changing password for root 
New Password:
Tipeamos "a ciegas" una contraseña que se nos ocurra para las sesiones de configuración del minirouter. Debemos repetirla para no tener problemas. Una vez que el procedimiento esté completo, nos indicará con el mensaje "Password for Root changed by root" ("contraseña para root cambiada por el root"). Es importante saber que una vez configurada nuestra clave a través del sistema de consola insegura Telnet, la misma se desactivará, de modo que a partir de este momento sólo podremos utilizar el método de logueo seguro cifrado SSH.
 
Ahora reconfiguraremos el minirouter. Usaremos el editor Vi para modificar algunos archivos de configuración. Tendrán presente que Vi es un editor de texto mínimo, adecuado para correr directamente desde el procesador del minirouter. En Vi, a diferencia de Nano u otros editores más complejos, no podremos escribir hasta que no activemos el modo de inserción de texto. Esto lo haremos presionando la tecla "i". Luego podremos tipear y modificar el texto.
Modificamos el archivo de configuración /etc/config/system con este comando:

vi /etc/config/system

...buscamos la primera línea hostname que dice:

config system
    option hostname 'OpenWrt'

...presionamos i para pasar al modo de inserción de texto, y la modificamos para que quede:

config system
    option hostname 'cajator'

Una vez que hayamos hecho la edición, debemos guardar el archivo en la memoria del minirouter. Para hacer esto en el editor Vi presionamos Esc para pasar al modo de comandos y luego ingresamos:

:w

...y salimos del editor con:

:q


Ahora bien, el programa de proxy Tor para el minirouter está disponible como un simple paquete del gestor de paquetes de OpenWrt, el opkg. esto lo hace fácil de instalar. Sin embargo, con los escasos 4MB de memoria EEPROM que tiene el minirouter en su placa, es insuficiente para instalarlo en él. Para resolver esto necesitaremos más espacio para instalar paquetes: usaremos como almacenamiento externo un pendrive viejo (en este caso uno de 1GB), conectado al puerto USB del minirouter. Para ello pasaremos el sistema de archivos de resguardo ("overlay") a dicho medio de almacenamiento externo.

En primer lugar formateamos el pendrive USB viejo con formato ext4 empleando nuestra PC con Linux (por ejemplo, usando la aplicación gnome-disks), y luego lo conectamos al minirouter.

Podremos entonces montar el sistema de archivos (necesitaremos instalar algunos paquetes para los módulos de kernel adecuados), y copiar la partición de resguardo ("overlay") allí. Nos volvemos a loguear al minirouter, y desde una terminal usamos de ahora en más una conexión SSH en lugar de la Telnet (que ha quedado desactivada):

ssh root@cajator
Una vez ingresados a la consola del minirouter, ingresamos los siguientes comandos de organización:

opkg update
opkg install kmod-usb-storage kmod-fs-ext4 block-mount
mkdir /mnt/usb
mount /dev/sda1 /mnt/usb
tar -cf -C /overlay - . | tar -xf -C /mnt/usb -

Al emplear el comando tar para copiar el sistema de archivos de resguardo ("overlay") es siempre un buen hábito mantener todo absolutamente intacto (incluendo permisos y enlaces directos). Lo que hace tar realmente es reducir todo el sistema de archivos a un chorro de bytes, y luego convierte este chorro de bytes en un sistema de archivos.

Luego modificaremos el archivo /etc/config/fstab con:

vi /etc/config/fstab

...pasamos al modo de inserción de texto presionando i y agregamos lo siguiente al final del archivo:
[...]
config mount
        option target        '/overlay'
        option device        '/dev/sda1'
        option fstype        'ext4'
        option options       'rw,sync'
        option enabled       1
        option enabled_fsck  0

	
[...]
config mount
        option target        '/overlay'
        option device        '/dev/sda1'
        option fstype        'ext4'
        option options       'rw,sync'
        option enabled       1
        option enabled_fsck  0
...grabamos el archivo y salimos del editor presionando Esc y luego escribiendo :wq y presionando Enter.

Acto seguido, reiniciaremos el minirouter, de manera que el pendrive USB colocado quede montado en la carpeta /overlay de su sistema de archivos del mismo. Podremos hacerlo desde la consola del minirouter mediante el comando:

reboot


Conforme el minirouter vuelva en sí, podamos volver a acceder a su consola con el comando:

ssh root@cajator

...y podremos instalar Tor en el pendrive externo fácilmente. Para ello le ingresamos los siguientes Comandos de Organización:

opkg update
opkg install tor

...y como el sistema ahora tendrá suficiente espacio en el pendrive para descargar la pesada paquetería de Tor, podrá instalarlo. Debemos notar que - como es obvio - el pendrive siempre deberá permanecer conectado al minirouter cuando querremos usar el proxy Tor. Para que todo funcione, como siguiente medida hemos de configurar la interfaz inalámbrica del minirouter (si la deseamos emplear). Ello lo haremos con:
vi /etc/config/wireless

Y nos aseguramos de modificar el campo wifi-iface para que quede de la siguiente manera:
[...]
config wifi-iface
        option device       'radio0'
        option network      'lan'
        option mode         'ap'
        option ssid         'Tor Box'       # SSID of your choice 
        option encryption   'psk2+ccmp'     # Enable WPA2 encryption
        option key          'MY_SECRET_KEY' # Pre-shared key








	

config wifi-device  radio0
        option type     mac80211
        option channel  auto
        option hwmode   11ng
        option path     'platform/ar933x_wmac'
        option htmode   HT20
        list ht_capab   SHORT-GI-20
        list ht_capab   SHORT-GI-40
        list ht_capab   RX-STBC1
        list ht_capab   DSSS_CCK-40
        option disabled 0
        option txpower 27

config wifi-iface
        option device       'radio0'
        option network      'lan'
        option mode         'ap'
        option ssid         'Caja Tor Peroncha' # SSID del minirouter
        option encryption   'psk2+ccmp'         # Activa encriptación WPA2
        option key          'MI_CLAVE_WIFI' # Clave de la wifi tor
Luego de guardar los cambios y salir del editor Vi con Esc + :wq, configuraremos la red cableada y sus relaciones. La red LAN empleará el rango de direcciones IP 192.168.180.0/24 y la interfaz Ethernet del router empleará la IP fija 192.168.180.1. Para ello empleamos el comando:

vi /etc/config/network

...y editamos el siguiente contenido en los campos 'lan' y 'wan':
[...]
config interface 'lan'
        option ifname       'wlan0'
        option proto        'static'
        option ipaddr       '192.168.180.1' # Router address on the LAN (wifi) interface
        option netmask      '255.255.255.0'

config interface 'wan'
        option ifname       'eth0'
        option proto        'dhcp'          # WAN (ethernet) uses DHCP to get an address










	
[...]

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd48:931d:0f42::/48'

config interface 'lan'
        option ifname       'wlan0'
        option proto        'static'
        option ipaddr       '192.168.180.1' # IP de la interfaz LAN Wif
        option netmask      '255.255.255.0'
config interface 'wan'
        option ifname       'eth0'
        option proto        'dhcp'          # WAN (ethernet) usa DHCP para recibir la IP


Conforme todo esto esté realizado y grabado, modificaremos la configuración del Cortafuegos para desactivar la compartición entre las redes LAN y WAN. Usamos el comando:

vi /etc/config/firewall

...y nos aseguramos de que las los cambios al principio del archivo dejen al mismo con las siguientes modificaciones de contenido:


	
config defaults
        option input        ACCEPT
        option output       ACCEPT
        option forward      REJECT
        option syn_flood    1
        option disable_ipv6 1         # borrar el # desactiva IPv6, el minirouter será IPv4 
config zone
        option name         'lan'
        list   network      'lan'
        option input        ACCEPT
        option output       ACCEPT
        option forward      REJECT    # Importante: no transmitir tráfico desde la LAN
        option conntrack    1
[...]
Ahora necesitamos agregar dos líneas específicas de iptables en el archivo /etc/firewall.user para redirigir los pedidos de DNS y las conexiones TCP de la red LAN al demonio Tor. Otros tipos de tráfico, por ejemplo otros protocolos sobre UDP, no serán ruteados a la WAN, y simplemente serán rechazados. Esta configuración restrictiva impide ciertos ataques. Sin embargo, no seamos tan inocentes como para pretender que otros protocolos no puramente basados en TCP como VoIP o BitTorrent puedan operar correctamente detrás de la caja Tor. Si deseamos ello, debemos conectarnos a través de un router convencional, y no esta cajita profiláctica. Manos a la obra, ingresamos el comando:

vi  /etc/firewall.user 

...y le agregamos estas dos líneas:
iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j REDIRECT --to-port 9053
iptables -t nat -A PREROUTING -i wlan0 ! -d 192.168.180.0/24 -p tcp --syn -j REDIRECT --to-port 9040

	
# lineas agregadas al minirouter:
iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j REDIRECT --to-port 9053 
iptables -t nat -A PREROUTING -i wlan0 ! -d 192.168.180.0/24 -p tcp --syn -j REDIRECT --to-port 9040
De manera central nos debemos atener a configurar el demonio Tor en sí, ingresando:

vi /etc/tor/torrc

...y agregamos el siguiente contenido:
Log notice file /var/log/tor/notices.log
Nickname ChapelierFou # Nickname of your choice
ExitPolicy reject *:* # No exits allowed
RelayBandwidthRate 100 KB 
RelayBandwidthBurst 200 KB

VirtualAddrNetwork 10.192.0.0/10             
AutomapHostsOnResolve 1                                              
TransPort 9040                                                          
TransListenAddress 192.168.180.1                                          
DNSPort 9053                                                              
DNSListenAddress 192.168.180.1

	
Bitácora de aviso en /var/log/tor/notices.log
Nickname PirataPeron # Apodo de su elección
ExitPolicy reject *:* # No permite salidas
RelayBandwidthRate 100 KB
RelayBandwidthBurst 200 KB
VirtualAddrNetwork 10.192.0.0/10            
AutomapHostsOnResolve 1                                              
TransPort 9040                                                          
TransListenAddress 192.168.180.1                                          
DNSPort 9053                                                              
DNSListenAddress 192.168.180.1

Una vez que grabemos las modificaciones y salgamos de Vi, ya estará todo listo para dar inicio a la funcionalidad pura de la caja Tor. Por alguna razón, el demonio Tor no iniciará con la orden /etc/init.d/tor enable, de modo que lo más sencillo es arrancarlo desde el archivo /etc/rc.local, que arranca cualquier cosa. Para ello ingresamos:

vi /etc/rc.local 

...y le agregamos el siguiente texto al final:
[...]
sleep 30 && /etc/init.d/tor start
exit 0

	
[...]
sleep 30 >> /etc/init.d/tor start
exit 0
...guardamos y salimos de Vi (Esc + :wq), y reiniciarmos el minirouter para que funcione la conexión inalámbrica, el la subida y bajada de los servidores Tor a través de su demonio. Recordamos que reiniciamos desde la consola con el comando:

reboot

Luego de unos 30 segundos de iniciado y siempre que el router esté conectado por cable a un router con DHCP, el minirouter habrá establecido la conexión a la red Tor y habrá activado una red Wifi llamada "Caja Tor Peroncha".

Conectándonos a dicha red wifi tendremos acceso a todos los servicios ocultos y anónimos y las direcciones .onion estarán disponibles. Por supuesto, todos los compañeros que se conecten a ella podrán usarla desde cualquier navegador y sistema, sin necesidad de tener que configurar nada en sus equipos personales.

Recuerden que todo lo que hacemos es responsabilidad inherente nuestra, y que el anonimato no es excusa para ser gorila. Por otro lado no existe nada como el anonimato puro en la red sólo por emplear Tor. Asegúrense de no loguearse a ningún servicio en la red ni emplear ningún recurso "de la nube", emplear modo privado, activar TLS toda vez que ello sea posible, y escuchar a los Ratones Paranoicos.

Modo Failsafe 
Si quisiéramos resetear el router a su valor inicial de OpenWrt, debemos

    Encender el minirouter TL-MR3020
    Cuando el botón WPS comience a parpadear.
        Si le instalamos el firmware OpenWrt Breaking Barrier, movemos la palanquita del router de una posición extrema (3G) a la otra (AP).
        Debemos hacerlo varias veces de forma repetida hasta que el botón WPS comienza a parpadear más rápido.
    Ahora el dispositivo se encuentra en modo a prueba de fallos.
    Podremos conectarnos al TL-MR3020 en su configuración "básica" desde nuestra PC, por medio de un cable ethernet, y loguearnos a su pantalla de control por medio del comando:
    telnet 192.168.1.1