Ανάλυση ανταλλαγής δεδομένων κατά την εκκίνηση του ιστού WhatsApp

Ανάλυση ανταλλαγής δεδομένων κατά την εκκίνηση του ιστού WhatsApp
Ανάλυση ανταλλαγής δεδομένων κατά την εκκίνηση του ιστού WhatsApp

Κατανόηση του WhatsApp Web Initialization

Στην ψηφιακή εποχή, η κατανόηση της επικοινωνίας μεταξύ συσκευών είναι ζωτικής σημασίας, ειδικά για εφαρμογές όπως το WhatsApp Web. Κατά την προετοιμασία του WhatsApp Web με σάρωση του κωδικού QR, ανταλλάσσονται διάφορες παράμετροι μεταξύ της συσκευής Android και του προγράμματος περιήγησης. Αυτή η διαδικασία περιλαμβάνει κρυπτογραφημένη κίνηση που μπορεί να είναι δύσκολο να αναλυθεί.

Παρά τη χρήση εργαλείων όπως το tpacketcapture και το Burp Suite με το πιστοποιητικό του εγκατεστημένο στη συσκευή, η κίνηση παραμένει κρυπτογραφημένη, εγείροντας ερωτήματα σχετικά με τα πρωτόκολλα που χρησιμοποιεί το WhatsApp. Αυτό το άρθρο εμβαθύνει στους μηχανισμούς πίσω από αυτήν τη διαδικασία και διερευνά πιθανές μεθόδους για την ανάλυση των παραμέτρων που ανταλλάσσονται κατά τη διάρκεια συνεδριών του WhatsApp Web.

Εντολή Περιγραφή
mitmproxy.http.HTTPFlow Αντιπροσωπεύει μια μεμονωμένη ροή HTTP σε mitmproxy, καταγράφοντας το αίτημα και την απόκριση.
ctx.log.info() Καταγράφει πληροφορίες στην κονσόλα mitmproxy για σκοπούς εντοπισμού σφαλμάτων.
tshark -i wlan0 -w Ξεκινά μια καταγραφή κίνησης δικτύου στη διεπαφή wlan0 και την εγγράφει σε ένα αρχείο.
tshark -r -Y -T json Διαβάζει ένα αρχείο λήψης, εφαρμόζει ένα φίλτρο οθόνης και εξάγει το αποτέλεσμα σε μορφή JSON.
jq '.[] | select(.layers.http2)' Επεξεργάζεται την έξοδο JSON για να φιλτράρει καταχωρήσεις που περιέχουν κίνηση HTTP/2.
cat whatsapp_filtered.json Εμφανίζει το περιεχόμενο του φιλτραρισμένου αρχείου JSON που περιέχει κίνηση στο Web WhatsApp.

Λεπτομερής επεξήγηση των σεναρίων ανάλυσης κίνησης

Το πρώτο σενάριο αξιοποιεί mitmproxy, ένα ισχυρό εργαλείο για την παρακολούθηση της κυκλοφορίας HTTP και HTTPS. Σε αυτό το σενάριο, ορίζουμε μια κλάση WhatsAppWebAnalyzer που καταγράφει τα αιτήματα που υποβάλλονται σε web.whatsapp.com. ο request Η μέθοδος καλείται για κάθε αίτημα HTTP που διέρχεται από τον διακομιστή μεσολάβησης. Ελέγχοντας εάν το αίτημα υποβάλλεται σε web.whatsapp.com, αυξάνουμε έναν μετρητή και καταγράφουμε τη διεύθυνση URL αιτήματος χρησιμοποιώντας ctx.log.info. Αυτό μας επιτρέπει να παρακολουθούμε και να καταγράφουμε όλη την επικοινωνία μεταξύ της συσκευής Android και του WhatsApp Web, παρέχοντας πληροφορίες για τα δεδομένα που ανταλλάσσονται κατά τη διαδικασία σάρωσης κωδικών QR. ο addons Η λίστα καταχωρεί το προσαρμοσμένο μας πρόσθετο με το mitmproxy, επιτρέποντας στο σενάριο να εκτελείται απρόσκοπτα όταν ξεκινά το mitmproxy.

Το δεύτερο σενάριο χρησιμοποιεί tshark, την έκδοση γραμμής εντολών του Wireshark, για την καταγραφή και την ανάλυση της κυκλοφορίας του δικτύου. Η εντολή tshark -i wlan0 -w εκκινεί μια καταγραφή στην ασύρματη διεπαφή και εγγράφει την έξοδο σε ένα αρχείο. Στη συνέχεια, αυτό το αρχείο διαβάζεται και φιλτράρεται για να εμφανίζει μόνο την κίνηση που σχετίζεται με τη διεύθυνση IP της συσκευής Android, χρησιμοποιώντας tshark -r -Y -T json. Η έξοδος JSON επεξεργάζεται περαιτέρω με jq, ένας επεξεργαστής JSON γραμμής εντολών, για να φιλτράρει την κυκλοφορία HTTP/2 χρησιμοποιώντας jq '.[] | select(.layers.http2)'. Η φιλτραρισμένη κίνηση αποθηκεύεται και εμφανίζεται χρησιμοποιώντας cat whatsapp_filtered.json, παρέχοντας μια λεπτομερή προβολή της επικοινωνίας του WhatsApp Web. Αυτά τα σενάρια, σε συνδυασμό, προσφέρουν μια ισχυρή μέθοδο ανάλυσης κρυπτογραφημένης κίνησης, βοηθώντας στην αποκάλυψη των παραμέτρων που ανταλλάσσονται κατά την προετοιμασία του WhatsApp Web.

Παρακολούθηση και ανάλυση της κυκλοφορίας στο Web 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

Εξερευνώντας προηγμένες τεχνικές για την ανάλυση της κυκλοφορίας στο Web WhatsApp

Μια κρίσιμη πτυχή της ανάλυσης της κυκλοφορίας στο Web WhatsApp είναι η κατανόηση των πρωτοκόλλων κρυπτογράφησης που χρησιμοποιούνται. Το WhatsApp χρησιμοποιεί κρυπτογράφηση από άκρο σε άκρο, πράγμα που σημαίνει ότι τα μηνύματα κρυπτογραφούνται στη συσκευή του αποστολέα και αποκρυπτογραφούνται μόνο στη συσκευή του παραλήπτη. Αυτό καθιστά την υποκλοπή και την αποκρυπτογράφηση της κυκλοφορίας μια πρόκληση. Ωστόσο, η κατανόηση του μηχανισμού ανταλλαγής κλειδιών και του ρόλου των δημόσιων και ιδιωτικών κλειδιών μπορεί να παρέχει πληροφορίες για πιθανά τρωτά σημεία και μεθόδους για νόμιμη υποκλοπή. Επιπλέον, η ανάλυση της αρχικής χειραψίας μεταξύ της συσκευής και του διακομιστή μπορεί να αποκαλύψει πολύτιμες πληροφορίες σχετικά με τη διαδικασία κρυπτογράφησης και τυχόν μεταδεδομένα που ενδέχεται να ανταλλάσσονται.

Μια άλλη προσέγγιση είναι η χρήση εξειδικευμένου υλικού ή λογισμικού που μπορεί να εκτελέσει βαθιά επιθεώρηση πακέτων (DPI). Τα εργαλεία DPI μπορούν να αναλύσουν τα περιεχόμενα των πακέτων δεδομένων καθώς περνούν μέσα από ένα δίκτυο, κάτι που είναι χρήσιμο για τον εντοπισμό συγκεκριμένων εφαρμογών ή πρωτοκόλλων ακόμα κι αν η κίνηση είναι κρυπτογραφημένη. Για παράδειγμα, η χρήση εργαλείων όπως το Wireshark σε συνδυασμό με πρόσθετα που έχουν σχεδιαστεί για την κυκλοφορία WhatsApp μπορεί να βοηθήσει στην ανατομή των μοτίβων επικοινωνίας και στον εντοπισμό των τύπων των μηνυμάτων που ανταλλάσσονται. Επιπλέον, η κατανόηση του υποκείμενου πρωτοκόλλου WebSocket που χρησιμοποιείται από το WhatsApp Web μπορεί να προσφέρει πρόσθετες πληροφορίες, καθώς αυτό το πρωτόκολλο παίζει σημαντικό ρόλο στην επικοινωνία σε πραγματικό χρόνο μεταξύ του προγράμματος περιήγησης και των διακομιστών WhatsApp.

