Anàlisi de l'intercanvi de dades durant la inicialització web de WhatsApp

Anàlisi de l'intercanvi de dades durant la inicialització web de WhatsApp
Anàlisi de l'intercanvi de dades durant la inicialització web de WhatsApp

Entendre la inicialització web de WhatsApp

En l'era digital, entendre la comunicació entre dispositius és crucial, especialment per a aplicacions com WhatsApp Web. En inicialitzar WhatsApp Web escanejant el codi QR, s'intercanvien diversos paràmetres entre el dispositiu Android i el navegador. Aquest procés implica trànsit xifrat que pot ser difícil d'analitzar.

Tot i utilitzar eines com tpacketcapture i Burp Suite amb el seu certificat instal·lat al dispositiu, el trànsit es manté xifrat, la qual cosa planteja dubtes sobre els protocols utilitzats per WhatsApp. Aquest article aprofundeix en els mecanismes d'aquest procés i explora mètodes potencials per analitzar els paràmetres intercanviats durant les sessions web de WhatsApp.

Comandament Descripció
mitmproxy.http.HTTPFlow Representa un sol flux HTTP a mitmproxy, capturant la sol·licitud i la resposta.
ctx.log.info() Registra informació a la consola mitmproxy amb finalitats de depuració.
tshark -i wlan0 -w Inicia una captura de trànsit de xarxa a la interfície wlan0 i l'escriu en un fitxer.
tshark -r -Y -T json Llegeix un fitxer de captura, aplica un filtre de visualització i envia el resultat en format JSON.
jq '.[] | select(.layers.http2)' Processa la sortida JSON per filtrar les entrades que contenen trànsit HTTP/2.
cat whatsapp_filtered.json Mostra el contingut del fitxer JSON filtrat que conté trànsit web de WhatsApp.

Explicació detallada dels scripts d'anàlisi de trànsit

El primer guió aprofita mitmproxy, una potent eina per interceptar el trànsit HTTP i HTTPS. En aquest script, definim una classe WhatsAppWebAnalyzer que recull les peticions fetes a web.whatsapp.com. El request s'invoca el mètode per a cada sol·licitud HTTP que passa pel servidor intermediari. Comprovant si la sol·licitud es fa a web.whatsapp.com, incrementem un comptador i registrem l'URL de la sol·licitud utilitzant ctx.log.info. Això ens permet controlar i registrar totes les comunicacions entre el dispositiu Android i WhatsApp Web, proporcionant informació sobre les dades intercanviades durant el procés d'escaneig del codi QR. El addons list registra el nostre complement personalitzat amb mitmproxy, la qual cosa permet que l'script s'executi sense problemes quan s'inicia mitmproxy.

El segon guió utilitza tshark, la versió de línia d'ordres de Wireshark, per capturar i analitzar el trànsit de xarxa. La comanda tshark -i wlan0 -w inicia una captura a la interfície sense fil i escriu la sortida en un fitxer. Aquest fitxer es llegeix i es filtra per mostrar només el trànsit relacionat amb l'adreça IP del dispositiu Android tshark -r -Y -T json. La sortida JSON es processa més amb jq, un processador JSON de línia d'ordres, per filtrar el trànsit HTTP/2 mitjançant l'ús jq '.[] | select(.layers.http2)'. El trànsit filtrat es desa i es mostra amb cat whatsapp_filtered.json, proporcionant una visió detallada de la comunicació web de WhatsApp. Aquests scripts, combinats, ofereixen un mètode robust per analitzar el trànsit xifrat, ajudant a descobrir els paràmetres intercanviats durant la inicialització de WhatsApp Web.

Interceptació i anàlisi del trànsit web de WhatsApp

Utilitzant Python i mitmproxy per a l'anàlisi del trànsit

import mitmproxy.http
from mitmproxy import ctx

class WhatsAppWebAnalyzer:
    def __init__(self):
        self.num_requests = 0

    def request(self, flow: mitmproxy.http.HTTPFlow) -> None:
        if "web.whatsapp.com" in flow.request.pretty_host:
            self.num_requests += 1
            ctx.log.info(f"Request {self.num_requests}: {flow.request.pretty_url}")

addons = [WhatsAppWebAnalyzer()]

Desxifrar el trànsit web de WhatsApp per a l'anàlisi

Ús de Wireshark i Tshark per al desxifrat de trànsit de xarxa

#!/bin/bash

# Start tshark to capture traffic from the Android device
tshark -i wlan0 -w whatsapp_traffic.pcapng

# Decrypt the captured traffic
tshark -r whatsapp_traffic.pcapng -Y 'ip.addr == <ANDROID_DEVICE_IP>' -T json > whatsapp_traffic.json

