Telegram. El Bueno, el Feo y el Malo

Hoy os vamos a hablar de una charla que José González (@bitsniper) y yo (@jovimon) dimos en el FAQin Congress de Madrid celebrado los pasados días 5 y 6 de marzo.

img1

En la charla hablamos de Telegram, la gran alternativa a Whatsapp como herramienta de mensajería, y que cada día que pasa se va haciendo un hueco más importante, ya que sus creadores van añadiendo más y más funcionalidades que la distinguen de la propia Whatsapp y del resto de aplicaciones del sector.

Una de las funcionalidades más interesantes que han surgido en los últimos meses es la creación de bots, que permite a los usuarios crear aplicaciones propias que interactúen con Telegram como si fueran cualquier otro usuario, pero con ciertas limitaciones. Por ejemplo, un bot no puede iniciar una conversación, siempre estará identificado como un bot tanto en su nombre como en su estado, y no podrá obtener información personal del usuario más allá de la información básica necesaria para comunicarse con él.

Esto abre un nuevo abanico de posibilidades ya que, por poner varios ejemplos, podemos hacer bots que nos permitan controlar de forma remota elementos de nuestra casa, que nos alerten de problemas de monitorización en nuestros sistemas, o que nos avisen del tiempo que hará en nuestra ciudad, todo ello sin salir de la misma aplicación que utilizamos para hablar con nuestros amigos, familiares y compañeros de trabajo, con la comodidad y facilidad de uso, sobre todo para los usuarios menos avanzados.

A pesar de estas comodidades, y como era de esperar, no todo es bueno y esta funcionalidad entraña algunos problemas que hay que tener en cuenta para evitar que se vea comprometida nuestra privacidad.

Por una parte, si no aseguramos bien la aplicación que da vida a nuestro bot, es posible que otros usuarios interactúen con ella pudiendo llegar a causar algún perjuicio en nuestros sistemas y equipos.

Por otra, podemos crear un bot con un público objetivo claro y promocionarlo de forma que mucha gente lo utilice. Al ser los creadores del bot, podemos elegir que lea todos los mensajes que se intercambian en los grupos a los que se haya añadido el bot, lo que nos da una fuente de conversaciones y de usuarios objetivo.

Como hemos comentado, la API de los bots es limitada y no podemos obtener información adicional de los usuarios, pero como sabemos, en el salvaje oeste no se juega limpio, así que podemos reaprovechar la información obtenida con el bot para, utilizando la API completa de usuarios, extraer más información del usuario, como por ejemplo su nombre de usuario, sus fotos de perfil (Telegram no borra las fotos anteriores, salvo que tú mismo las borres de forma explícita) y cuándo ha estado el usuario conectado.

Lo “mejor” de todo esto es que como usuarios de Telegram podemos obtener esta información de todos los usuarios, sin que tenga que haber una relación de confianza mutua entre ambos usuarios.

Para la demo que acompañaba la charla no pudimos montar el bot que acabamos de comentar y publicitarlo, pero teníamos a mano un Súper Grupo de Telegram con más de 500 personas para poder experimentar. Además, muchas de esas personas iban a estar en la charla, por lo que la demostración sería todavía más efectista si cabe.

El resultado fue el siguiente: de las 537 personas que había en el “supergrupo” cuando recopilamos la información, 362 tenían un nombre de usuario asociado, 338 tenían fotos de perfil, hasta un total de 955 fotos de perfil entre todos ellos (el usuario que más fotos tenía guardaba 31 fotos de perfil). Con los nombres de usuario podríamos empezar a construir la identidad digital de los usuarios buscando los mismos nombres de usuario en otros servicios en línea, y con las fotos descubrir más de ellos: quienes son, sus parejas e hijos, hobbies, etcétera.

Recordemos que toda esta información se puede obtener sin que el usuario se dé cuenta y sin que pueda hacer nada para evitarlo, ya que como hemos comentado, no se necesita una relación de confianza mutua para poder obtener información de cualquier usuario de la aplicación.

Como detalle, indicar que hemos vuelto a hacer la prueba casi cuatro meses después de la realización de la charla sobre el mismo grupo, que ahora contiene más de 650 usuarios, encontrando esta vez 397 nombres de usuario, 426 usuarios con fotos de perfil y un total de 1118 fotos.

La presentación completa, debidamente anonimizada, la podéis encontrar aquí.

Desde aquí me gustaría reconocer el gran trabajo de mi compañero José González a la hora de empaparse del API de usuario de Telegram y hacer una implementación propia que nos permitiera “jugar”, cosa nada trivial, y dar las gracias también a los organizadores del FAQin Congress por elegirnos para dar una charla en su congreso.

Nos lo pasamos muy bien y vimos charlas y ponentes de gran calidad, por lo que esperamos volver a vernos allí en la próxima edición.