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

64 lines
4.8 KiB
Markdown

<details>
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
# 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:
```html
<script src="./index.android.bundle"></script>
```
Puede subir el archivo a [https://spaceraccoon.github.io/webpack-exploder/](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
* [https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7](https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7)
<details>
<summary><strong>Aprenda AWS hacking de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si desea ver su **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulte los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtenga el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únase al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígame** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparta sus trucos de hacking enviando PRs a los repositorios de github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>