hacktricks/mobile-pentesting/android-app-pentesting/react-native-application.md

4.8 KiB

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Análisis de Aplicación React Native

Para confirmar si la aplicación fue construida con el framework de React Native, sigue estos pasos:

  1. Renombra el archivo APK con una extensión zip y extráelo a una nueva carpeta usando el comando cp com.example.apk example-apk.zip y unzip -qq example-apk.zip -d ReactNative.

  2. Navega a la carpeta ReactNative recién creada y localiza la carpeta assets. Dentro de esta carpeta, deberías encontrar el archivo index.android.bundle, que contiene el JavaScript de React en formato minificado.

  3. Utiliza el comando find . -print | grep -i ".bundle$" para buscar el archivo JavaScript.

Para analizar más a fondo el código JavaScript, crea un archivo llamado index.html en el mismo directorio con el siguiente código:

<script src="./index.android.bundle"></script>

Puede subir el archivo a https://spaceraccoon.github.io/webpack-exploder/ o seguir estos pasos:

  1. Abra el archivo index.html en Google Chrome.

  2. Abra la Barra de Herramientas para Desarrolladores presionando Command+Option+J para OS X o Control+Shift+J para Windows.

  3. Haga clic en "Sources" en la Barra de Herramientas para Desarrolladores. Debería ver un archivo JavaScript que está dividido en carpetas y archivos, formando el paquete principal.

Si encuentra un archivo llamado index.android.bundle.map, podrá analizar el código fuente en un formato no ofuscado. Los archivos de mapa contienen mapeo de fuente, lo que le permite mapear identificadores ofuscados.

Para buscar credenciales sensibles y puntos finales, siga estos pasos:

  1. Identifique palabras clave sensibles para analizar el código JavaScript. Las aplicaciones de React Native a menudo utilizan servicios de terceros como Firebase, puntos finales del servicio AWS S3, claves privadas, etc.

  2. En este caso específico, se observó que la aplicación estaba utilizando el servicio Dialogflow. Busque un patrón relacionado con su configuración.

  3. Fue afortunado que se encontraran credenciales codificadas sensibles en el código JavaScript durante el proceso de reconocimiento.

En general, siguiendo estos pasos, puede analizar una aplicación de React Native, confirmar su marco y buscar información sensible potencial dentro del código.

Referencias

Aprenda AWS hacking de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks: