4 sept 2014

Yowsup: Aplicaciones éticas y no tan éticas para WhatsApp. Parte 1

Buenas a todos, en el post de hoy queremos dar comienzo a una cadena de artículos en la que os hablaremos de WhatsApp, de su seguridad y de la librería Yowsup a través de la cual podremos emular desde un PC la interacción de un terminal móvil con la plataforma WhatsApp, con fines tan diversos como puedan ser desde la integración de WhatsApp en el cliente de escritorio gratuito Pidgin, para utilizar WhatsApp en nuestro ordenador, realizar una recopilación masiva de datos de usuarios de WhatsApp consultando números al azar, o charlar con nuestros contactos de manera automática con un bot desarrollado por nosotros mismos. Las posibilidades son diversas y dependerán de las necesidades que busquéis cubrir y las ganas que tengáis de picar código :)

Para comenzar con la cadena será interesante iniciaros en Yowsup, y detallaros los aspectos básicos que precisáis conocer para poder interactuar con WhatsApp desde un Linux (por ejemplo), sin desesperaros con el prueba y error.

Yowsup es una API no-oficial de WhatsApp desarrollada en python y que nos permite interactuar con WhatsApp desde cualquier dispositivo que interprete python (PC con Linux, Mac OS, Windows, raspberry, etc.)

Cómo comentábamos Yowsup puede utilizarse para una gran cantidad de fines, tan éticos como pueda ser su uso en un programa de chat tipo Pidgin, con el fin de mantener conversaciones con nuestros conocidos y amigos, o no tan éticos, cómo la automatización de campañas de SPAM a un rango de números o la realización de ataques de ingeniería social, DDoS, etc. Para lo bueno y para lo malo, las posibilidades son inmensas.

Una de las capacidades más interesantes que nos brinda Yowsup es que nos permite configurar cualquier número de teléfono móvil, siempre que tengamos capacidad para acceder a sus SMS, ya que este será el protocolo utilizado para configurar nuestra cuenta de WhatsApp en la plataforma. Lógicamente, si lo que queréis es simplemente usar vuestro WhatsApp en un cliente de chat como Pidgin, utilizaréis vuestro número real, pero imagino que habrá bastante gente pensando en pruebas de concepto utilizando servicios como Fonyou, para no hacer uso de su número de móvil real (al que por cierto le quedan tan solo unos días de vida y ya no acepta nuevos registros, una pena).

Para configurar Yowsup lo primero será descargarlo:
git clone git://github.com/tgalal/yowsup.git
Una vez descargado, accederemos a la carpeta "src", situada dentro de la carpeta raíz, y editaremos el archivo config.example:
cc= 34
phone=34_Nuestro_Numero_Sin_Espacios
id= (Vacío)
password= (De momento lo dejaremos vacío)
El siguiente paso será solicitar el código de registro:
python yowsup-cli -c config.example --requestcode sms
Y recibiremos por SMS un código de 6 dígitos separados por un guión. A continuación procederemos a registrar este código:
python yowsup-cli -c config.example --register XXX-XXX
Y recibiremos nuestro password, que configuraremos en el archivo config.example que antes editamos.

Si todo ha funcionado correctamente, podremos enviar mensajes desde consola con la siguiente instrucción:
python yowsup-cli -c config.example -s 34_Numero_Destinatario "Hola, esto es una PoC"

O la siguiente para recibirlos:
python yowsup-cli -c config.example -l

Para ver todos los parámetros posibles ejecutaremos la siguiente instrucción:
python yowsup-cli -h
Cómo veis la configuración de Yowsup es muy sencilla y nos permite con cuatro comandos sencillos acceder a algunas funcionalidad del API. Sin embargo, precisamos recurrir a desarrollo para explotar todas las funcionalidad de Yowsup, tal y como veremos en próximas ediciones de la cadena.

En el próximo artículo os enseñaremos a configurar Yowsup en Pidgin.

Saludos!

1 comentario:

  1. Una pregunta: ¿Permitiría "registrar" cualquier número que empiece por 9 (y, ahora, también, por 8)? Sería muy interesante...

    ResponderEliminar