Evita la censura en Twitter con Anontwi

Lord Epsylon pone a nuestra disposición AnonTwi, una herramienta de código abierto escrita en Python que nos permitirá mantener nuestra privacidad y evadir la censura en Twitter:

- Las comunicaciones con el API de Twitter se realizan bajo SSL (para evitar ataques MiTM)
- Permite el uso de Proxy Socks (por ejemplo para conectarnos a la red de TOR)
- Utiliza 'User-Agents' aleatorios y elimina el 'Referer'
- Corta los mensajes largos automáticamente (waves)
- Cifra Tweets y mensajes directos (DMs) con AES128 + Blowfish (claves de 16, 24 y 32 bytes)
- Descifra automáticamente las URLs de los tweets o el texto en raw

Instalación

Como buen lenguaje interpretado, sólo necesitaremos Python y el código se ejecutará en muchas plataformas. Eso sí necesitaremos las siguientes librerías: python-crypto y python-httplib2.


Si tienes un sistema basado en Debian instalar estas dependencias será tan sencillo como ejecutar:

sudo apt-get install python-crypto python-httplib2

O si eres un amante de M$ o te pasa como a mi, que en ese momento sólo tienes un XP "a mano" (WTF!), pues tampoco creo que encuentres mayores dificultades. 


En mi caso funciona con Python 2.7, httplib2 0.7.4 y pycrypto 2.3, aunque tengo algunos problemillas al crear tokens con la herramienta (que ya miraré más adelante).

Una vez instaladas las librerías, podemos descargar el software directamente desde el repositorio Sourceforge de Anontwi: 



A continuación, tenemos que "declarar" la aplicación en nuestra cuenta de Twitter (aplicación de terceros) y obtener las Consumer Keys o claves de consumidor (O.o que mal queda la traducción al castellano ...).

Para ello accedemos a https://dev.twitter.com, hacemos clic en "Create new application" y rellenamos el formulario.


No debemos olvidar dar permisos de "lectura, escritura y DM" a la aplicación (pestaña "Settings"):


En la configuración de nuestro perfil de Twitter podremos comprobar los permisos de acceso de nuestra nueva aplicación:



Ahora debemos copiar las "Consumer Keys" y añadirlas al fichero connect_API.py:

APItokens = [
        { 'consumer_key'    : "", # enter your consumer_key
                  'consumer_secret' : "", # enter your consumer_secret
        }
        ]

Y finalmente generar los tokens para el API de Twitter a través de la página de desarrolladores o mediante el comando:

d:\Python27\python.exe anontwi --tokens

Uso

./anontwi [-m 'text' | -r 'ID' | -d @user | -f @nick | --df @nick] [OPTIONS] 'token key' 'token secret'


Ahora que tenemos todo preparado vamos a probar a mandar un mensaje directo cifrado a psy (@lord_epsylon):

D:\anontwi>d:\Python27\python.exe anontwi -m "Nice tool! Si no hay problema, vamos hacer un post en nuestro blog" -d "@lord_epsylon" --enc --pin "abcdefghijklmnop" 139367345-VWtNqgrmfqmWs2JYGY01TqNpK86i9NqG9TqNUtRj 7zrMiHJrOBSGgb5kzqHH6R5zPpZYcwCcwS1ShKT6Y
===========================================================================

AnonTwi v0.1 - 2012 - (GPLv3.0) -> by psy

===========================================================================
Starting to send your DM (direct message)... :)
===========================================================================

Message [ Number of words: 66 - Number of waves: 1 ]
-------------
Nice tool! Si no hay problema, vamos hacer un post en nuestro blog
-------------

To: @lord_epsylon
------

[Info] DM sended correctly!

Nota: los tokens del ejemplo han sido modificados en esta entrada y reseteados, varias veces, que me fío poco de vosotros XDD

En el timeline de los DM de mi cuenta y la de la de psy se observará el mensaje cifrado:


Ahora psy podrá, por ejemplo, descifrar el mensaje en raw mediante la clave/PIN que previamente le hemos facilitado:

D:\anontwi>d:\Python27\python.exe anontwi --dec "99JgAqyGjvo5RI5dQ+ARrXPj8jiHIdA
SW2c/pM2O93gB
7urQXjugpkkS73+Ye6EhiqJ+UIFSG8nom1EAAdFH1i3D2T7vG1i1IFO2wsi26hY=" -
-pin "abcdefghijklmnop"
===========================================================================

AnonTwi v0.1 - 2012 - (GPLv3.0) -> by psy

===========================================================================
Decrypting message... :)
===========================================================================

PlainText: Nice tool! Si no hay problema, vamos hacer un post en nuestro blog

Y ya está!! así de sencillo y eficiente. Puedes hacer esto y mucho más. Revisa el How-to de Anontwi para ver más opciones y posibilidades (+10 mantener el anonimato a través de TOR u obfsproxy (--proxy "http://127.0.0.1:8118"))

Conclusiones

Anontwi es una herramienta que acaba de publicarse y que permitirá comunicarse de forma segura a los usuarios de Twitter que la utilicen. ¡Mi agradecimiento y enhorabuena al autor!

Pienso que para llegar al "gran público" sería necesario un GUI que haga más agradable su uso (está pensado un visor GTK), o como por ejemplo también un script para Greasemonkey o un complemento o extensión para el navegador (esto lo tenía en mi lista de herramientas que quiero hacer y que nunca haré...).

No obstante, personalmente prefiero seguir escribiendo líneas en mi terminal y espero que esta herramienta (u otras similares) no se conviertan en un arma de doble filo: no quiero ver mi timeline de Twitter lleno de mensajes cifrados, se perdería la esencia de compartir libremente y para todos.

Así que, por favor, utilicen Anontwi para ocultar su origen, pero dejen el cifrado sólo para los mensajes directos ;)

Actualizaciones:

-  Disponible un GUI con el módulo Simple Decrypt Tool:


- ¡Ya está disponible la versión 0.4 con un cifrado más fuerte y soporte para identi.ca!.

4 comentarios :

  1. Parece que ya andan trabajando en una GUI: https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash3/551019_303635536393567_1533280590_n.jpg Saludos :).

    ResponderEliminar
  2. Mmm, no entiendo demasiado bien el propósito de esta herramienta. Bueno en realidad si lo entiendo, pero no veo para que tanta complicación en lugar de crear una cuenta de twitter y usarla a través de tor.

    Claro que igual se me escapa algo...

    ResponderEliminar
  3. Lo importante es que añade una capa sólida de cifrado al contenido. Eso hace que Twitter pierda el control sobre sus contenidos. Además permite conectarse a identi.ca, lo que significa que tampoco pueden rastrear de donde vienes.

    A ver si sacan pronto una versión de ventanas.

    ResponderEliminar
  4. Versión GTK+ con ventanas, liberada:

    http://sourceforge.net/projects/anontwi/files/latest/download

    ResponderEliminar