Hay 3 casos probables:
- La aplicación de Android establece otro proxy en sus solicitudes http, por lo tanto, evita el proxy del sistema y burpsuite.
- La aplicación configura sus controladores http para ignorar la configuración del proxy de Android y conectarse directamente al destino.
- La aplicación está utilizando un protocolo que no es http.
Si 1 o 2 es el caso , tendrás que usar Wirehark o técnicas de ingeniería inversa para encontrar los dominios con los que interactúa la aplicación, digamos xxx.com y yyy.org.
Luego tiene que usar adb shell para modificar / etc / hosts, asumamos que Burp está escuchando el 10.0.3.2, agregue las siguientes líneas a / etc / hosts:
10.0.3.2 xxx.com
10.0.3.2 yyy.org
Es posible que deba volver a montar la partición del sistema como "rw" para poder cambiar / etc / hosts:
mount -o rw,remount,rw /system
Luego, bajo burp proxy, configúrelo para que escuche en el puerto 80 y 443, luego en la configuración de cada uno de estos escuchas habilite " Opción de proxy invisible ", si hay tráfico http / https enviado por la aplicación, ahora podrá verlos / interceptarlos en burp.
Estamos haciendo que el dispositivo resuelva los nombres de dominio de la aplicación a la dirección de nuestro burpsuite. También podemos cambiar el DNS del dispositivo a nuestro servidor controlado que devuelve la dirección de burp para todas las solicitudes. Esta solución se queda corta si la aplicación se conecta directamente a direcciones IP en lugar de nombres de dominio. Si la aplicación utiliza protocolos no http, burpsuite no podrá captar el tráfico.