Al finalizar la práctica, serás capaz de:
dex2jar
y jd-gui
para extraer y examinar datos internos que puedan exponer información sensible o accesos no autorizados.Paso 1. Ejecuta el archivo BlueStacksInstaller_5.21.111.1002_native_dc6b14c4d9f7b1785bcc5c837e88652a_MzsxNSwwOzUsMTsxNSw0OzE1.exe
, el cual se encuentra en la carpeta de archivos del laboratorio 4.
Paso 2. Haz clic en Install now
, botón que se muestra a continuación:
Paso 3. Después, haz clic I agree
, el cual es el botón que se muestra a continuación:
Paso 4. Posterior a completar la instalación, espera a que se inicie BlueStacks, tal como puedes observar en la siguiente imagen:
Paso 5. En el panel derecho, dirígete al ícono del Administrador de instancias múltiples
.
Paso 6. Selecciona Stop
en el reproductor de la aplicación BluStacks y haz clic en Close
.
Paso 7. Da clic en Instance
y, posteriormente, en Fresh instance
.
Paso 8. Elige la versión de Android seleccionando la Nougat 32-bit
y da clic en Next
.
Paso 9. En CPU cores
selecciona Low(1 Core)
y en asignación de memoria, Standard (2 GB)
. Finalmente, haz clic en Download
.
Paso 10. Después de completar la descarga, selecciona Start
en la instancia creada (la que usa Nougat 32-bit
).
Paso 11. Elimina la instancia creada por defecto. Para ello, selecciona el ícono de eliminar y, cuando aparezca la confirmación, haz clic en Delete
.
Paso 12. En el panel derecho, haz clic en el ícono de Configuración. Luego, selecciona Phone
y elige la opción Choose a predefined profile
. A continuación, selecciona Samsung Galaxy S10
y haz clic en Save changes
. Finalmente, ve a la sección Advanced
, habilita la opción Android Debug Bridge (ADB)
y guarda los cambios haciendo clic en Save changes
.
Paso 13. Accede a la carpeta C:\ProgramData\BlueStacks_nxt
y abre el archivo buestacks.conf
con un editor de texto. Para hacerlo, haz clic derecho sobre ese archivo y selecciona la opción Edit with Notepad ++
. Una vez dentro, localiza la línea 102: bst.instance.Nougat32.enable_root_access=”0”
. Cambia el valor de 0
a 1
. Finalemnte, guarda los cambios.
Paso 14. Reinicia tu computadora para que los cambios se actualicen.
Paso 15. Abre BlueStacks Multi-Instance Manager
.
Paso 16. Da clic en Start
.
Paso 17. Abre la carpeta Lab 04 - Mobile Security
y extrae el archivo de la aplicación que se utilizará. Para hacerlo, haz clic derecho sobre diva-beta.tar.gz
y selecciona la opción Extract files
.
Paso 18. Haz doble clic en la aplicación diva-beta.apk
para abrirla.
Paso 19. Toca o haz clic en el ícono de la aplicación DIVA para iniciarla.
INSECURE LOGGING
.Paso 20. Abre una terminal y escribe el siguiente comando:
adb root
Paso 21. Escribe el comando siguiente en la terminal:
adb devices
Verifica que el resultado correspondiente a emulator-5554
sea device
.
Paso 22. En la terminal, escribe el siguiente comando:
adb shell
Luego, ingresa el comando:
su
Paso 23. En la aplicación DIVA, navega a la sección INSECURE LOGGING
.
Paso 24. Antes de ingresar un número de tarjeta de crédito ficticio, escribe el comando logcat
en el símbolo del sistema.
Paso 25. A continuación, ingresa los números de una tarjeta de crédito ficticia en la aplicación.
Paso 26. Lo que es capturado por los registros del comando, haciendo que esta sea expuesta.
HARDCODING ISSUES - PART 1
.Paso 27. Regresa al menú principal de DIVA e ingresa a la sección HARDCODING ISSUES - PART 1
.
Paso 28. A continuación, ve al archivo de la aplicación diva-beta.apk, haz clic derecho sobre él y selecciona la opción Rename
. Cambia la extensión del archivo de .apk
a .rar
.
Paso 29. Acepta los cambios realizados.
Paso 30. Extrae los archivos.
Paso 31. Accede a la carpeta extraída y corta el archivo classes.dex
.
Paso 32. Regresa a la carpeta Lab 04 - Mobile Security
, extrae el archivo dex2jar-2.0.zip
y accede a la carpeta extraída.
Paso 33. Dentro de la carpeta extraída de dex2jar-2.0
, pega el archivo classes.dex
que cortaste anteriormente.
Paso 34. Abre una nueva terminal e ingresa a la ruta donde pegaste el archivo classes.dex utilizando el comando cd seguido de la ruta. Por ejemplo, ingresa:
cd C:\Users\Netec\Desktop\Lab 04 - Mobile Security\dex2jar-2.0
Paso 35. Ejecuta el siguiente comando:
d2j-dex2jar classes.dex
Paso 36. Ahora podrás ver el archivo classes-dex2jar.jar
.
Paso 37. Abre jd-gui
.
Paso 38. Abre el archivo que se convirtió anteriormente dentro de la GUI.
Paso 39. Abre jakhar.aseem.diva
.
Paso 40. Selecciona HardcodeActivity.class
. Ahí podrás encontrar la clave vendorsecretkey
y el mensaje “Access granted! See you on the other side :)”.
Paso 41. Escribe la contraseña obtenida en DIVA.
INPUT VALIDATION ISSUES – PART 1
.Paso 42. Regresa a DIVA y abre la sección INPUT VALIDATION ISSUES – PART 1
.
Paso 43. Ingresa el comando de ataque:
' OR '1' == '1
INPUT VALIDATION ISSUES – PART 2
.Paso 44. Abre la sección INPUT VALIDATION ISSUES – PART 2
.
Paso 45. Verifica que puedas acceder a conexiones ingresando https://www.google.com
.
Paso 46. Una vez verificado el acceso, es posible obtener el contenido del archivo de configuración llamado hosts, el cual se encuentra en el directorio /etc en sistemas operativos tipo Unix/Linux. Para ello, coloca la ruta file:////etc/hosts
y haz clic en VIEW
.
ACCESS CONTROL ISSUSES - PART 1
.Paso 47. En DIVA, ingresa a la sección ACCESS CONTROL ISSUES – PART 1
.
Paso 48. Abre una nueva terminal y escribe el siguiente comando:
adb root
Paso 49. Escribe el comando
adb devices
Verifica que el resultado correspondiente a emulator-5554
sea device
.
Paso 50. Escribe el siguiente comando:
adb shell
Luego, ingresa el siguiente comando:
su
Paso 51. Ejecuta el siguiente comando en el símbolo del sistema:
logcat
Paso 52. En DIVA, haz clic en VIEW API CREDENTIALS
.
Paso 53. Verás la credencial de la API tanto en la aplicación (proceso legal) como en la consola de comandos, donde aparecerá el nombre de la actividad.
Paso 54. Finalmente, abre una nueva terminal y ejecuta el siguiente comando para ver la información:
adb shell am start -n jakhar.aseem.diva/.APICredsActivity