jueves, septiembre 18, 2014

Unos consejos para ti que empiezas en la Universidad

En estos días se nota el revuelo en la vida universitaria. Jóvenes y - no tanto - que esperan las últimas notas de la última convocatoria del curso, las confirmaciones de si hay o no hay plazas, de si se abre o no se abre una clase o un curso y de qué máster de postgrado realizar.

Hay muchas ilusiones y ganas renovadas siempre con el nuevo curso y viendo este ajetreo recuerdo con envidia esos momentos cuando yo estaba empezando los años en la EUI-UPM - ahora se puede visitar en 360º -, repasando una a una las asignaturas y esperando aprender un montón de cosas nuevas. Adoraba la informática y quería saber más. Me imaginaba diseñando el juego de instrucciones de una CPU y creándola desde cero, o descubriendo cómo programar concurrentemente para hacer juegos o saber cómo se construía un lenguaje desde la concepción del autómata.

Figura 1: Auditorio de la Escuela Técnica Superior de Ingeniería de Sistemas Informáticos de la Universidad Politécnica de Madrid

En las carreras universitarias de informática se aprenden muchos conceptos fundamentales que te enseñan a entender cómo funcionan las cosas. Herramientas que te permitirán construir desde cero tu carrera profesional, que te ayudarán a que puedas transformar el mundo si lo quieres hacer o modelar sistemas informáticos completos pensados por ti.

Por supuesto, la informática es infinita, y yo creo que llevo toda mi vida estudiando y trabajando en esto para poder afirmar con rotundidad que no tengo ni idea prácticamente de nada en este mundo de la informática. Sí, algo he podido aprender en estos años, pero la inmensidad de conocimiento que hay alrededor de esta ciencia es tal, que para casi cualquier ser humano es inabarcable. Tú tampoco vas a poder aprender todo en la universidad.

No obstante, cuando estés en la universidad, aprovecha todo tu tiempo al máximo, no solo para estudiar todas las asignaturas, sino para estudiar por tu cuenta todo lo que puedas. Completa tus conocimientos con auto-aprendizaje de lenguajes actuales que te permitan hacer tus propios proyectos. Mantente al día de lo que pasa en el mundo leyendo muchos blogs para que sepas cuáles son las tendencias en el mundo de la tecnología. Lee libros en los minutos que puedas para profundizar en nuevos temas. Ve a conferencias y conoce a más gente como tú.

Tres consejos

Además de todo eso, voy a darte tres consejos - por darte algunos - por si te sirven de mi experiencia personal. Tres consejos que puedes ignorar totalmente si quieres, pero que yo libremente te dejo por si te pueden ayudar:
1.- Tu tiempo es valioso: Si vas a estudiar una carrera, seguro que no tienes mucho dinero en el bolsillo, pero tienes algo que vale tanto o más que los euros. Tiempo. Por desgracia, en esos años el tiempo tiende a parecer infinito, pero es una trampa y unos nueve meses más tarde ya estarás saliendo de ese curso, casi un año más viejo y con menos tiempo. Aprovecha tu día para aprender cosas, para disfrutar con la tecnología, para hacer proyectos. El equilibrio entre lo que tiene que ir destinado en ocio, responsabilidades y tecnología lo marcas tú.... por ahora. Así que hazlo con madurez.

2.- Hazlo: Busca gente como tú, que quiera hacer cosas, que tenga inquietudes, y haz proyectos. Pero hazlos. Hazte una app que transcriba una grabación de voz a twitts, o un software de OCR que te permita hacer una foto a un texto y convertirlo en un vídeo de Youtube con fotos que tengan que ver con las palabras reconocidas en el texto sacadas de Google Images mientras que suena de fondo el texto leído por Loquendo. Lo que sea que te guste a ti y a tus compañeros. Pero hazlo. No te frenes por las cosas que no sabes, aprende a superarlas, que para eso están estos proyectos. Que cuando acabe tu curso tengas una lista de cosas que has hecho. Hazlo.

3.- Mantén la ilusión: El mayor problema que suele tener la gente cuando entra a la universidad es una mala gestión de las expectativas. No conocer bien qué es lo que se va a encontrar en la carrera y esperar que con ir ya vas a salir convertido en una estrella de la informática. Un Chuck Norris del Computing. No es así. Vas a aprender cosas preciosas como la marcha de Jarvis, el algoritmo de Melkman o estadística. Vas a entender la diferencia entre programar y ser un arquitecto de software que supera las limitaciones construyendo tecnología, vas a poder entender que hacer las cosas bien permite que un sistema funcione a largo plazo, etcétera. Si te desanimas porque no sabes SAP cuando sales de la Universidad, entonces la única culpa es que no has gestionado bien tus expectativas. Mantén la ilusión con la informática, aprende todo lo que puedas en las clases, y recuerda que tu vida universitaria y aprendizaje solo depende una parte pequeña de las clases. La mayor parte depende de lo que hagas durante estos años de Lunes a Domingo las 24 horas de tu día.
Ahora está en tu mano lo que quieres ser en el futuro, pero en el futuro no estará en tu mano decidirlo tan fácilmente. Ve a la universidad, suspende como ingeniero, estudia, disfruta, practica, cambia el mundo, cambia las reglas del juego, pero sé activo con tu futuro. No pienses que ir a la universidad es una garantía de que vas a saber mucho y vas a salir después de X años siendo un fiera. No. Eres tú el que tienes que aprender durante ese periodo, así que aprovéchalo.

