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:

9.21.2020

Pentesting Mobile 101: Configurando Genymotion para instalar aplicaciones ARM

En la entrada de hoy veremos como configurar el emulador Genymotion para que en este se pueda instalar aplicaciones ARM ya que este esta pensando unicamente para la arquitectura x86. 

Primero veremos que sucede cuando realizamos la instalación de un programa, en el caso de Genymotion es posible hacerlo de dos maneras. 

Instalación por medio de ADB

Si lo hacemos por medio de ADB el resultado que obtenemos es. 


Drag & Drop

Por otro lado al instalar con un drag and drop se tiene el mensaje de error. 


Si ejecutamos el comando adb shell getprop veremos que la arquitectura corresponde a x86.
 
adb shell getprop | grep abi                                                                                     
[ro.product.cpu.abi]: [x86]
[ro.product.cpu.abilist]: [x86]
[ro.product.cpu.abilist32]: [x86]
[ro.product.cpu.abilist64]: []

Instalación de ARM Translation

Para saltar esta "protección - limitación" es instalar el ARM translation en el repositorio de Github se tiene para Android 5, 6 y 7  en este caso el dispositivo que se tiene configurado en Genymotion es un Android 6 que es el dispositivo que regularmente utilizo en las pruebas.

Al descargar el fichero respectivo según la versión de Android que estemos utilizando, lo instalamos con un Drag and Drop teniendo el primer mensaje de la izquierda.

El siguiente paso es reiniciar el emulador, y verificamos la arquitectura del dispositivo.

adb shell getprop | grep abi                                                                               
[ro.product.cpu.abi]: [x86]
[ro.product.cpu.abi2]: [armeabi-v7a]
[ro.product.cpu.abilist]: [x86,armeabi-v7a,armeabi]
[ro.product.cpu.abilist32]: [x86,armeabi-v7a,armeabi]
[ro.product.cpu.abilist64]: []
En la próxima entrada estaremos abordando como instalar los Gapps Google Apps e identificar si una aplicación móvil los requiere para su funcionamiento. 

Además se tendrá un mapa mental en el repositorio de Github en cada rama o control que se ira adicionando formara parte de una entrada en el blog, teniendo las referencias necesarias para cualquiera que se sume a esta área.


«Quien no sea bello a los veinte años, fuerte a los treinta, inteligente a los cuarenta y rico a los cincuenta, no puede esperar ser todo eso después.» - Martin Luther. 
 
Regards,
Snifer
Compartir:

8.26.2020

Curso Burp Suite desde 0 - 7. Uso de Repeater y Tips

Retornando el curso de Burp Suite desde 0, con esta séptima parte donde vemos el uso de una funcionalidad muy utilizada al realizar procesos de auditoria y les hablo del Repeater. 
 



Realizamos las pruebas en la plataforma de Gruyere, explicamos algunos tips de uso de la función. 





Recordarles que estos videos estarán cada Martes o Miercoles en el canal entre las 8 y 10 GMT -4. Si deseas ver todas las entradas que se realizaron sobre Burp Suite tienes el siguiente Burp Suite.

Si te agrada el proyecto compártelo!

El espacio del blog en Telegram HackySec
Deseas apoyar al proyecto puedes hacer tu donación por Paypal: https://paypal.me/SniferL4bs
También tenemos un Patreon si te gustaría formar parte de el https://www.patreon.com/sniferl4bs


"Nunca es demasiado tarde para ser la persona que podrías haber sido." – George Eliot


Regards,
Snifer


Compartir:

8.09.2020

Password Cracking 101: Rompiendo hashes desde consola con dcipher

Dcipher es una utilidad desarrollada por k4m4 la cual permite realizar el (decrypt) descifrado de hashes desde la terminal creada en NodeJS.

Muchas veces cuando identificamos algún hash, queremos saber o conocer cual es, y además descifrarlo, para ello podemos usar algún servicio en linea o en este caso utilizar dcipher. Que en realidad utiliza servicios online para realizar la consulta de los hashes, utilizando los siguientes, quiere decir que si no se obtiene en texto claro la contraseña es porque en estos servicios no se encuentra.

Todo el proceso desde la comodidad de la terminal, ya que la forma de integrar con algún script en particular nos facilita, actualmente brinda el soporte a los siguientes tipos de hashes.

  • MD5
  • SHA1
  • SHA224
  • SHA256
  • SHA384
  • SHA512
  • RIPEMD320

Adicionalmente soporta encoding en base64 algo que con base64 -d no se pueda realizar.

Instalación

Para la instalación es necesario contar con nmp y ejecutar el siguiente comando.

[snifer@Kvothe]-[~] :~$ npm install dcipher-cli

 Despues de un momento ya contaremos con la herramienta instalada en el equipo lista para trabajar a continuación veremos el uso del mismo.

Uso

Para ver el menú de ayuda, como en toda herramienta tenemos la opción del help.

[snifer@Kvothe]-[~] :~$ dcipher --help
Ayuda de dcipher

Como nos indica su ayuda basta con ejecutar dcipher "hash" en las siguientes capturas vemos un par de ejemplos con la obtención del hash de manera exitosa.

[snifer@Kvothe]-[~] dcipher HASH

En caso de que no identifique el hash en ninguno de los servicios  tenemos el siguiente mensaje. 

La otra manera de realizar el proceso.

 [snifer@Kvothe]-[~] echo "HASH" | dcipher

Un pequeño ejemplo pasando un listado de hashes para automatizar el proceso.

Recuerda que el limite a todo lo que llegues a realizar lo pones tu mismo. Conocen alguna otra utilidad parecida? 

«La información es poder. Pero como con todo poder, hay quienes lo quieren mantener para sí mismos.»  Aaron Swartz

Regards,

Snifer

Compartir:

7.29.2020

Curso Burp Suite desde 0 - 6. Intruder Parte II - Explicando los diferentes tipos de payloads

La sexta parte del curso de Burp Suite desde 0, nos enfocamos en explicar los diferentes Payloads como trabajan, y de que manera nos permite ejecutarlos para automatizar ataques.





Realizamos las pruebas en la plataforma de Gruyere, teniendo con ello una primera toma de contacto, con los diferentes payloads.





Recordarles que estos videos estarán cada Martes en el canal entre las 8 y 10 GMT -4. Si deseas ver todas las entradas que se realizaron sobre Burp Suite tienes el siguiente Burp Suite.

Si te agrada el proyecto compártelo!

El espacio del blog en Telegram HackySec
Deseas apoyar al proyecto puedes hacer tu donación por Paypal: https://paypal.me/SniferL4bs
También tenemos un Patreon si te gustaría formar parte de el https://www.patreon.com/sniferl4bs


Gracias a: 4lexH4ck! que se convirtió en Patreon del proyecto.

"Todos piensan en cambiar el mundo, pero nadie piensa en cambiarse a sí mismo." - Alexei Tolstoi


Regards,
Snifer
Compartir: