miércoles, 18 de enero de 2017

Fallible.- Destripa las APPs de Android

¿Confiáis en todas las aplicaciones que instaláis en vuestros smartphones desde Google Play? Pues muy mal echo. Hoy os voy a recomendar Android Fallible una herramienta que nos permite buscar o subir una App y la destripa para que sepamos que dependencias tiene que strings raros en XML utiliza, etc.  Todos esos datos curiosos que nos pueden hacer sospechar de la actividad de una APP


Pongamos por ejemplo que nos gusta mucho el Clash Royale y queremos hacernos con una guía. Así que buscamos una cualquiera la instalamos y funciona, no pasa nada raro solo un poco de publi pero podemos consultar cartas y mazos. Ahora la pasamos por Fallible y vemos lo siguiente: 


¿Una API Key para el servicio Baidu Maps? ¿Para un servicio Chino de geolocalizacion y planificación de rutas? ¿En una guía de un videojuego? Aquí tenéis mas info:

Como veis a veces hay muchos secretos dentro de las App de Google Play. Aquí tenéis el enlace a la herramienta y espero que la uséis un montón: 

Sed Buenos ;) 

martes, 17 de enero de 2017

McDonals, Contraseñas, XSS y AngularJS

Mucho tenemos en la cabeza que un  [Cross Site Scripting] esta catalogado entre las 10 los ataques mas frecuentes y por eso creo que se ha hecho una con nosotros y hemos ido perdiendo la noción de lo importante que puede ser esta vulnerabilidad si no la defendemos como es debido. 


Por ejemplo tenemos el caso de [Tijme Gommers] que al conectarse a la Wifi de un McDonals no se pudo quedar quieto y tubo que trastear. De esta manera encontró que la aplicación web donde nos redirigen la primera vez que nos conectamos, estaba hecha con AngularJS y sabiendo que utiliza una versión anterior a la 1.6, una versión que por lo que se ve tiene varios fallos de seguridad en su sandbox y que algunos se arrastran hasta las versiones mas nuevas (1.6.1 creo recordar), consigue bypassear la sanbox y ejecutar un .js a través de un Cross Site Scripting reflejado. 

Como datos curiosos: 
  • Comando para ver la versión de AngularJS:
    • angular.version
  • Payload con el que consigue el ataque en el parametro q: 
    • {{x = {'y':''.constructor.prototype}; x['y'].charAt=[].join;$eval('x=alert(1)');}}
No voy adelantaros mas sobre el Diclosure y os recomiendo muchísimo que leáis la entrada y al menos yo, me voy a apuntar este workaround porque puede ser muy instructivo.
Sed Buenos ;)