Saludos Malignos!

miércoles, septiembre 17, 2014

Cómo crear mensajes falsos de WhatsApp en un iPhone

Si tienes pareado un equipo con un iPhone, ese equipo tiene acceso a todo (o casi todo) lo que haya en ese terminal. Se puede acceder a los datos de Facebook y sacar la sesión para acceder a la cuenta, se puede extraer la base de datos de WhatsApp para buscar los mensajes borrados, se puede por supuesto espiar el WhatsApp silenciosamente, se puede acceder a las fotos en un proceso de juice jacking, se puede hacer jailbreak y meter un troyano al iPhone de forma automática, se puede manipular WhatsApp, Telegram o Twitter para que no se borren nunca los mensajes o se pueden manipular las bases de datos para crear mensajes falsos.

Esto es algo que se conoce desde hace tiempo y se cuenta en detalle en el libro de Hacking iPhone, aunque aún hay gente que no ha entendido esto. Para demostrar lo sencillo que es de hacer creamos una pequeña herramienta que se llama WhatsApp Injector - que no hemos publicado -, y que permite crear conversaciones falsas a la carta usando un equipo pareado para generar falsos rumores, motivar animadversión hacia personas o conseguir engañar a un periodista con un falso mensaje - por poner un ejemplo -.  Aquí tenéis una rápida demostración que hice ayer en el programa de radio de La Mañana con Javi Nieves.


Figura 1: Vídeo de la demostración de cómo crear mensajes falsos en WhatsApp para iPhone

Hacer este proceso es sencillo si el equipo está pareado con el terminal, es decir, si se ha seleccionado en las nuevas versiones de iOS 7.X la opción de "confiar en este equipo". Si ha sido así, desde el equipo se puede acceder a la base de datos de WhatsApp y escribir los registros que se desee.

Para la prueba de concepto, la herramienta WhatsApp Message Injector que ha programado nuestro compañero Ioseba Palop funciona como un servicio de Windows. Se queda residente en el equipo esperando a que se conecte un iPhone para escribir en su base de datos de WhatsApp la conversación seleccionada. Para ello, el escenario de ataque es el siguiente:

Paso 1: Creación de la conversación de WhatsApp en el equipo pareado

Este ataque podría estar pensado en entornos de pareja donde ambos tienen pareado el terminal iPhone en el mismo equipo, o en entornos de trabajo donde los trabajadores conectan el iPhone al equipo de la empresa. 

Si haces esto, es decir, si pareas tu terminal iPhone con el equipo del trabajo le estas dando acceso a tu Facebook, WhatsApp, Gmail, Fotografías, vídeos, etcétera al equipo IT de la empresa. ¡Piensa en ello!

Figura 2: Creación de conversación falsa en WhatsApp Message Injector

En ese equipo se abre la herramienta WhatsApp Message Injector y se crea la conversación que se quiere meter en la base de datos de WhatsApp. La herramienta permite seleccionar la fecha exacta y el estado que se quiere para el mensaje, es decir, podemos elegir si aparecerá como enviado, enviado y recibido, no enviado, recibido, además de la hora exacta y el remitente o destinatario del mensaje.

Paso 2: Dejar la trampa preparada

Una vez creada la conversación se cierra la herramienta. El resto será esperar a que se conecte el dispositivo iPhone de la víctima para que el servicio de Windows inyecte la conversación. Esta conversación se colocará correctamente, enlazándose en el hilo completo de la conversación, es decir, si la fecha está entre dos mensajes, entonces quedará correctamente colocado. El resto es esperar.

Cuando se conecte, como la base de datos de WhatsApp en iPhone no está cifrada, bastará con hacer las consultas SQL adecuadas a la base de datos SQLite de WhatsApp. Esto ya se vio en el artículo que explicaba cómo se hacía un D.O.S. a WhatsApp.

Paso 3: Se conecta el equipo y se inyecta la conversación

Nada más enchufarse el terminal iPhone al equipo con WhatsApp Message Inyector, el servicio escribirá en la base de datos de WhastApp todo el mensaje, haciendo creer a la víctima que ha recibido esos mensajes. Como broma pesada puede estar bien, pero ojo con esto que te puede hacer un lío gordo.

Figura 3: Conversación de WhatsApp que se ha creado en la base de datos.

En este caso se puede ver cómo el cuarto mensaje se creo con un time-stamp anterior al mensaje de "Voy!" y WhatsApp Message Injector lo puso en su lugar correspondiente. Si el número de teléfono estuviera en los Contactos, entonces aparecería su foto y su nombre. Si hubiera una conversación previa auténtica, los mensajes se intercalan en al ubicación correspondiente.

Al final, los mensajes de WhatsApp, de Telegram, de Skype, de Twitter, etcétera, se guardan en bases de datos locales, y si tienes acceso al dispositivo es trivial manipularlos con herramientas como estas o manualmente con un editor de bases de datos, así que ojo con tragarte cualquier cosa de estas. Y por supuesto, el - o los - equipo/s que tengas pareado/s con tu terminal iPhone o iPad puede/n robarte todos los datos. Ojo con ello.

Saludos Malignos!

Entradas populares