wireshark uno squalo nella rete wireshark nasce dall esperienza di gerald combs, il quale nel 1998...

32
Wireshark uno squalo nella rete Wireshark nasce dall’ esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato in seguito sotto licenza GPL, un valido analizzatore di pacchetti, o se volete, analizzatore di traffico, packet sniffer , sniffer . Cambiando lavoro nel 2006, Combs e’ stato costretto a causa di una disputa sul nome Ethereal registrato dall’ azienda per cui lavorava precedentemente a realizzare un fork del progetto e continuarlo col nome wireshark

Upload: vittorio-lanza

Post on 02-May-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Wireshark nasce dall’ esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato in seguito sotto licenza GPL, un valido analizzatore di pacchetti, o se volete, analizzatore di traffico, packet sniffer , sniffer .

Cambiando lavoro nel 2006, Combs e’ stato costretto a causa di una disputa sul nome Ethereal registrato dall’ azienda per cui lavorava precedentemente a realizzare un fork del progetto e continuarlo col nome wireshark

Page 2: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Che cosa è un analizzatore di protocollo o Sniffer?

Un analizzatore di protocollo è uno strumento hardware e/o software atto a catturare, registrare, visualizzare, decodificare Frames che viaggiano sulla rete.

Quindi lavora al livello 2 della pila osi! I frames cosi’ catturati possono essere a loro volta analizzati per vedere cosa trasportano, quindi mostrati all’ utente in un formato intelleggibile, ed eventualmente filtrati e/o salvati su file.

Per funzionare esso spesso mette l’ interfaccia di rete in modalita’ promiscua (monitor mode sulle schede wireless), ossia fa’ in modo che la scheda di rete non scarti i pacchetti destinati ad altri mac address, ma li passi ugualmente ai livelli superiori della pila osi

Page 3: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella reteQuesto trucchetto , necessario se non sia la nostra stessa

macchina a generare/ricevere il traffico da analizzare, e’ dovuto al fatto che il media che stiamo usando (ethernet) e’ nativamente un supporto di trasmissione a canale condiviso, quindi lui manda tutti i frame destinati a tutti su tutta la rete, e poi ogni destinatario controlla l’ indirizzo mac address di destinazione e preleva solo quelli a lui indirizzati, il trucchetto funzionera’ correttamente solo se siamo connessi su di un’ hub o su di uno switch managed, nel quale avremo avuto l’ accortezza di porre in mirror la nostra porta con quella da dove passa il traffico da analizzare, se invece siamo connessi su di uno switch non managed, potremo vedere solo il traffico etichettato come broadcast oltra al nostro (utile in certi casi, ma ben poca roba)

Page 4: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

il MAC Address (Media Access Control) è l’indirizzo hardware della scheda di rete (NIC Network Interface Card) esso e’ formato da 48 bit di cui i primi 24 bit identificano il vendor (venditore) , mentre i secondi 24 bit sono il numero seriale

assegnato dal vendor alle NIC.

Ricordiamoci sempre che la cattura di pacchetti non da noi generati/destinati potrebbe introdurci a problemi di privacy, in quanto potremmo entrare in possesso di dati sensibili quali username/password , indirizzi visitati, contenuti di email etc etc, quindi ricordiamoci sempre che e’ meglio catturare solo il proprio traffico oppure avere le necessarie autorizzazioni da parte di chi amministra la rete.

Page 5: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Gli analizzatori di protocollo di tipo hardware normalmente sono molto costosi, al contrario, un analizzatore di protocollo di tipo

software costituisce il tipo di packet sniffers più diffuso, economico e conveniente. In special modo se esso è rilasciato sotto licenza GPL. Questo permette a chiunque lo desideri di

analizzare una rete.

WIRESHARK e’ un' analizzatore open source!!!!

Page 6: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

A cosa serve un’ analizzatore di protocollo?

L’ analizzatore di protocollo, serve per capire come funziona una rete e cosa ci transiti sopra, come interagiscono tutti gli attori che si affacciano sulla rete, e’ una lente d’ ingrandimento sulle comunicazioni che transitano! Serve a capire lo stato di salute della nostra rete, a realizzare diagnosi, o semplicemente a monitorare la rete, permette di avere una rappresentazione visiva del reale traffico, ed in generale consente di risolvere molti dei problemi che possono insorgere!

Come tutti gli strumenti se ne puo’ fare un’ uso buono o cattivo, puo’ permettere di recuperare le password di posta che abbiamo dimenticato, o puo’ permettere a qualcun’ altro di rubarcele!

Page 7: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Se volessimo fare un paragone , e’ uno strumento che permette di mettere in relazione tutte le azioni fatte tra una richiesta e la sua risposta:

io potrei chiedere a voi di andare a prendere un bicchier d’ acqua, e vedervi ritornare col bicchiere pieno,

ma non saprei mai tutto cio’ che avete dovuto fare per darmi il risultato del bicchiere pieno, l’ analizzatore di protocollo in questo caso mi direbbe,

che avete dovuto spostare la sedia per alzarvi, posare la matita che avevate in mano, camminare fino al frigo, aprirlo, scegliere la bottiglia che risponde magari ad alcuni requisiti particolari,aprire la dispensa, quindi scegliere il bicchiere, aprire la bottiglia, riempire il bicchiere e tornare col bicchiere pieno

Page 8: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

questo nel caso ottengo cio’ che voglio, e se invece tornaste senza il bicchiere con l’ acqua?

L’ analizzatore magari mi potrebbe far sapere che lungo il tragitto c’e’ una porta che e’ chiusa a chiave ed io dovevo fornirvi la chiave, o che non ci sono piu’ bottiglie con acqua in frigo, ecco quindi mi permette di avere una descrizione precisa di cio’ che e’ successo in modo da poter risolvere il problema.

Page 9: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

L’ analizzatore di protocollo, per poterci aiutare nel nostro lavoro, ha bisogno di:

accedere alla rete, in modo da poter catturare i dati, quindi cio’ presuppone la possibilita’ di mettere in modalita’ promiscua la scheda di rete per poter ricevere tutti i dati e non solo i nostri, e un corretto posizionamento sulla nostra rete.

elaborare i dati raccolti, traducendoli dal mondo dei bit nel mondo reale.

una capacita’ di analisi e filtrazione per permetterci di barcamenarci tra tutti i dati prelevati dalla rete

Page 10: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Se guardiamo meglio l’ operazione di accesso alla rete, con l’ ausilio dell ‘ immagine seguente, ci rendiamo conto come per poter accedere in modo affidabile ai dati della scheda di rete senza esser vincolati dai livelli della pila OSI, sia necessario l’ implementazione di un driver di cattura dei pacchetti, quindi una porzione di codice a livello di kernel, che funga da interfaccia

diretta tra la scheda di rete e il software di analisi, e contemporaneamente permetta la corretta alimentazione della pila osi, necessaria per poter continuare ad utilizzare le funzionalita’ di rete del sistema operativo.

Page 11: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Perche’ usare wiresharkÈ possibile analizzare dati acquisiti in tempo reale su una rete attiva ("from the wire"), come pure analizzare dati salvati precedentemente su file di cattura (offline);

dispone di un’interfaccia grafica intuitiva;

supporta la lettura/scrittura di differenti formati;

permette di catturare dati da diverse interfacce: Ethernet, Bluetooth, USB, Wireless, loopback ecc;

è in gradi di decifrare numerosi protocolli: SSL/TLS, WEP, Kerberos, WPA/WPA2, IPsec, ecc;

Page 12: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

l’analisi dei dati è facilitata dalla possibilità di creare regole per applicare una diversa colorazione ai differenti tipi di dati;

può essere generato un output in diversi formati: XML, PostScript, CSV, testo normale

È possibile analizzare i dati sia tramite interfaccia grafica che da linea di comando, con il programma "tshark"

I dati catturati su file possono essere facilmente modificati, convertiti o filtrati, tramite opzioni su riga di comando del programma "editcap".

È possibile scomporre e analizzare centinaia di protocolli di comunicazione.

Page 13: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Usiamo wiresharkDopo averlo lanciato (con i privilegi di root), su ubuntu da terminale davide@eeepc-dav:~$ sudo wireshark&O se lo vogliamo lanciare dal menu’ a tendina, dopo aver modificato il collegamento

per inserire il comando kdesu wireshark tramite l' editor di menu KDE

