Your entire SDcard in my webhost ~ Proof Of Concept

Note: I do not care if you want to share or translate the document, but please, quote me ;) . Thanks!

Brief

I have developed a Application for Android which stoles the File List of the SD-Card of the victim.

I do not use any kind of special trick. That is the real problem.

What does the exploit need?

It only needs “Internet” permission, so it is very easy to use in malicious apps (and persuade the user to get into the trap).

How it works…

You can read by DEFAULT the files in the SD-Card, so you only have to read them and send into Internet. I have deployed a webservice in a webhost that I can manage to do this PoC.

Download it here: (pname:poc.SDCard)Proof of Concept - Stealing SD-Card with an Android application

Why am I doing it?

Because I care about your security. I want you that you will experiment HOW EASILY it is. And then…

1) Think twice what kind of information you have in your SDCard

2) Think twice what apps you allow :) The 90% of apps use the “Internet” permission.

Where is the real problem?

The problem is that the Google Developers have say: “Do not store sensitive information into your SDCard! only shared data!” … but the application developers (like Dropbox, whatapps, your camera, …) does not care a bit and they save your files there.

First, the application developers SHOULD care about you. And second, you should care about YOURSELF. If they do not care about you, do not use them.

Can you show us the source-code?

Main function: (yeah… too easy)


private void getFiles(File F) {
 for (File t : F.listFiles()) {
  DATA.add(t.getAbsolutePath()+"\n");
  if (t.canRead() && t.isDirectory()) {
   getFiles(t);
  }
 }
}

Are you storing my data with this App??

Calm. I am only sending your File List (it is a slow app… I know… I did not use Threads) to my webhost. I do not want your data (I could have send it too :P ). I promise you that I am going to remove all the uploaded files of the webhost… BUT…. you can delete it too. Just click the button that appears in the app.

Argg!! It goes really slow…

Yes, I know. It gets the list of files, it is put in a string, it is sent to the webhost, and then it shows you the screen…

I promise it works… so start deleting all your data of the SDcard right now ;-) .

Special Note: Do you use CyanogenMod or another custom Rom? They save by default a backup of your data as *.img files. Do you know that they contain ALL YOUR DATA OF YOUR ACCOUNTS? It is overLOL!…(this image was taken when I was coding the app…)

cyanogen-mod backups in *.img files

Conclusion

Any application that you have stored could do it. I hope you will learn something about it. Use a sniffer to know what the fuck your apps are sending… (yeah… they could send the data by a SSL channel).

Greets!

and if you have any question, contact me, of course!!

Note: If you see any spell mistakes, you can say me it. I would appreciate it ;) . Thanks!

[SmartPhone] Chinese H6 (4 de 4)

El 10 lo recibo, el 14 ya me lo he cargado. Como se dice técnicamente, “lo he brickeado”.

- What The Fuck!

Resulta que estuve recopilando herramientas, roms, recoveries, recompile la 2.2.1 (froyo) del repositorio generico, mire como se dividia el sistema de imagenes interno, cogi root del  terminal, hice backups, y bueno, me decidi a reempacketar el `recovery.img´ y `boot.img´.

Iba a empezar por el recovery, pero no se porque, leí que si añadías una imagen `.rle´ como `initlogo.rle´ al boot.img, descompilando y recompilandolo, pues tenias tu imagen en el bootloader. (Más tarde recapacitaría y vería que esta se encuentra en una partición aparte, llamada “logo”, jeje.)

Este proceso de repacking, me dio algunos problemas con las tools del `Android Kitchen´, pero pude hacerlo manualmente con un editor hexadecimal y tenía buena pinta. Debía haber ya intuido algo malo, pero fui muy inocente.

- Entonces, ¿has intentado recuperarlo?

Sí, durante muchas horas, desde ayer, estoy intentándolo recuperar. Lo primero que intente es ir a través del recovery, (tecla volumen + mientras se enciende). Resulta que sólo hay una rom que parece que funcione, todas las demás abortan al instante. Esta que digo que parece, mueve un poco la barra de progreso (supongo que lo unico que hace es descomprimir el zip) y aborta también. Sin mensajes de error. Sin poder acceder al modo Factory (tecla volumen – mientras se enciende). Sin poder acceder al adb.

La solución que hay, y por eso los chinos la hablan tanto, es a través del cable USB-Serie. El manual ya lo colgué anteriormente, ahora dejadme pasaros el thread más interesante de los rusos que comenta como flashear desde 0 (¡¡son tan bestias que se han montado el cable a mano!! ¡olé por ellos!): http://forum.china-iphone.ru/viewtopic.php?f=31&t=10523

Esto me ha dado a descubrir algún nuevo foro que hablan de temas de electrónica (de MediaTek y sus circuitos, etc), y hasta un thread en XDA-Developers: http://forum.xda-developers.com/showthread.php?t=888884

¿Y porque no funcionan los recovery?

Tiene que ver mucho con la firma de los `update.zip´ que puedes pasarle al recovery, pero he intentado de mil maneras y no es posible.

