Todo depende de la aplicación en sí y del tipo de medidas de seguridad implementadas. Suponiendo que las solicitudes se envíen a través de HTTP (s), la forma más sencilla es usar un proxy como Burp. Deberá instalar un certificado de CA en su dispositivo móvil. Podrás ver las solicitudes & Respuestas en el software proxy (Burp).
APP <----> proxy <----> server
Si la aplicación está usando la fijación SSL / TLS, entonces la solución anterior no funcionará de la caja. Algunas funciones realizarán verificaciones adicionales en el certificado, tendrá que manipular dichas funciones para evitarlo. En general, hay dos formas:
- Parchea la aplicación para eliminar el pineo SSL / TLS. Esto generalmente requiere desempaquetar, editar, volver a empaquetar y renunciar a la aplicación. Bastante fastidioso si me preguntas.
- Enganche la lógica de anclaje SSL / TLS y deshabilite dicha lógica. Frida es una herramienta muy buena para esto (multiplataforma), Substrate en iOS y xposed en Android.
¡Una segunda solución es no usar un proxy en absoluto! Normalmente, se utiliza una biblioteca de cliente HTTP para realizar dichas solicitudes. Puede enganchar las funciones de solicitud HTTP e imprimir el contenido directamente.
APP <----> server
^-> hooked functions which prints the requests
La segunda solución puede ser útil cuando la aplicación no está utilizando solicitudes HTTP estándar. Algunas aplicaciones utilizan protocolos binarios como un gRPC, sería más fácil enganchar la función myclient_post(jsonData)
e imprimir los parámetros + respuesta, que aplicar ingeniería inversa al protocolo binario, configurar un proxy, etc. ...
Algunos enlaces que podrían ser útiles:
- Instale burp CA en Android: enlace
- Instale burp CA en iOS: enlace
- módulo xposed de Android que omite alguna lógica de anclaje TLS / SSL estándar: enlace
- Igual que el anterior pero para iOS usando el sustrato Cydia: enlace
- Frida: enlace , fragmentos de código: enlace , bypass ssl de android: enlace , ios ssl bypass: enlace
- Explicación del certificado del certificado: enlace
- Cuando te metes en escenarios avanzados: enlace (un puente entre Frida y Burp)