# Filter for WhatsApp Web traffic
cat whatsapp_traffic.json | jq '.[] | select(.layers.http2)' > whatsapp_filtered.json

# Print the filtered traffic
cat whatsapp_filtered.json

Explorant les tècniques avançades per a l'anàlisi del trànsit web de WhatsApp

Un aspecte crític de l'anàlisi del trànsit web de WhatsApp és entendre els protocols de xifratge utilitzats. WhatsApp utilitza un xifratge d'extrem a extrem, la qual cosa significa que els missatges es xifren al dispositiu del remitent i només es desencripten al dispositiu del destinatari. Això fa que interceptar i desxifrar el trànsit sigui una tasca difícil. Tanmateix, entendre el mecanisme d'intercanvi de claus i el paper de les claus públiques i privades pot proporcionar informació sobre les vulnerabilitats potencials i els mètodes d'intercepció legal. A més, l'anàlisi de l'enllaç inicial entre el dispositiu i el servidor pot revelar informació valuosa sobre el procés de xifratge i qualsevol metadades que es puguin intercanviar.

Un altre enfocament és utilitzar maquinari o programari especialitzat que pugui realitzar una inspecció profunda de paquets (DPI). Les eines DPI poden analitzar el contingut dels paquets de dades a mesura que passen per una xarxa, la qual cosa és útil per identificar aplicacions o protocols específics encara que el trànsit estigui xifrat. Per exemple, utilitzar eines com Wireshark en combinació amb connectors dissenyats per al trànsit de WhatsApp pot ajudar a disseccionar els patrons de comunicació i identificar els tipus de missatges que s'intercanvien. A més, entendre el protocol WebSocket subjacent utilitzat per WhatsApp Web pot oferir informació addicional, ja que aquest protocol té un paper important en la comunicació en temps real entre el navegador i els servidors de WhatsApp.

Preguntes habituals sobre l'anàlisi del trànsit web de WhatsApp

  1. Quines eines són les millors per capturar el trànsit web de WhatsApp?
  2. Eines com mitmproxy i tshark s'utilitzen habitualment per capturar i analitzar el trànsit de la xarxa.
  3. Com garanteix WhatsApp la seguretat del seu trànsit web?
  4. WhatsApp utilitza un xifratge d'extrem a extrem, assegurant que els missatges es xifren al dispositiu del remitent i només es desenxifren al dispositiu del destinatari.
  5. Es pot desxifrar el trànsit si està xifrat?
  6. El desxifrat és extremadament difícil a causa de l'ús del xifratge d'extrem a extrem, però entendre els mecanismes d'intercanvi de claus pot proporcionar informació.
  7. Què és la inspecció profunda de paquets?
  8. La inspecció profunda de paquets (DPI) és una forma de processament de dades que inspecciona detalladament les dades que s'envien a través d'una xarxa per identificar protocols o aplicacions.
  9. Com contribueixen WebSockets a la comunicació web de WhatsApp?
  10. Els WebSockets faciliten la comunicació en temps real entre el navegador i els servidors de WhatsApp, jugant un paper crucial en el lliurament de missatges.
  11. Hi ha consideracions legals a l'hora d'interceptar el trànsit de WhatsApp?
  12. Sí, interceptar el trànsit pot tenir implicacions legals i s'ha de fer d'acord amb les lleis i regulacions locals.
  13. Es poden explotar d'alguna manera les claus públiques i privades?
  14. L'explotació de claus públiques i privades és molt complex i normalment poc pràctic sense recursos computacionals o vulnerabilitats importants.
  15. Quines són les limitacions d'utilitzar mitmproxy per a aquest propòsit?
  16. mitmproxy pot capturar trànsit, però pot no desxifrar-lo a causa dels robusts mètodes de xifratge de WhatsApp.
  17. Com poden ser útils les metadades en l'anàlisi del trànsit?
  18. Les metadades poden proporcionar informació sobre els patrons de comunicació, com ara les marques de temps dels missatges i les interaccions dels usuaris, sense revelar el contingut del missatge.

Consideracions finals sobre l'anàlisi del trànsit web de WhatsApp

Entendre l'intercanvi de paràmetres durant la inicialització de WhatsApp Web requereix eines i tècniques avançades a causa del fort xifratge emprat. Tot i que els mètodes tradicionals com tpacketcapture i Burp Suite poden quedar curts, aprofitar la inspecció profunda de paquets i el programari especialitzat pot oferir millors coneixements. Tot i que són difícils, aquests mètodes poden ajudar a desxifrar el trànsit xifrat, proporcionant una imatge més clara de les dades intercanviades entre el dispositiu Android i el navegador durant el procés d'escaneig de codi QR.