Tráfico HTTPS de app Flutter con Burp usando Genymotion PaaS

Facebooktwitterlinkedinmail

En esta entrada vamos a ver como podemos capturar tráfico HTTPS de una aplicación creada con Flutter con Burp Suite montando una imagen en AWS de Genymotion PaaS. Esto nos será de mucha utilidad en pentests de aplicaciones móviles creadas en Flutter.

La aplicación utilizada es una creada específicamente para esta entrada y que podéis encontrar aquí.

Para poder capturar tráfico HTTPS con Burp Suite generado desde aplicaciones móviles, por norma general, necesitamos añadir el certificado de Burp Suite al móvil como certificado confiable.  En versiones anteriores a Android Nougat esto era simple, podíamos descargar el certificado y añadirlo como certificado cliente tal y como se explica aquí. A partir de Android Nougat, las aplicaciones ya no confían, salvo que se configuren expresamente, en los certificados añadidos por el usuario y es necesario añadir los certificados al almacén del sistema.  Desde Android 10, no es posible montar la partición /system como lectura/escritura y esta no se puede modificar incluso como root, lo que complica más las cosas. De todos modos, aquí se indican varios métodos para poder añadir certificados al almacén del sistema.

El problema que nos encontramos es que las aplicaciones creadas con Flutter ignoran los certificados tanto de usuario como de sistema. Por lo tanto, pese a que añadamos nuestro certificado de Burp Suite como confiable, no seremos capaces de capturar tráfico HTTPS de una aplicación flutter con Burp. Además, para hacer esto aún más difícil, este tipo de aplicaciones ignoran las configuraciones del proxy. Así que si configuramos el proxy como se indica en este artículo, la aplicación no enviará el tráfico al proxy.

Leer más

Configurando HTTPS en servidores Apache en CentOS

Facebooktwitterlinkedinmail

El cifrado de las comunicaciones es imprescindible para evitar que nadie pueda ver los datos que se envían entre cliente y servidor, especialmente si entre estos datos se envía información sensible como contraseñas.  Por esto, en este post se explica de forma breve como configurar HTTPS en un servidor Apache de forma gratuita gracias a Let’s Encrypt.

En primer lugar vamos a ver que es una autoridad de certificación(Certification Authority o CA) y un certificado digital. Una autoridad de certificación es un entidad de confianza que emite y revoca certificados digitales, estos certificados son reconocidos por los navegadores web u otros clientes/servicios y se usan para verificar la identidad del servicio o del recurso consultado.  Estas son un elemento básico en una infraestructura de clave pública o  PKI ya que aseguran que la clave pública de un usuario es realmente suya.

Tras esta introducción vamos a pasar a generar los certificados digitales que después configuraremos en el servidor. Para esto usaremos el cliente recomendado por Let’s Encrypt certbot.

Para CentOS , debido a que algunas dependencias de certbot no están disponibles en los repositorios estándar, deberemos habilitar el repositorio EPEL:

yum install epel-release

Descargamos certbot-auto:

wget https://dl.eff.org/certbot-auto

Damos permisos de ejecución:

chmod a+x certbot-auto

Leer más