Συνήθεις ερωτήσεις σχετικά με την ανάλυση της κυκλοφορίας στο Web WhatsApp

  1. Ποια εργαλεία είναι καλύτερα για την καταγραφή της κυκλοφορίας του WhatsApp στο Web;
  2. Εργαλεία όπως mitmproxy και tshark χρησιμοποιούνται συνήθως για τη λήψη και την ανάλυση της κυκλοφορίας του δικτύου.
  3. Πώς διασφαλίζει το WhatsApp την ασφάλεια της διαδικτυακής του κίνησης;
  4. Το WhatsApp χρησιμοποιεί κρυπτογράφηση από άκρο σε άκρο, διασφαλίζοντας ότι τα μηνύματα κρυπτογραφούνται στη συσκευή του αποστολέα και αποκρυπτογραφούνται μόνο στη συσκευή του παραλήπτη.
  5. Μπορεί η κίνηση να αποκρυπτογραφηθεί εάν είναι κρυπτογραφημένη;
  6. Η αποκρυπτογράφηση είναι εξαιρετικά δύσκολη λόγω της χρήσης κρυπτογράφησης από άκρο σε άκρο, αλλά η κατανόηση των μηχανισμών ανταλλαγής κλειδιών μπορεί να προσφέρει πληροφορίες.
  7. Τι είναι η βαθιά επιθεώρηση πακέτων;
  8. Η επιθεώρηση πακέτων σε βάθος (DPI) είναι μια μορφή επεξεργασίας δεδομένων που επιθεωρεί λεπτομερώς τα δεδομένα που αποστέλλονται μέσω ενός δικτύου για τον εντοπισμό πρωτοκόλλων ή εφαρμογών.
  9. Πώς συμβάλλουν τα WebSockets στην επικοινωνία του WhatsApp στο Web;
  10. Τα WebSockets διευκολύνουν την επικοινωνία σε πραγματικό χρόνο μεταξύ του προγράμματος περιήγησης και των διακομιστών WhatsApp, παίζοντας καθοριστικό ρόλο στην παράδοση μηνυμάτων.
  11. Υπάρχουν νομικά ζητήματα κατά την παρακολούθηση της κυκλοφορίας WhatsApp;
  12. Ναι, η αναχαίτιση της κυκλοφορίας μπορεί να έχει νομικές επιπτώσεις και θα πρέπει να γίνεται σύμφωνα με τους τοπικούς νόμους και κανονισμούς.
  13. Μπορούν τα δημόσια και ιδιωτικά κλειδιά να αξιοποιηθούν με οποιονδήποτε τρόπο;
  14. Η εκμετάλλευση δημόσιων και ιδιωτικών κλειδιών είναι εξαιρετικά περίπλοκη και συνήθως μη πρακτική χωρίς σημαντικούς υπολογιστικούς πόρους ή τρωτά σημεία.
  15. Ποιοι είναι οι περιορισμοί της χρήσης του mitmproxy για αυτόν τον σκοπό;
  16. Το mitmproxy μπορεί να καταγράψει την κυκλοφορία, αλλά ενδέχεται να μην την αποκρυπτογραφήσει λόγω των ισχυρών μεθόδων κρυπτογράφησης του WhatsApp.
  17. Πώς μπορούν τα μεταδεδομένα να είναι χρήσιμα στην ανάλυση επισκεψιμότητας;
  18. Τα μεταδεδομένα μπορούν να παρέχουν πληροφορίες για τα μοτίβα επικοινωνίας, όπως οι χρονικές σημάνσεις μηνυμάτων και οι αλληλεπιδράσεις των χρηστών, χωρίς να αποκαλύπτουν το περιεχόμενο του μηνύματος.

Τελικές σκέψεις σχετικά με την ανάλυση κίνησης στο Web WhatsApp

Η κατανόηση της ανταλλαγής παραμέτρων κατά την προετοιμασία του WhatsApp Web απαιτεί προηγμένα εργαλεία και τεχνικές λόγω της ισχυρής κρυπτογράφησης που χρησιμοποιείται. Ενώ οι παραδοσιακές μέθοδοι όπως το tpacketcapture και το Burp Suite μπορεί να είναι ανεπαρκείς, η αξιοποίηση της βαθιάς επιθεώρησης πακέτων και του εξειδικευμένου λογισμικού μπορεί να προσφέρει καλύτερες πληροφορίες. Αν και είναι προκλητικές, αυτές οι μέθοδοι μπορούν να βοηθήσουν στην αποκρυπτογράφηση της κρυπτογραφημένης κίνησης, παρέχοντας μια πιο ξεκάθαρη εικόνα των δεδομένων που ανταλλάσσονται μεταξύ της συσκευής Android και του προγράμματος περιήγησης κατά τη διαδικασία σάρωσης του κώδικα QR.