Page 14: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella reteAvviamo la nostra prima cattura, cliccando sul primo pulsante da sinistra si aprira’ la schermata di selezione delle interfacce dalla quale possiamo vedere tutte le interfacce sulle quali possiamo andare ad operare, modificare le opzioni relative ad ogni interfaccia o semplicemente avviare la cattura dei pacchetti direttamente con le opzioni di default.

Page 15: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella reteUna volta avviata la cattura, lo schermo passera’ da un’ uniforme grigio, ad una suddivisione in tre sezioni, e ci si presenteranno tutta una serie di righe e dati, corrispondenti al traffico ethernet catturato, righe che di default scorrono man mano che va’ avanti la cattura, facciamo quindi scorrere un paio di righe e fermiamoci tramite l’ apposito pulsante (il quarto da sinistra) e guardiamo cosa ci viene mostrato.

Page 16: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella reteLo schermo e’ diviso in tre sezioni, nella prima sezione (sommario), quella piu’ in alto,

abbiamo un’ ulteriore suddivisione in colonne, esse rappresentano (da sinistra verso destra) :

il numero progressivo del pacchetto il tempo intercorso tra l’ inizio della cattura e l’ arrivo del

pacchetto chi ha generato il pacchetto (mac address o indirizzo ip) chi e’ il destinatario del pacchetto (mac address,

indirizzo ip, broadcast) il protocollo utilizzato altre informazioni rilevanti in questa sezione possiamo selezionare una singola

riga in modo da esplorare meglio il suo contenuto

Page 17: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella reteNella seconda sezione (protocollo)

abbiamo riportati dettagliatamente i dati relativi alla riga selezionata nella prima sezione, possiamo quindi meglio vedere il tipo di frame, il protocollo dal quale proviene il frame, l’ indirizzo mac address sorgente e destinatario in forma estesa (nella sezione precedente era visualizzata il vendor corrispondente ai primi 24 bit) l’ eventuale payload del frame ed altri dati utili, sempre organizzati secondo gerarchie ispezionabili tramite un click sul segno a lato

Page 18: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Nella terza sezione (dati)

invece vediamo il frame nativo, in formato hex e ascii, cosi’ per come e’ catturato dal driver di cattura direttamente sulla scheda ethernet, ed eventualmente evidenziati i byte relativi alla sezione selezionata nella seconda sezione.

Page 19: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Uso un po’ piu’ avanzato

Cosi facendo possiamo riavviare la cattura (se non vogliamo salvare il contenuto catturato in precedenza e vogliamo evitare che ci venga richiesto, possiamo cliccare sul 5^ pulsante da sinistra)

Mentre l’ analizzatore sta effettuando la sua cattura, passiamo sul nostro browser e apriamo una pagina internet, subito ci renderemo conto come il semplice caricamento di una pagina, quale ad esempio www.google.it, generi un’ enorme quantita’ di dati nell’ analizzatore.

Page 20: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Se vogliamo solo curiosare, senza nessun target specifico la cosa va’ piu’ che bene, ma se stiamo cercando qualcosa di piu’ specifico forse e’ meglio imparare ad usare i filtri!

Page 21: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

FILTRI

Wireshark ha due tipi di filtri: filtri di visualizzazione

filtri di cattura

Page 22: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

con i filtri di visualizzazione, l’ analizzatore raccoglie tutti i dati provenienti dalla rete, e poi ci permette di visualizzare solo quelli che ci interessano, ma in ogni caso, se decidiamo di spostare il nostro focus su qualcosaltro successo nell’ intervallo durante il quale abbiamo fatto la cattura, possiamo farlo perche’ abbiamo tutti i pacchetti.

I filtri di cattura invece, filtrano la cattura in base al criterio assegnatoci, in modo da diminuire drasticamente il numero di pacchetti catturati, ma impedendoci di spostare il nostro focus su altro , non avremo altri pacchetti da analizzare

Page 23: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

I filtri di visualizzazione, oltre ad essere molto utili sono anche facilitati nell’ utilizzo sia dall’ esistenza di numerosi filtri preimpostati (pulsante Filter della barra dei filtri)

sia grazie ad un facilitatore che ci consente di scrivere con pochi clic i nostri filtri, pulsante “+ Expression” , sia grazie al fatto che se scriviamo nella riga dei filtri, essa cambiera’ colorazione in base alla correttezza di cio’ che stiamo

scrivendo! Quindi una volta selezionato il filtro non ci resta che di applicarlo. Nel caso volessimo levare un filtro basta ciccare sul pulsante “pulisci”

Page 24: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Alcuni filtri di uso comune possono essere : eth.addr == ff:ff:ff:ff:ff:ff ip.addr == 192.168.1.7 ip.src == 192.168.1.17 and ip.dst == 192.168.1.19 ip.addr 192.168.1 and pop ip.addr 192.168.1 and messenger

Page 25: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

se invece vogliamo filtrare tutti i pacchetti che non provengono/vanno verso un’ ip , quindi l’ opposto di

ip.addr==192.168.1.1saremmo tentati di usare:ip.addr!=192.168.1.1 il quale pero’ non ci filtrera’ niente!!L’ espressione giusta da usare e’ :!(ip.addr == 192.168.0.1)

La differenza tra le due righe se pur semanticamente giuste e’ che usando l’ operatore != chiediamo di eliminare le righe dove abbiamo l’ indirizzo ip indicato, ma dove, nel campo sorgente o destinatario??? Infatti il colore della riga non e’ ne verde ne rosso ma giallo!!!

Page 26: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella reteOra che abbiamo imparato a catturare il traffico di rete , e a filtrarlo, addentriamoci in un’ altra peculiarita’ degli analizzatori di rete, la possibilita’ di seguire il filo logico che lega piu’ pacchetti e di mostrarcelo in chiaro, torniamo all’ esempio della pagina di google caricata in precedenza, selezioniamo dalla prima sezione uno dei pacchetti TCP, clicchiamo col tasto destro del mouse e selezioniamo “follow tcp stream”

Page 27: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella retevedremo come per magia aprirsi una pagina ove abbiamo in chiaro tutta la conversazione tra il nostro browser e il server, potremo cosi’ vedere ad esempio che comunichiamo al server il tipo di browser che stiamo usando e possibilmente anche che sistema operativo (stringa User-agent)

Page 28: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Vedremo anche se siamo arrivati a quell’ indirizzo tramite un link, in quale sito eravamo ed in che pagina (il referer) e tante altre cose utili, cosi’ se invece di aver catturato i dati relativi al traffico di una pagina http, avessimo catturato i dati mentre stavamo controllando la nostra posta col nostro programma di posta preferito (e non abbiamo attivato la crittografica) avremmo avuto in chiaro username e password (ecco perche’ se il traffico non e’ vostro dovete essere autorizzati!!)

Page 29: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Altra feature molto interessante e’ quella di poter effettuare delle ricerche all’ interno dei dati catturati, quindi trovare in modo molto piu’ facile cio’ che ci serve, ad esempio se volete trovare una particolare stringa ascii o hex, basta cliccare sulla lente d’ ingrandimento selezionare Hex o string , inserire il valore da cercare ed il gioco e’ fatto!!!

Page 30: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Salvataggio su disco Infine wireshark permette di salvare i dati per

conservarli, spedirli a qualcuno via mail etc etc, basta cliccare su salva e scegliere il formato in cui vogliamo salvare, e se vogliamo salvare tutti i dati catturati, solo quelli selezionati, solo quelli filtrati, o entro uno specifico range di pacchetti!

Page 31: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

Gli usi per i quali wireshark e' ottimo!! In una rete cisco con CDP abilitato, ci fa' sapere

immediatamente su quale porta dello switch e su quale switch siamo connessi

In una rete della quale non conosciamo niente, ci fa' sapere quale e' il broadcast ed il gateway, quindi come configurarci

Ci permette di recuperare le password di pop ed altri servizi quando prima di formattare un computer ci rendiamo conto che l' utente non le ricorda piu'!

Page 32: Wireshark uno squalo nella rete Wireshark nasce dall esperienza di Gerald Combs, il quale nel 1998 scrisse per uso personale il software ethereal, rilasciato

Wireshark uno squalo nella rete

presentazione a cura di Davide Ammirata

Si ringrazia tutti coloro che hanno scritto i vari tutorial disponibili in rete senza i quali non sarei

mai qui oggi!

e' possibile rivedere l' argomento nel sito www.davidea.it

per contattarmi: [email protected]