Por lo visto, he escuchado que hay gente que hizo el “resetear a valores de fabrica” y se han quedado con el firmware corrupto o sin poderlo encender. Esto significa que el móvil, no esta pensado para “recuperarse desde casa”, y a cualquier mínima acción, peta.

La gente en XDA esta teniendo problemas también con el `recovery.img´.

¿Conclusiones?

Dado que a todo peta, hacer cosas a nivel de developer, esta muy jodido. Si hace nada os decia que este móvil era idioneo para gente que queria trastear, lo retiro, a excepción, de tener el clave PL-2303<>Jack (el usb-serie raro, llamado “universal manufacturer brush cable” o algo así) -> http://item.taobao.com/item.htm?id=8601529550

Pobre…

:-( . Seguramente intente pillarme alguna ganga decente por ebay para el día a día, y de mientras intentar conseguir este cable. De ser así, podre cargarmelo sin más preocupaciones (bueno, he leído que es posible que petes el móvil si le cambias la radio con esto).

—Para cualquier duda, ya sabéis donde contactar!—

Y eso es todo amigos. Después de prepararme una máquina virtual con todo lo referente a Android, me quedo en ascuas, jeje (rio por no llorar). ¡Pero tranquilos, ya habrá más temas guapos!

[Original -> March 15, 2011]

[SmartPhone] Chinese H6 (3 de 4)

Resulta que si escribimos el código: *#*#3646633#*#* en vez de un número de telefono, el terminal entra a la aplicación EngineerMode. Esta app esta creada por los de MediaTek y te permite configurar cosas extra del teléfono. Seguramente después de analizar todos los APKs del sistema encuentre más cosas ;)

[Original -> March 14, 2011]

[SmartPhone] Chinese H6 (2 de 4)

Después del post de hace 2 días, he conseguido algunos avances interesantes para compartir. Antes, dejadme compartiros una imagen de lo que lleva el pack que te envían.

 

Se puede ver desde “la caja” y el resto de componentes. El tamaño del móvil es casiii como un billete de 5€, y prestad atención al conector usb-cosaRara xD. También trae un puntero hiper-molon desenroscable para acertar mucho mejor en la pantalla.

Bien, resulta que en China este móvil, oficialmente llamado HTC Magic H6, que claramente es un fake del HTC, es como si fuera el Nexus One o el Galaxy S en España. En USA y resto del mundo, lo tachan de fake y no hay apenas info de ROMs y más tools. Pero allá es muy famoso, y como tal, hay un foro dedicado al tema http://products.mobileuncle.com/forum-232-1.html . Hasta en Rusia tienen un thread de bastantes páginas de él: http://www.forum.china-iphone.ru/viewtopic.php?f=22&t=7579

Me cree una cuenta en el foro chino, pero resulta que para bajarse los adjuntos, necesitas de postear cosas. Tardaré tiempo en recopilar toda la información, pero ya he conseguido a través de varios posts enterarme y bajarme algunos adjuntos.

Lo primero, decir que esta gente flashea las cosas por cable USB-Serie, conectado a la salida Jack del auricular. A partir de tener ese cable, más el que te entregan ellos, el USB-cosaRara, una secuencia especial entre ambos (sino lo brickeas), y con el programa `SP Flash Tool´, son capaces de descargar y cargar las ROMs. El manual lo podéis encontrar en:

MTK智能手机安卓系统刷机教程.doc

