Solucion artesanal para el problema de los USSD en Android

Iniciado por jdc, 26 Septiembre 2012, 03:37 AM

0 Miembros y 1 Visitante están viendo este tema.

jdc

Primero mencionar que hace algunos dias se descubrio una vulnerabilidad para algunos celulares con Android (Ojo que cualquier celular que ejecute codigos USSD podria ser vulnerable), como lo menciono oPen syLar aqui:


http://foro.elhacker.net/bugs_y_exploits/ussd_samsung_galaxy_vuln-t371946.0.html

¿En que consiste la vulnerabilidad?

Los codigos USSD son los de tipo *#06#, *#7770# o similares. La querida Web Mobil nos permite usar la etiqueta tel:98778965 por ejemplo para que pongamos en nuestras webs, el numero de nuestras empresas o nuestros numeros. Se supone que esto deberia abrir la aplicacion de marcado de telefonos en nuestro celular con el numero listo para apretar "Llamar" y realizar la llamada. El problema es que algunos celulares en vez de hacer esto, directamente realizan la llamada. Al combinar los codigos USSD y la etiqueta TEL es donde viene el problema.

elbrujo posteo hace un tiempo una lista de codigos secretos para Android aqui:

http://foro.elhacker.net/android/codigos_ocultos_secretos_en_android-t333373.0.html

Estos son codigos USSD, si ven la lista, pueden ver que si combinamos codigos USSD mas la etiqueta TEL podriamos desde mostrar inocentemente el numero de IMEI, hasta formatear el cel. Lo grave de esto es que no se requiere ninguna accion del usuario mas que la de entrar a un enlace.

¿Mi telefono es vulnerable?

Si quieres saber puedes entrar a este enlace desde tu telefono:


http://infodroid.net/test.html

Si lo prefieres, crea un HTML y lo pones en tu servidor, con lo siguiente:

Código (html4strict) [Seleccionar]

<html>
<head>
<title>Bug Test
</title>
</head>
<frameset>
  <frame src="tel:*%2306%23" />
  </frameset>
</html>


Despues de entrar verifica esto:

Si te aparece "tel:*%2306%23" No eres vulnerable
Si te aparece la aplicacion de llamar con *#06# listo para llamar. No eres vulnerable
Si te aparece tu IMEI eres vulnerable

Solucion si eres vulnerable:

Primero tengamos en cuenta que esto es un error de diseño en multiples celulares, requeriria una actualizacion masiva para corregirlo y esto no pasara... Asi que una solucion parche podria ser:

1) Instalar Opera Mobile https://play.google.com/store/apps/details?id=com.opera.browser (Pueden probar tambien otros navegadores y ver si los protege o no, si gustan lo dejan en un comentario y asi todos sabemos ñ_ñ)
2) Dejar opera Mobile como navegador por defecto.

Con esto la etiqueta tel no se ejecuta y solo veremos %2306%23 al abrir un enlace que podria ser malicioso.

Saludos, espero que les guste la solucion, si se les ocurre algo mas elaborado o menos artesanal lo dejan por aqui. :)




EFEX

GITHUB 

jdc

Samsung acaba de lanzar una actualizacion que soluciona esto (a 3 dias de conocido el problema WOW!)

http://androidayuda.com/2012/09/26/samsung-solventa-el-fallo-de-seguridad-del-galaxy-s3-con-actualizacion/

Ojala todos los fabricantes fueran asi, aunque Samsung solo parcheo el S3 siendo que la linea Galaxy es la mas vulnerable...

ukraniano

Hola, he probado el fallo en mi galaxy S i9000 y funciona pero a la segunda vez. Me explico:
he alojado un html con el iframe y el código maligno en dropbox. Ese enlace es público y puede ser accedido por cualquiera. Pues al pinchar en el enlace no funciona, me aparece el código *#06# listo para llamar. En cambio si vuelvo a pulsar por segunda vez en el enlace ya sí que funciona y me muestra el imei. Todas las siguientes veces que le de me lo sigue mostrando. Si reinicio el móvil a la primera no funciona y el resto de veces sí.
Todo ello con el navegador de serie. A qué se debe?

jdc

Hola, DropBox no es un servidor web, te recomiendo probar con un servidor web o poniendo el html directo en tu celular. Probablemente la primera vez sólo se baje el archivo, las siguientes sólo se ejecute desde caché o desde el archivo bajado.

Graphixx

Seria interesante que pusieran el QR que formatea el movil jejejejjejejeje  ::) :laugh:
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog