Perche e Importante
Wireshark e lo strumento essenziale per comprendere le comunicazioni di rete a livello di pacchetto. Quando si verificano incidenti di sicurezza, i log ti dicono cosa e successo - ma le catture dei pacchetti rivelano esattamente come. Questa granularita e inestimabile per analisi forense, investigazione malware e comprensione delle tecniche di attacco.
Il troubleshooting di rete beneficia ugualmente dall'analisi dei pacchetti. Quando le applicazioni si comportano in modo inaspettato, i pacchetti rivelano se il problema risiede nella rete, nel server o nel client. Comprendere gli handshake TCP, il comportamento dei protocolli e il timing aiuta a diagnosticare problemi che il monitoraggio di livello superiore non coglie.
Per i professionisti della sicurezza, la competenza con Wireshark e fondamentale. I penetration tester analizzano credenziali catturate e traffico di ricognizione. Gli incident responder esaminano le comunicazioni command-and-control. I network security engineer risolvono problemi e validano gli strumenti di sicurezza. La competenza si trasferisce a virtualmente ogni ruolo tecnico di sicurezza.
Imparare Wireshark approfondisce la comprensione dei fondamenti del networking. Vedere i pacchetti fluire rivela come i protocolli funzionano realmente, oltre le descrizioni dei libri di testo. Questa conoscenza pratica migliora ogni aspetto del lavoro di sicurezza.
Iniziare con Wireshark
Panoramica Interfaccia
Catturare Traffico
# Avvia Wireshark su interfaccia specifica
wireshark -i eth0
# Cattura command-line con tshark
tshark -i eth0 -w capture.pcap
# Cattura con filtro (solo HTTP)
tshark -i eth0 -f "port 80" -w http_traffic.pcap
# Cattura per durata specifica
timeout 60 tshark -i eth0 -w one_minute.pcap
Capture Filter vs. Display Filter
Capture Filter (sintassi BPF) - Applicati durante cattura:
host 192.168.1.100
port 443
tcp and port 80
not broadcast
Display Filter (sintassi Wireshark) - Applicati a dati catturati:
ip.addr == 192.168.1.100
tcp.port == 443
http.request.method == "GET"
dns.flags.response == 0
Display Filter Essenziali
Filtri Protocollo
Filtri Protocollo Base:
# Filtra per protocollo
http
dns
tcp
udp
icmp
tls
ssh
# HTTP specifici
http.request
http.response
http.request.method == "POST"
http.response.code == 200
http.host contains "example.com"
# DNS specifici
dns
dns.flags.response == 0 # Solo query
dns.flags.response == 1 # Solo risposte
dns.qry.name contains "suspicious"
# TLS/SSL
tls.handshake
tls.handshake.type == 1 # Client Hello
tls.handshake.extensions_server_name
Filtri IP e Porta
Filtri Indirizzo IP:
ip.addr == 192.168.1.100 # Sorgente o destinazione
ip.src == 192.168.1.100 # Solo sorgente
ip.dst == 192.168.1.100 # Solo destinazione
ip.addr == 192.168.1.0/24 # Subnet
Filtri Porta:
tcp.port == 443 # Sorgente o destinazione
tcp.dstport == 80 # Solo destinazione
tcp.srcport == 53 # Solo sorgente
udp.port == 53
Filtri Combinati:
ip.addr == 192.168.1.100 && tcp.port == 443
http && ip.src == 10.0.0.5
(dns || http) && ip.addr == 192.168.1.100
Filtri Focalizzati sulla Sicurezza
Filtri Analisi Sicurezza:
# Connessioni TCP fallite (flag RST)
tcp.flags.reset == 1
# SYN senza ACK (potenziale scan)
tcp.flags.syn == 1 && tcp.flags.ack == 0
# DNS sospetto (hostname lunghi, TLD insoliti)
dns && dns.qry.name contains ".xyz"
# HTTP con potenziale SQLi
http.request.uri contains "UNION"
http.request.uri contains "SELECT"
# Credenziali in chiaro
http.authorization
ftp.request.command == "PASS"
# Trasferimenti dati grandi
tcp.len > 10000
Tecniche di Analisi
Following Stream
Clic destro su un pacchetto e seleziona "Follow > TCP Stream" per ricostruire conversazioni complete.
Following Stream:
- TCP Stream: Conversazione TCP completa
- UDP Stream: Pacchetti UDP correlati
- TLS Stream: TLS decrittografato (richiede chiavi)
- HTTP Stream: Coppie richiesta/risposta HTTP
Casi d'Uso:
- Ricostruire file scaricati
- Visualizzare conversazioni HTTP complete
- Analizzare traffico command-and-control
- Estrarre credenziali da protocolli in chiaro
Statistiche e Analisi
Funzionalita Statistiche Utili:
Statistics > Conversations
- Vedi tutte le conversazioni IP/TCP/UDP
- Identifica top talker
- Ordina per byte trasferiti
Statistics > Protocol Hierarchy
- Breakdown protocolli nella cattura
- Identifica protocolli inaspettati
Statistics > Endpoints
- Tutti gli host comunicanti
- Volume traffico per host
Statistics > HTTP > Requests
- Tutte le richieste HTTP nella cattura
- Panoramica URL rapida
Analyze > Expert Information
- Warning ed errori
- Ritrasmissioni, reset
- Violazioni protocollo
Estrazione Dati
Export Objects (File > Export Objects):
- HTTP: File scaricati, immagini, documenti
- SMB: Share file Windows
- IMF: Messaggi email
- TFTP: File trasferiti
Estrazione Manuale:
- Follow stream > Save as raw
- File > Export Packet Bytes
- Usa tshark per estrazione automatizzata
Casi d'Uso Sicurezza
Investigazione Incidenti
Workflow Investigazione Incidente:
1. Delimita il Timeframe
- Filtra alla finestra temporale rilevante
- Identifica host coinvolti
2. Identifica Traffico C2
- Cerca pattern beaconing
- Controlla DNS per tunneling
- Esamina porte/protocolli insoliti
3. Traccia Movimento Laterale
- Connessioni SMB/RDP
- Traffico autenticazione
- Esecuzione remota (WMI, PsExec)
4. Trova Esfiltrazione Dati
- Trasferimenti outbound grandi
- Tunnel crittografati
- Upload cloud storage
5. Estrai IOC
- IP/domini destinazione
- User agent
- Hash file da trasferimenti
Analisi Malware
Analisi Traffico Malware:
Callback Iniziali:
- Lookup DNS per domini C2
- HTTP/HTTPS a host sconosciuti
- Uso porte non standard
Pattern Comunicazione C2:
- Intervalli beacon regolari
- Payload encoded/encrypted
- Anomalie User-Agent
Esfiltrazione Dati:
- Richieste POST grandi
- DNS tunneling (subdomain lunghi)
- Trasferimenti FTP/SFTP
Command-Line con tshark
# Cattura base su file
tshark -i eth0 -w capture.pcap
# Leggi e filtra pcap
tshark -r capture.pcap -Y "http.request"
# Estrai campi specifici
tshark -r capture.pcap -Y "http.request" \
-T fields -e ip.src -e http.host -e http.request.uri
# Statistiche
tshark -r capture.pcap -q -z conv,tcp
# Query DNS
tshark -r capture.pcap -Y "dns.flags.response == 0" \
-T fields -e dns.qry.name | sort | uniq -c | sort -rn
Rilevanza per la Carriera
Le competenze di packet analysis distinguono i professionisti della sicurezza capaci. Mentre gli strumenti GUI semplificano i task comuni, comprendere il traffico di rete a livello di pacchetto abilita analisi e troubleshooting piu profondi.
Ruoli che Usano Packet Analysis (Mercato US)
| Role | Entry Level | Mid Level | Senior |
|---|---|---|---|
| Network Security Analyst | 65.000 USD | 90.000 USD | 120.000 USD |
| Incident Responder | 75.000 USD | 100.000 USD | 135.000 USD |
| Penetration Tester | 80.000 USD | 110.000 USD | 145.000 USD |
| Forensic Analyst | 75.000 USD | 100.000 USD | 135.000 USD |
Source: CyberSeek
Come Insegniamo Wireshark
Nel nostro Programma di Cybersecurity, non imparerai solo la teoria su Wireshark. Praticherai con strumenti reali in laboratori pratici, guidato da professionisti del settore che usano questi concetti quotidianamente.
Trattato in:
Modulo 5: Governance della Sicurezza, Rischio e Conformità (GRC)
360+ ore di formazione guidata da esperti. 94% tasso di occupazione