La herramienta `SP Flash Tool´, igual que algunas otras que me ha parecido ver, son oficiales de la gente de MediaTek (los que han creado el hardware), es decir, que el foro es de la misma gente que luego hace el release. Podeis encontrar 2 versiones de esa herramienta aquí:

(1.1029.00) A1-谷歌刷机工具SP Flash Tool v1.1029.00.rar

(1.1049.02) SP_Flash_Tool_exe_v1.1049.02.rar

Y finalmente, las ROMs. Encontre varias, cada una de fechas diferentes, pero todavía no he tenido ni tiempo ni huevos a probarlas. Os dejo todo un repertorio aquí:

20101022e1000klx2ATVFM背光默认最亮.rar

20101220_e1000_klx2(1).rar

20101224_e1000_klx2(2).rar (esta es la más nueva, y la que me vino por defecto :D )

- ¿Que es lo siguiente?

Me he propuesto varias cosas:

- Seguir investigando cosas del foro chino. Necesito descargarme todas las tools que han puesto. Habrá que postear xD (o robar alguna cuenta…).

- Ya he terminado de configurar una maquina virtual y he hecho un `make´del android original genérico. Ahora sería empezar a hacer la custom ROM, pero lo dejo para más adelante.

- Analizar lo que baje del foro chino, sus ROMs y demás, para descubrir si tiene malware alguna de esas herramientas. En la maquina virtual he creado todo un entorno de analisis forense. (¿Sabéis que todo esto empezó por el malware en Android? xD En un futuro montaré algo guapo si puedo)

