Situación
Queremos utilizar un registrador / proxy / analizador HTTP para inspeccionar el código de acceso, el token de acceso y el token de identificación que forman parte del flujo de código. El flujo está ocurriendo entre Google (el Servidor de Autorización), un navegador web que se ejecuta localmente (el Agente del Usuario) y una aplicación web que se ejecuta localmente (el cliente).
Lo que hemos probado # 1
Hemos intentado usar Fiddler, WireShark y RawCap y aún no hemos podido ver ninguno de ellos. Aquí hay un ejemplo de lo que hemos intentado.
- Comience una sesión de RawCap en nuestro dispositivo IPv4.
-
rawcap -f 192.168.1.82 ipv4.pcap
-
rawcap -f 127.0.0.1 loopback.pcap
-
- Ir a través del flujo de código con la aplicación web local y Google.
- Detener la sesión de RawCap.
- Abra los archivos .pcap en WireShark.
- Vea los resultados de la lista de paquetes y cópielos con los pasos del flujo de código.
Problema
Toda la comunicación entre la aplicación web local, Google y el agente de usuario aparece oculta detrás de TLS. ¿Cómo podemos ver los códigos y fichas? El loopback de Windows 10 siempre es ::1
, por lo que RawCap no lo captura.
Lo que hemos intentado # 2
Instalar WireShark.
Instalar Npcap. Esto es para capturar el tráfico de retorno de IPv6 en Windows 10.
Ejecuta lo siguiente en PowerShell. Establece una variable de entorno, que le dice a Firefox y Chrome que registren su secreto pre-maestro en un archivo.
[System.Environment]::SetEnvironmentVariable("SSLKEYLOGFILE", "C:\Wireshark\sslkeylog.log", [System.EnvironmentVariableTarget]::Machine);
Reiniciar Windows. Es posible que no tenga que hacer esto, pero hacerlo es minucioso.
Inicia Wireshark.
-
Configurar SSL. Editar > Preferencias > Protocolos > SSL > (Pre) -Master-Secret log filename:
C:\Wireshark\sslkeylog.log
-
Iniciar captura e incluir bucle invertido. Capture > Opciones > Entrada. Elija tanto el
npcap Loopback Adapter
como elWi-Fi
. - Establecer un filtro de visualización. El filtro solo muestra el tráfico SSL entre mis computadoras y duckduckgo.com. %código%. (Por supuesto, también podemos aplicar esto a Google).
En este punto, veremos la pestaña ssl and ip.dst == 192.168.1.82 and ip.src == 54.215.176.19
en el panel Bytes de paquetes de WireShark.
Exportarlosdatosdescifrados
- Archivo>Diseccionesdepaquetesdeexportación>Comotextosinformato
- Rangodepaquetes>Todoslospaquetes>Mostrado
- Formatodepaquete>Bytesdelpaquete.
- Nombredearchivo>Whatever.txt
- Guardarcomotipo>Textosinformato(*.txt)
- ¡Guardar!
ElarchivoresultantemostrarácadafotogramaysusdatosSSLdescifrados.Desafortunadamente,losdatosdescifradosestaránenunformatodecolumnasdedifícillectura.