Hola a todos!!
Hoy os traigo una tema bastante interesante.
Cualquiera que haya tocado o desarrollado un poco el tema Android, sabrá que existe una herramienta llamada Android Debug Bridge (ADB) la cuál sirve de gran utilidad cuando estamos desarrollando en Android. Esta herramienta se instala en PC y nos sirve de puente o conexión entre nuestro Android y el PC, haciendo que tengamos una ventana de comandos para poder trabajar directamente sobre nuestro smartphone.
Para conectar nuestro Android al PC podremos hacerlo de dos formas; por USB o por (y aquí viene lo interesante) TCP. Os enseñaré una herramienta bastante interesante en el que se puede explotar varias funcionalidades.
Para empezar a configurar nuestro Android tendremos que seguir una serie de pasos (que pueden variar ligeramente de un smartphone a otro). Por tanto, tendremos que ir a Ajustes -> Acerca del teléfono y una vez ahí buscar donde ponga “Número de compilación” y pulsa 7 veces seguidas. Hecho esto verás algo similar a la siguiente imagen.
¡Ya eres desarrollador! 😉
Ahora solo tendremos que ir a Ajustes -> Opciones de desarrollador y buscar la opción de “Depuración USB“; debemos de activar dicha opción. En caso de que nos aparezca un mensaje emergente confirmando, confirmamos.
Listo, ya tendremos nuestro Android preparado para jugar.
Vamos al PC, porque tendremos que instalar la herramienta ADB.
Para este paso, podremos irnos a la página oficial de Android y deberíamos de descargar el SDK Platform-Tools para nuestro SO. Dado que ADB está integrado en las Platform-Tools (junto con otras utilidades) tendremos que descargar el paquete. En el resto de Linux no sé si esta subido en el repositorio ADB (o Platform-Tools) pero si estáis en Kali, con solo hacer:
# apt-get install adb
Podréis instalar de manera sencilla y rápida la tool.
Listo, ya tenemos el PC y nuestro Android; vamos a conectarlos con USB.
Ahora solo tendremos que preguntarle a ADB los dispositivos que hay conectados.
Como se puede ver, ha reconocido nuestro Android conectado, pero no tiene autorización para hacer nada. En ese mismo momento aparecerá una confirmación de permitir el acceso en nuestro Android.
Tras aceptar, marcando la opción de permitir siempre a vuestro PC (el mensaje no volverá a aparecer cada vez que queramos hacer algo), si volvemos a preguntar a ADB por los dispositivos conectados volverá a aparecer nuestro Android, pero ahora aparecerá como “device“ en lugar de “unauthorized“.
A continuación, vamos a habilitar la opción para depurar mediante TCP.
Una vez habilitado la depuración TCP al puerto 5555 (por defecto), ya podremos quitar el cable.
Para poder conectarnos ahora, es necesario que nuestro Android tenga conexión a internet, en mi caso, al tenerlo conectado al WiFi, la IP asociada es la 192.168.1.37. (En este momento también aparecería una solicitud de permisos en el Android, si lo tenemos recordado, no aparecerá).
Ahora vamos a utilizar una herramienta de Zucccs llamada PhoneSploit que nos permitirá tener una capa de abstracción con nuestro Android, donde podemos hacer acciones interesantes.
Para poder conectarnos a nuestro Android, basta con usar las opciones que nos muestra.
Una vez conectado podemos usar una gran cantidad de opciones a nuestra disposición, por ejemplo lanzar la shell para interactuar con nuestro Android.
Además con la Shell, se podría acceder a los archivos de la SD, fotos y videos de la cámara, e incluso de Whatsapp, en definitiva en multitud de sitios. Si que es verdad, que si no somos root sería más dificil acceder a sitios restringidos, pero hay muchas cosas que se pueden sin ser root.
Además con PhoneSploit, por ejemplo, se hacer una captura de pantalla!
Como podéis ver, hay más opciones; como grabar la pantalla, instalar aplicaciones y demás. Por ejemplo, con el tema de las aplicaciones un atacante podría instalar una app maliciosa, de tipo bancaria por ejemplo.
Podríamos seguir eligiendo opciones, pero os dejo a vosotros probarlo!
Ahora que ya sabeis la de cosas que se pueden hacer, podéis pensar, ¿pueden hacer una captura de mi móvil y yo no me doy cuenta? ¿Pueden hacer todo eso con mi Android?
Pues es un tema delicado, lo cierto es que sí y no. Todo recae principalmente en si has concedido permiso al PC, sino, no se podría. Pero claro, ¿habéis pensado alguna vez cuando habéis comprado un móvil de segunda mano (si es que lo habéis hecho) si ya viene con las opciones de desarrollador activadas e incluso con la depuración USB? 😉
Sin pensar que hay productos (mayoritariamente chinos) tipo SmartBox TV que ya viene con la depuración por TCP activada por defecto. Sí, las SmartBox también.
De hecho, si miramos en Shodan y buscamos por “Android Debug Bridge“
Casi 13000 dispositivos Android ha encontrado Shodan que tienen la depuración por TCP activado, y solo hay que echar un vistazo rápido para ver que hay de todo tipo, incluso me atrevería que hay ¡hasta Smart TVs!
Podéis decir, vale pero tienen que aceptar la solicitud de permisos para emparejar el PC con el Android, sí, pero de casi 13000 dispositivos, ¿todos denegarían el acceso? ¿Quién no ha aceptado un mensaje cualquiera sin llegar a leerlo? Por estadística habrá bastantes! Por no decir que un atacante podría “bombardear” a solicitudes y no parar hasta que se acepte.
¿Será alguno de estos, uno de vuestros dispositivos Android?
Espero haberme explicado con claridad y que os haya gustado. Si queréis que siga comentando cosas de ADB & Android, solo tenéis que decirmelo y seguiré haciendo más de este tipo un poco más complejos/interesantes a nivel técnico. Sé que este post no ha sido muy ténico pero hay que variar también.
PD: También os recuerdo que el Allhacked incluido sus posts (incluido éste), están disponibles también en Inglés.
Nos vemos en el siguiente post! 😉
Happy Hacking!
Como ver si alguien instalo un app, o como ver si algun app corrupto en un celular comprado de segunda mano.