Wireshark tricks
Reading time: 4 minutes
tip
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
Popraw swoje umiejętności w Wireshark
Samouczki
Następujące samouczki są świetne do nauki kilku fajnych podstawowych trików:
- https://unit42.paloaltonetworks.com/unit42-customizing-wireshark-changing-column-display/
- https://unit42.paloaltonetworks.com/using-wireshark-display-filter-expressions/
- https://unit42.paloaltonetworks.com/using-wireshark-identifying-hosts-and-users/
- https://unit42.paloaltonetworks.com/using-wireshark-exporting-objects-from-a-pcap/
Analizowane informacje
Informacje eksperckie
Klikając na Analiza --> Informacje eksperckie uzyskasz przegląd tego, co dzieje się w analizowanych pakietach:
Rozwiązane adresy
Pod Statystyki --> Rozwiązane adresy możesz znaleźć kilka informacji, które zostały "rozwiązane" przez Wireshark, takich jak port/transport do protokołu, MAC do producenta itp. Interesujące jest, co jest zaangażowane w komunikację.
Hierarchia protokołów
Pod Statystyki --> Hierarchia protokołów możesz znaleźć protokoły zaangażowane w komunikację oraz dane o nich.
Rozmowy
Pod Statystyki --> Rozmowy możesz znaleźć podsumowanie rozmów w komunikacji oraz dane o nich.
Punkty końcowe
Pod Statystyki --> Punkty końcowe możesz znaleźć podsumowanie punktów końcowych w komunikacji oraz dane o każdym z nich.
Informacje DNS
Pod Statystyki --> DNS możesz znaleźć statystyki dotyczące przechwyconego żądania DNS.
Wykres I/O
Pod Statystyki --> Wykres I/O możesz znaleźć wykres komunikacji.
Filtry
Tutaj możesz znaleźć filtry Wireshark w zależności od protokołu: https://www.wireshark.org/docs/dfref/
Inne interesujące filtry:
(http.request or ssl.handshake.type == 1) and !(udp.port eq 1900)
- HTTP i początkowy ruch HTTPS
(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002) and !(udp.port eq 1900)
- HTTP i początkowy ruch HTTPS + TCP SYN
(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns) and !(udp.port eq 1900)
- HTTP i początkowy ruch HTTPS + TCP SYN + żądania DNS
Wyszukiwanie
Jeśli chcesz wyszukiwać treść wewnątrz pakietów sesji, naciśnij CTRL+f. Możesz dodać nowe warstwy do głównego paska informacji (Nr, Czas, Źródło itp.) naciskając prawy przycisk i następnie edytując kolumnę.
Darmowe laboratoria pcap
Ćwicz z darmowymi wyzwaniami na: https://www.malware-traffic-analysis.net/
Identyfikacja domen
Możesz dodać kolumnę, która pokazuje nagłówek Host HTTP:
I kolumnę, która dodaje nazwę serwera z inicjującego połączenia HTTPS (ssl.handshake.type == 1):
Identyfikacja lokalnych nazw hostów
Z DHCP
W aktualnym Wireshark zamiast bootp
musisz szukać DHCP
Z NBNS
Deszyfrowanie TLS
Deszyfrowanie ruchu https za pomocą prywatnego klucza serwera
edit>preferencje>protokół>ssl>
Naciśnij Edytuj i dodaj wszystkie dane serwera oraz prywatny klucz (IP, Port, Protokół, Plik klucza i hasło)
Deszyfrowanie ruchu https za pomocą symetrycznych kluczy sesji
Zarówno Firefox, jak i Chrome mają możliwość rejestrowania kluczy sesji TLS, które można wykorzystać z Wireshark do deszyfrowania ruchu TLS. Umożliwia to szczegółową analizę zabezpieczonej komunikacji. Więcej informacji na temat tego, jak przeprowadzić to deszyfrowanie, można znaleźć w przewodniku na stronie Red Flag Security.
Aby to wykryć, przeszukaj środowisko pod kątem zmiennej SSLKEYLOGFILE
Plik z kluczami współdzielonymi będzie wyglądał tak:
Aby zaimportować to do Wireshark, przejdź do _edytuj > preferencje > protokół > ssl > i zaimportuj to w (Pre)-Master-Secret log filename:
Komunikacja ADB
Wyodrębnij APK z komunikacji ADB, gdzie APK został wysłany:
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
Ucz się i ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegram lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.