- Tomarmelo con calma. Llevo 3 días sin parar con el móvil y, esta muy interesante, pero tengo otras cosas que hacer también :’(

Notas

- La batería, configurándolo bien, puede durar bastante. La cuestión es podar los servicios (bluetooth, wifi, gps, etc). A veces me marcaba al 100%.

- La wifi no me va nada fina. No se si es del modelo, del software o que. A veces conecta, otra veces no.

- En general, todo tiene defectos, pero el ratio calidad/precio es muyyy alto. El problema es: ¿la calidad es suficiente para ti?

Despedida

Lo dicho, cualquier duda, ampliación de información, etc. ¡ya sabéis como contactarme!

[Original -> March 14, 2011]

[SmartPhone] Chinese H6 (1 de 4)

El 23 de febrero pedí el móvil, el 10 de marzo lo he recibido. Es este móvil: http://www.chinavasion.com/smartphones/m1713genb/

Esa dirección es el sitio más barato que encontré de Internet, pero hasta recibirlo, no vi que se hacia llamar “H6” en vez de “eclipse”. No importa. Es un móvil chino: barato y cutre. Cutre, por lo que iremos viendo. Barato, porque me costo 94€ (+7€ de envío).

- ¡Quiero el móvil! ¿Qué hago?

Lo primero, pídelo allá (ni ebay ni nada). Paga con PayPal y selecciona de Courier el AirMail (HongKong Post). Es la más barata, la que más tarde llega, el peor tracking, pero la que menos problemas de aduana da. Pero antes, termina de leer.

El paquete en que te llega, es tal como describo: 6 cartoncITOS envolviendo el paquete (declarado por valor de 42.70 USD). No esperes sentirte como cuando desempaquetas un cacharro MAC, para nada. Las cosas estarán desordenadas y abiertas, la pantalla tendrá manchas, cuando enciendes el móvil no tienes pantalla de “configuración”, etc. Recuerda, es chino.

- Cuéntanos un poco del hardware…

De peso, tamaño y textura, esta muy bien. Es ligero como una pluma. La carcasa mola y su diseño es realmente agradable. Al menos por fuera. Por dentro, observas que lo que dice ser un puerto USB no lo es (por suerte te dan el cable conversor), la antena de la TV no coge ningún canal (no pasa nada), la pantalla es resistiva y da una sensación muy rara al principio (estaba acostumbrado a un Nexus One), y además esta hay que calibrarla un poco al principio, o no logras bajar las notificaciones de arriba. La cámara no son ni 2Mpx, pero echa las fotos rápidamente. Supongo que es cuestión de acostumbrarse a todo esto. Ahora mismo me siento bastantee agusto con su hardware (a excepción de lo que luego comentaré).

- Que empiece lo divertido. ¿Que tal el software?

Número de modelo: e1000_klx2 2010/11/24 5:24:44
Versión de Android: 2.2.1
Versión de banda base: MAIU.10A.W10.48, 2010/11/29 22:57
Versión kernel: 2.6.32.9, root@eric-desktop#1, Fri Dec 24 13:20:08 CST 2010
Número de compilación: ALPS.10Y.W10.48.p27.MP.V0

[Por lo que leí, lo llaman `Yusu´ como su nombre clave]

Bueno, al principio, te sulfuras bastante. La batería, si usas el teléfono, baja bastante rápido, pero en modo standby, apenas se nota (¡plas, plas! :$). La velocidad, no esta mal para ser un MT65xx/ARMv9/416Mhz, pero he probado el Angry Birds, y era mortal, aún así, para tareas normales, con un poco de paciencia se puede aguantar bien. El problema viene con el sistema operativo ¿Quien te dice que no lleva un virus/troyano/rootkit en la ROM/firmware actual? Hay muchas apps instaladas por defecto, y se pueden activar en cualquier momento, aprovechándose de los datos que se han introducido. Además, no se porqué, pero no ha querido conectarse al router con WPA (¡mekkk! ¡gran gran fallo!). La potencia de la tarjeta WiFi es también es bastante mala, lo cual empeora un tanto el dispositivo.

Bien, por eso, mi objetivo es conseguir quitar la ROM actual y ponerle una que sepa seguro que no tiene malware. Además, si la puedo optimizar, mejor que mejor.

- Mmm… ¿y se podrá conseguir?

Sí. No será nada fácil, y me costará tiempo. No he encontrado información por Internet, pero ya iré conseguiendo. Sí quieres ayudarme, aportar información o simplemente preguntarme más, usa mi correo de contacto ;-)

- Danos algo para empezar…

Sí, claro. El móvil es rooteable muy fácilmente, con el programa SuperOneClickv1.7-ShortFuse. Permite tanto rootear el terminal, como la Shell. A partir de ahí, podemos o sacar los datos con el DDMS de Eclipse, o podemos hacer volcados de las particiones en RAW (.img) a la /sdcard (done!). Con esto he conseguido ya muchísima información, pero necesitaré tiempo para analizarlo todo. El siguiente objetivo que tengo propuesto es ver como funciona el tema del recovery boot, y poder hacer un backup real a partir del `nandroid backup´ o algo así. Ya he visto que con el boton + y el encender se entra en este modo, pero las opciones son las básicas. Lo interesante será también analizar las apps que suministra MediaTek para su MT65xx, las cuales ya tengo en el backup, y poderlas poner al igual que los drivers para que funcione “el hardware imprescindible”. Quiero acabar recompilando el kernel de Android, pero me faltan muchos conceptos como el ZipAlign y otras cosas que he ido leyendo.

No se si por suerte o por desgracia, creo que quien hizo la ROM que lleva, lo dejo compilado en modo debug, porque no me parece normal que salten tantos mensajitos constantemente por el logcat. Mejor.

La dificultad reside en que todo lo que hay que hacer, es ingeniería inversa pura y dura, sabiendo que lo que se encontrará, no será lo más óptimo para la capa inferior. Una vez haya extraído suficientes datos, sepa como no brickearlo, etc. ya me embarcaré a crear la Custom ROM.

- Entonces, ¿lo recomiendas?

Sí eres un usuario básico que quiere usarlo día a día, no. Invierte un poco más y comprate por ebay un Samsung Galaxy S por ~350€. Tendrás una buena experiencia, una buena comunidad que te de soporte, sin sustos, etc. Si eres una persona como yo que tiene ganas de trastear con él, que se va a preocupar de optimizarlo, … pues sí. Realmente, por el precio que vale, es un GRAN móvil, lo que le falla la integración del hardware y el software. Me encantaría poder decir algún dia: “comprarte este móvil, sigue estos pasos, y ten algo bueno y fiable”. De momento toca esperar.

Os dejo esta dirección para que podáis tener información desde otro punto de vista, aunque esta en francés.

Y eso es todo de momento. Os recuerdo de usar el correo para cualquier tipo de duda :) .

— Un saludo a la gente de Barcelona-GTUG por haberme orientado —

[Original -> March 11, 2011]

Follow

Get every new post delivered to your Inbox.