Skip to content

Flujo de Inspección HTTPS

SafeMode inspecciona tráfico cifrado usando un flujo local basado en mitmproxy.

Por Qué Hace Falta Interceptar HTTPS

Sin una CA local confiada no se puede inspeccionar payload para:

  • URLs de phishing
  • secretos expuestos
  • JavaScript sospechoso

Componentes Principales

  • CertificateManager: chequeo e instalación de certificado.
  • QtMonitorManager: ciclo de vida del proceso mitmproxy.
  • URLMonitorAddon: hooks request/response para análisis y bloqueo.

Secuencia Completa

  1. Arranque de app y validación de certificado.
  2. Usuario activa monitor.
  3. Se crea proceso mitmproxy y carga filtros.
  4. Se emite señal READY al abrir puerto.
  5. Se activa proxy del sistema.
  6. Tráfico del navegador fluye por mitmproxy.
  7. Se ejecutan hooks de bloqueo y análisis.

Comportamiento en Hook request

  • Detecta método y tipo de request.
  • Respeta paths de infraestructura crítica (/cdn-cgi/).
  • Aplica whitelist por defecto y de usuario.
  • Evalúa filtros.
  • Si bloquea, devuelve respuesta sintética 403 y corta conexión saliente.

Comportamiento en Hook response

  • Prioriza GET y contenido HTML/JS para análisis profundo.
  • Calcula TLSH cuando aplica.
  • Escanea secretos.
  • Evalúa patrones JS sospechosos y neutraliza según nivel.
  • Emite evento normalizado a la cola UI.

Fronteras de Confianza

Confiar CA local implica visibilidad local de payload HTTPS.

Propiedades:

  • Procesamiento local.
  • Sin dependencia cloud obligatoria en esta arquitectura.
  • Controles explícitos de encendido/apagado.

Límites:

  • Apps con certificate pinning pueden fallar o bypass.
  • Tráfico que no usa proxy de sistema puede quedar fuera de inspección.

Inventario de Archivos CA (~/.mitmproxy)

Archivos típicos generados:

  • mitmproxy-ca-cert.cer
  • mitmproxy-ca-cert.pem
  • mitmproxy-ca-cert.p12
  • mitmproxy-ca.pem
  • mitmproxy-ca.p12

Chequeo rápido:

ls -la ~/.mitmproxy

Sirve para confirmar que el material de certificados existe antes de depurar trust store.

Aclaración sobre mitm.it

URL de bootstrap para onboarding de certificado:

  • http://mitm.it (HTTP)

Si aparece:

If you can see this, traffic is not going through mitmproxy.

normalmente indica problema de routing/proxy, no corrupción del certificado.

Siguientes verificaciones:

  1. proceso monitor activo
  2. listener levantado en el puerto
  3. proxy del sistema realmente habilitado

Comportamiento Seguro ante Fallo

Si READY ocurre pero proxy no puede activarse, SafeMode detiene monitor para evitar estado falso de protección.