WhatsApp 웹 초기화 중 데이터 교환 분석

Python

WhatsApp 웹 초기화 이해

디지털 시대에는 특히 WhatsApp Web과 같은 애플리케이션의 경우 장치 간 통신을 이해하는 것이 중요합니다. QR 코드를 스캔하여 WhatsApp Web을 초기화하면 Android 기기와 브라우저 간에 다양한 매개변수가 교환됩니다. 이 프로세스에는 분석하기 어려울 수 있는 암호화된 트래픽이 포함됩니다.

장치에 인증서가 설치된 tpacketcapture 및 Burp Suite와 같은 도구를 사용함에도 불구하고 트래픽은 암호화된 상태로 유지되므로 WhatsApp에서 사용하는 프로토콜에 대한 의문이 제기됩니다. 이 문서에서는 이 프로세스의 메커니즘을 자세히 살펴보고 WhatsApp 웹 세션 중에 교환된 매개변수를 분석하는 잠재적인 방법을 살펴봅니다.

명령 설명
mitmproxy.http.HTTPFlow 요청과 응답을 캡처하는 mitmproxy의 단일 HTTP 흐름을 나타냅니다.
ctx.log.info() 디버깅 목적으로 mitmproxy 콘솔에 정보를 기록합니다.
tshark -i wlan0 -w 인터페이스 wlan0에서 네트워크 트래픽 캡처를 시작하고 이를 파일에 씁니다.
tshark -r -Y -T json 캡처 파일을 읽고 표시 필터를 적용한 후 결과를 JSON 형식으로 출력합니다.
jq '.[] | select(.layers.http2)' HTTP/2 트래픽이 포함된 항목을 필터링하기 위해 JSON 출력을 처리합니다.
cat whatsapp_filtered.json WhatsApp 웹 트래픽이 포함된 필터링된 JSON 파일의 콘텐츠를 표시합니다.

트래픽 분석 스크립트에 대한 자세한 설명

첫 번째 스크립트는 다음을 활용합니다. , HTTP 및 HTTPS 트래픽을 가로채는 강력한 도구입니다. 이 스크립트에서는 클래스를 정의합니다. 이는 다음에 대한 요청을 캡처합니다. . 그만큼 프록시를 통과하는 각 HTTP 요청에 대해 메소드가 호출됩니다. 요청이 이루어졌는지 확인하여 , 카운터를 증가시키고 다음을 사용하여 요청 URL을 기록합니다. . 이를 통해 Android 장치와 WhatsApp 웹 간의 모든 통신을 모니터링하고 기록할 수 있어 QR 코드 스캔 프로세스 중에 교환된 데이터에 대한 통찰력을 얻을 수 있습니다. 그만큼 list는 mitmproxy에 사용자 정의 애드온을 등록하여 mitmproxy가 시작될 때 스크립트가 원활하게 실행될 수 있도록 합니다.

두 번째 스크립트는 , 네트워크 트래픽을 캡처하고 분석하기 위한 Wireshark의 명령줄 버전입니다. 명령 무선 인터페이스에서 캡처를 시작하고 출력을 파일에 기록합니다. 그런 다음 이 파일을 읽고 필터링하여 Android 장치의 IP 주소와 관련된 트래픽만 표시합니다. . JSON 출력은 다음을 통해 추가로 처리됩니다. jq, 명령줄 JSON 프로세서 - 다음을 사용하여 HTTP/2 트래픽을 필터링합니다. . 필터링된 트래픽은 다음을 사용하여 저장되고 표시됩니다. , WhatsApp 웹 통신에 대한 자세한 보기를 제공합니다. 이러한 스크립트를 결합하면 암호화된 트래픽을 분석하는 강력한 방법을 제공하여 WhatsApp 웹 초기화 중에 교환된 매개변수를 찾는 데 도움이 됩니다.

WhatsApp 웹 트래픽 가로채기 및 분석

트래픽 분석을 위해 Python 및 mitmproxy 사용

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()]

분석을 위해 WhatsApp 웹 트래픽 암호 해독

네트워크 트래픽 암호 해독을 위해 Wireshark 및 Tshark 사용

#!/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

WhatsApp 웹 트래픽 분석을 위한 고급 기술 탐색

