Wireshark-Tricks

Reading time: 5 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks

Verbessern Sie Ihre Wireshark-Fähigkeiten

Tutorials

Die folgenden Tutorials sind großartig, um einige coole grundlegende Tricks zu lernen:

Analysierte Informationen

Experteninformationen

Durch Klicken auf Analyse --> Experteninformationen erhalten Sie eine Übersicht darüber, was in den analysierten Paketen passiert:

Aufgelöste Adressen

Unter Statistiken --> Aufgelöste Adressen finden Sie mehrere Informationen, die von Wireshark "aufgelöst" wurden, wie Port/Transport zu Protokoll, MAC zu Hersteller usw. Es ist interessant zu wissen, was an der Kommunikation beteiligt ist.

Protokollhierarchie

Unter Statistiken --> Protokollhierarchie finden Sie die Protokolle, die an der Kommunikation beteiligt sind, sowie Daten über sie.

Gespräche

Unter Statistiken --> Gespräche finden Sie eine Zusammenfassung der Gespräche in der Kommunikation und Daten darüber.

Endpunkte

Unter Statistiken --> Endpunkte finden Sie eine Zusammenfassung der Endpunkte in der Kommunikation und Daten über jeden von ihnen.

DNS-Informationen

Unter Statistiken --> DNS finden Sie Statistiken über die erfasste DNS-Anfrage.

I/O-Diagramm

Unter Statistiken --> I/O-Diagramm finden Sie ein Diagramm der Kommunikation.

Filter

Hier finden Sie Wireshark-Filter je nach Protokoll: https://www.wireshark.org/docs/dfref/
Weitere interessante Filter:

  • (http.request or ssl.handshake.type == 1) and !(udp.port eq 1900)
  • HTTP- und anfänglicher HTTPS-Verkehr
  • (http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002) and !(udp.port eq 1900)
  • HTTP- und anfänglicher HTTPS-Verkehr + TCP SYN
  • (http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns) and !(udp.port eq 1900)
  • HTTP- und anfänglicher HTTPS-Verkehr + TCP SYN + DNS-Anfragen

Suche

Wenn Sie nach Inhalt innerhalb der Pakete der Sitzungen suchen möchten, drücken Sie CTRL+f. Sie können neue Ebenen zur Hauptinformationsleiste (Nr., Zeit, Quelle usw.) hinzufügen, indem Sie mit der rechten Maustaste klicken und dann die Spalte bearbeiten.

Kostenlose pcap-Labore

Üben Sie mit den kostenlosen Herausforderungen von: https://www.malware-traffic-analysis.net/

Identifizierung von Domains

Sie können eine Spalte hinzufügen, die den Host-HTTP-Header anzeigt:

Und eine Spalte, die den Servernamen von einer initiierenden HTTPS-Verbindung (ssl.handshake.type == 1) hinzufügt:

Identifizierung lokaler Hostnamen

Von DHCP

In der aktuellen Wireshark-Version müssen Sie anstelle von bootp nach DHCP suchen

Von NBNS

Entschlüsselung von TLS

Entschlüsselung von HTTPS-Verkehr mit dem privaten Schlüssel des Servers

edit>präferenz>protokoll>ssl>

Drücken Sie Bearbeiten und fügen Sie alle Daten des Servers und den privaten Schlüssel (IP, Port, Protokoll, Schlüsseldatei und Passwort) hinzu.

Entschlüsselung von HTTPS-Verkehr mit symmetrischen Sitzungsschlüsseln

Sowohl Firefox als auch Chrome haben die Fähigkeit, TLS-Sitzungsschlüssel zu protokollieren, die mit Wireshark verwendet werden können, um TLS-Verkehr zu entschlüsseln. Dies ermöglicht eine eingehende Analyse sicherer Kommunikation. Weitere Details zur Durchführung dieser Entschlüsselung finden Sie in einem Leitfaden bei Red Flag Security.

Um dies zu erkennen, suchen Sie in der Umgebung nach der Variablen SSLKEYLOGFILE.

Eine Datei mit gemeinsamen Schlüsseln sieht so aus:

Um dies in Wireshark zu importieren, gehen Sie zu _bearbeiten > präferenz > protokoll > ssl > und importieren Sie es in (Pre)-Master-Secret-Protokolldateinamen:

ADB-Kommunikation

Extrahieren Sie eine APK aus einer ADB-Kommunikation, bei der die APK gesendet wurde:

python
from scapy.all import *

pcap = rdpcap("final2.pcapng")

def rm_data(data):
splitted = data.split(b"DATA")
if len(splitted) == 1:
return data
else:
return splitted[0]+splitted[1][4:]

all_bytes = b""
for pkt in pcap:
if Raw in pkt:
a = pkt[Raw]
if b"WRTE" == bytes(a)[:4]:
all_bytes += rm_data(bytes(a)[24:])
else:
all_bytes += rm_data(bytes(a))
print(all_bytes)

f = open('all_bytes.data', 'w+b')
f.write(all_bytes)
f.close()

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks