10.01.2020

Pentesting Mobile 101: Controlando de manera remota un Dispositivo Android con Scrcpy

Durante estos meses aprendí mas sobre el análisis de aplicaciones móviles específicamente con Android, iOS aun falta conocer mas sobre su arquitectura.
 

 
 

Aprendí un poco mas de Frida, el proceso de realizar un debugging de la app para conocer sus diferentes métodos, clases y llegar a dar con algún control que anda molestando como ser Detección de root, o Certificate Pinning, sin olvidarme de Burp Suite, que por cierto estaremos  compartiendo en el blog en una nueva serie de Pentesting Mobile 101 con el fin de que todo aquel que inicie y conozca tenga una visión más clara  y poder tener un

Durante las pruebas estaba utilizando dos dispositivo móviles que tengo en casa un Samsung S6 y un Xiaomi el primero rooteado y el segundo como vino de fábrica, además de usar dos emuladores AVD y Genymotion.



En este proceso me tope con algunos problemas entre los cuales estaba que el cable desenchufaba, o sucedía alguna torpeza lo cual llevaba a volver a  interrumpir el proceso que me encontraba realizando, en la búsqueda llegue a Srcpy, que es el motivo de esta entrada.

Que es Srcpy

Srcpy es una utilidad que permite realizar un mirroring y controlar el dispositivo móvil, utilizando un modelo cliente, servidor a través de una conexión sobre USB o  TCP/IP. 

Una de las características mas importantes a mi parece es que no se requiere contar en ningun momento con acceso root.

Multiplataforma.

Es posible usarlo en Windows, Linux o Mac disponible en una gran mayoría de distribuciones de linux, basta con instalarlo desde el gestor de paquetes o utilizar su paquete de snap. 
 

En el siguiente enlace se puede ver los diferentes repositorios para la instalación. Scrcpy Repositorio

Requisitos

Los requerimientos para el uso de la herramienta son:
  • Android 5.0 o superior.
  • ADB habilitado.

A continuación veremos algunos comandos que pueden ser útiles. 

Grabar la pantalla 

Iniciamos el mirroring ejecutando srcpy y directamente nos brindara el mirroring  en el caso de contar con mas de un dispositivo conectado en el equipo por cable, debemos de usar el comando -s y el SERIAL del dispositivo. 

Para ver el serial podemos utilizar adb con el comando devices. 


Snifer@L4bs:$ scrcpy #Iniciamos el mirroring. 
Snifer@L4bs:$ scrcpy -s SERIAL_DISPOSITIVO #Para conectarnos a un dispositivo en especifico.  
En la siguiente captura tenemos dos dispositivos realizando el mirroring. 


Grabar la pantalla 

Otra de las opciones que tenemos es realizar una grabación con los siguientes comandos, aclarando que desde ADB también podríamos realizar un mirroring como también grabar la pantalla. 
Snifer@L4bs:$ scrcpy --record Video.mp4
Snifer@L4bs:$ scrcpy -r Video.mkv 

Conexión por Wireless

La conexión por Wireless es la que hizo que me olvide por completo de los cables, o eso creo, a veces toca aún hacer uso de un par de ellos.
Snifer@L4bs:$ adb tcpip 5555
restarting in TCP mode port: 5555
Snifer@L4bs:$ adb connect 192.168.0.233:5555 #Necesitamos saber la dirección IP del teléfono.
connected to 192.168.0.233:5555
Después de hacer el proceso solo queda ejecutar scrcpy y tendremos el mirroring del dispositivo.
Snifer@L4bs:$ scrcpy
INFO: scrcpy 1.16 
/usr/local/share/scrcpy/scrcpy-server: 1 file pushed. 0.2 MB/s (33622 bytes in 0.211s)
[server] INFO: Device: Xiaomi MI 8 Pro (Android 10)
INFO: Renderer: opengl
INFO: OpenGL version: 4.6.0 NVIDIA 435.21
INFO: Trilinear filtering enabled
INFO: Initial texture: 1080x2248 
 En este caso tenemos visualizando el dispositivo.

 
 
 
Conoces alguna otra utilidad que nos permita realizar esta tarea? Nos vemos en la próxima entrada del blog o en el podcast.


«No puedes adquirir experiencia haciendo experimentos. No puedes crear la experiencia. Debes experimentarla» - Albert Camus


Regards,

Snifer

Compartir:

0 comentarios:

Publicar un comentario

Hola visitante! deja tu comentario sobre la entrada no spam!