WhatsApp 웹 트래픽 분석의 중요한 측면 중 하나는 사용된 암호화 프로토콜을 이해하는 것입니다. WhatsApp은 종단 간 암호화를 사용합니다. 즉, 메시지는 보낸 사람의 장치에서 암호화되고 받는 사람의 장치에서만 해독됩니다. 이로 인해 트래픽을 가로채고 암호를 해독하는 것이 어려운 작업이 됩니다. 그러나 키 교환 메커니즘과 공개 및 개인 키의 역할을 이해하면 잠재적인 취약점과 합법적인 가로채기 방법에 대한 통찰력을 얻을 수 있습니다. 또한 장치와 서버 간의 초기 핸드셰이크를 분석하면 암호화 프로세스 및 교환될 수 있는 모든 메타데이터에 대한 귀중한 정보를 확인할 수 있습니다.

또 다른 접근 방식은 DPI(심층 패킷 검사)를 수행할 수 있는 특수 하드웨어나 소프트웨어를 사용하는 것입니다. DPI 도구는 네트워크를 통과하는 데이터 패킷의 내용을 분석할 수 있으며, 이는 트래픽이 암호화된 경우에도 특정 애플리케이션이나 프로토콜을 식별하는 데 유용합니다. 예를 들어, Wireshark와 같은 도구를 WhatsApp 트래픽용으로 설계된 플러그인과 함께 사용하면 통신 패턴을 분석하고 교환되는 메시지 유형을 식별하는 데 도움이 될 수 있습니다. 또한 WhatsApp Web에서 사용되는 기본 WebSocket 프로토콜을 이해하면 추가적인 통찰력을 얻을 수 있습니다. 이 프로토콜은 브라우저와 WhatsApp 서버 간의 실시간 통신에서 중요한 역할을 하기 때문입니다.

  1. WhatsApp 웹 트래픽을 캡처하는 데 가장 적합한 도구는 무엇입니까?
  2. 다음과 같은 도구 그리고 일반적으로 네트워크 트래픽을 캡처하고 분석하는 데 사용됩니다.
  3. WhatsApp은 웹 트래픽의 보안을 어떻게 보장하나요?
  4. WhatsApp은 종단 간 암호화를 사용하여 메시지가 보낸 사람의 장치에서 암호화되고 수신자의 장치에서만 해독되도록 보장합니다.
  5. 트래픽이 암호화되면 해독될 수 있습니까?
  6. 종단 간 암호화를 사용하기 때문에 암호 해독은 매우 어렵지만 키 교환 메커니즘을 이해하면 통찰력을 얻을 수 있습니다.
  7. 심층 패킷 검사란 무엇입니까?
  8. 심층 패킷 검사(DPI)는 프로토콜이나 애플리케이션을 식별하기 위해 네트워크를 통해 전송되는 데이터를 자세히 검사하는 데이터 처리 형식입니다.
  9. WebSocket은 WhatsApp 웹 통신에 어떻게 기여합니까?
  10. WebSocket은 브라우저와 WhatsApp 서버 간의 실시간 통신을 촉진하여 메시지 전달에 중요한 역할을 합니다.
  11. WhatsApp 트래픽을 가로챌 때 법적 고려사항이 있나요?
  12. 예, 트래픽 차단은 법적 영향을 미칠 수 있으며 현지 법률 및 규정을 준수하여 수행되어야 합니다.
  13. 공개 키와 개인 키가 어떤 방식으로든 악용될 수 있나요?
  14. 공개 및 개인 키를 악용하는 것은 매우 복잡하며 일반적으로 상당한 계산 리소스나 취약점이 없으면 실용적이지 않습니다.
  15. 이 목적으로 mitmproxy를 사용할 때의 제한 사항은 무엇입니까?
  16. mitmproxy는 트래픽을 캡처할 수 있지만 WhatsApp의 강력한 암호화 방법으로 인해 트래픽을 해독하지 못할 수도 있습니다.
  17. 메타데이터는 트래픽 분석에 어떻게 유용할 수 있나요?
  18. 메타데이터는 메시지 내용을 공개하지 않고도 메시지 타임스탬프 및 사용자 상호 작용과 같은 통신 패턴에 대한 통찰력을 제공할 수 있습니다.

WhatsApp 웹 초기화 중 매개변수 교환을 이해하려면 강력한 암호화가 사용되므로 고급 도구와 기술이 필요합니다. tpacketcapture 및 Burp Suite와 같은 기존 방법은 부족할 수 있지만 심층 패킷 검사 및 전문 소프트웨어를 활용하면 더 나은 통찰력을 얻을 수 있습니다. 비록 어렵지만 이러한 방법은 암호화된 트래픽을 해독하는 데 도움이 될 수 있으며 QR 코드 스캔 프로세스 중에 Android 기기와 브라우저 간에 교환되는 데이터에 대한 보다 명확한 그림을 제공할 수 있습니다.