Apps mágicas para hackear Facebook
Origen: Un informático en el lado del mal
Conseguir la contraseña de Facebook de una cuenta es una de las peticiones más usuales que se suele recibir de la gente que busca solucionar sus problemas invadiendo la intimidad de las personas cercanas. Hay una gran demanda para este tipo de servicios, y por ende aparece la oferta de este tipo de servicios por medio de muchas maneras, casi todas con el fin de engañar al que busca hackear Facebook. Desde engaños al uso de "págame y ya me pongo yo a conseguirte la contraseña que yo hago unos troyanos superfuertes", hasta las típicas falsas apps mágicas que se comercializan para espiar WhatsApp en las que supuestamente pones un número de teléfono y al instante te da las conversaciones que de la otra persona.
Estas apps mágicas para espiar son algo muy utilizado en el mundo del fraude online, y en casos como las apps mágicas para WhatsApp han generado auténticos negocios como hemos visto en el pasado. Hoy yo venía a hablaros de una de esas apps mágicas para hackear. En concreto de una App mágica para Hackear Facebook que me encontré ayer jugando con nuestra plataforma Path 5.
Figura 2: FaceHack, una app para robar passwords de Facebook con 0days de SQL Injection y Brute Force |
La encontré mientras buscaba apps hablaran de SQL Injection y me llamó poderosamente la atención. "¿Una app para hackear Facebook que está relacionada con SQL Injection? Esto hay que verlo". Tal y como se puede ver en la imagen de arriba, el crespón negro indica que la app fue retirada de Google Play hace varios meses, pero lo bueno de Path 5 es que nos hace el archivado automático de todas las apps y todas las versiones, así que podría jugar con ella.
Figura 3: Descripción, descargas e información de FaceHack en Google Play |
El asunto del SQL Injection aparecía en la descripción, donde los autores presumen de que son unos tipos son unos mega hax0RDs con capacidades superiores a las que tienen los ingenieros de seguridad de Facebook y todos los investigadores que participan en el Bug Bounty y son capacidades de sacar las passwords usando Fuerza Bruta y bugs de SQL Injection que solo ellos tienen. Tiene gracia, pero ya que vas a meter una trola a alguien, que sea a lo grande, ¿no?. De hecho no será la primera vez que alguna gran empresa como Apple se come ataques de Brute Force en sus servidores o bugs de SQL Injection en sitios de renombre.
Aún así, publicar un par de 0days de Facebook en una app en Google Play no parece lo más inteligente para un hax0RD del nivel de estos autores, así que la trola canta muchísimo, así que decidí descargarla y darle un vistazo. Primero una descompresión del APK, luego una extracción del código con dex2jar para sacar los ficheros .class y luego usando JAD y Show My Code a leer un poco el código de la app y para ver la magia.
Al extraer el código se podía ver que la parte del ataque SQL Injection la tenían en una rama completamente a parte, así que me fui a ver qué hacían por allí. La función que más me gustó fue esta de DoSomeTasks para tener entretenido al usuario de la app.
Figura 4: Función para hacer cosas |
Esta función se llamaba de vez en cuando con algunos retardos de tiempo para que se viera lo duro y cansado que era el trabajo de esta pobre app tratando de sacar la contraseña de la víctima.
Figura 5: Retardos de tiempo periódicos en la app |
Eso sí, la contraseña la saca, y la saca con emoción. Al estilo que buscan los periodistas cuando graban un reportaje para la tele. Visualizando la tensión poco a poco por pantalla. Primero intentando conectar una vez con mucha dificultad.
Figura 6: Tensión, se está intentando conectar a...¿a qué? |
Lugo intentándolo otra vez, para al final conseguirlo y poder sacar por pantalla la password de la víctima que esta appmágica va a sacar para el atacante.
Figura 7: Se conecta a la segunda... y ¿obtiene una password? ¿De dónde? |
Cuando sale la contraseña, se la saca de una variable que se llama Str. What? Str? ¿De dónde ha salido ese Str con una password? Había que encontrar ese Str, así que a buscar la variable por todo el programa. Y ahí está, es mágico.
Figura 8: Sacando la password como los magos de la tele |
Como se puede ver, lo único que hace es tirar un dado y sacar una contraseña Random para mostrársela al usuario y listo. ¡Eso sí es magia! Alguno podrá pensar que esto es una locura, pero... ¿no hacen esto los magos todos los días en los programas de consultorio de magia en la tele y son legales y pagan sus impuestos? Eso sí, por pantalla tiran comandos SQL para que se vea el SQL Injection.
Figura 9: Ahí está el SQL Injection... ¡escéptico! |
Lo cierto es que el ataque de Brute Force era similar, así que fui a capón en busca de la variable Str para ver cómo lo hacía en la otra rama del ataque, para ver que era exactamente el mismo juego de magia e imaginación.
Figura 10: El Str del Brute Force y las funciones de publicidad e Mobile Core |
¿Y todo por qué? Pues para monetizar el uso de la app con publicidad de Mobile Core, que no olvidéis que en la descripción de esta app se puede ver que tenía ya más de 10.000 descargas de usuarios que buscaban robar passwords de otros.
Figura 11: El mismo truco en versión desktop para Windows |
Por supuesto, el truco este de la app mágica para hackear Faceook existe también en versión escritorio, e incluso hay un vídeo demostrativo de FaceHacker 2014 que demuestra como se obtienen las passwords. Unos crack de los efectos especiales en vídeo.