Wireshark…attacchiamo la rete con lo squalo!

In questo articolo/guida voglio parlarvi di un programma molto utile.. chiaramente spetta a voi deciderne l’utilizzo che ne volete fare…

Wireshark consente di analizzare la struttura di una rete a caccia di eventuali errori di configurazione, inoltre è in grado di identificare molti tipi di incapsulamento e di isolare e visualizzare tutti i campi che compongono un pacchetto. Funziona anche da packet-sniffer….in modo simile a tcpdump.

Inziamo con l’installare il programma…in che modo? Semplice: sudo apt-get install wireshark (debian/Ubuntu) emerge wireshark (Gentoo) yum install wireshark (RedHat/Fedora).

 

Bene ….partiamo….sudo wireshark

Vediamo come scoprire una password di una sessione FTP, così , intercettando una connessione tra un client e un server possiamo scoprire i dati di accesso all’account!

Iniziamo con il catturare il traffico: avviamo Wireshark, clicchiamo quindi su Capture/Interfaces e sceglieamo l’interfaccia che va verso la rete (per esempio eth0)…clicchiamo su Start, da questo momento la nostra interfaccia potra ricevere tutti i pacchetti in transito sulla rete!

Adesso apriamo un secondo terminale e proviamo ad effettuare una normale sessione FTP verso l’IP di un server FTP che usiamo per il nostro test…inseriamo la password per il login e diamo qualche comando…chiudiamo la sessione.

Adesso possiamo tornare nella finestra principale di Wireshark, vedremo che ci sono molti pacchetti che sono transitati in rete dal momento in cui abbiamo avviato la cattura…clicchiamo su Stop Capture (Ctrl+E) e esaminiamo il traffico acquisito…

Capire qualcosa tra tutto il traffico non è certo cosa semplice….quindi ricorreremo ad un filtro BPF, cioè quello che ci mostrerà soltanto i pacchetti che fanno parte di una connessione FTP, quindi nel campo Filter digitiamo ftp. Sarà immediatamente evidenziato il traffico della nostra sessione e la password!!!

Cattura di una sessione HTTP

Iniziamo…avviamo il nostro Wireshark, clicchiamo su Edit/Preferences/Protocols/HTTP e spuntiamo l’opzione Uncompress entity bodies per fare in modo che sia il programma che decomprimerà i contenuti web, che sono stati inviati in modo compresso.

Durante la cattura, dobbiamo spostarci nel box Filter dalla finestra principale e impostiamo un filtro per mostrare solo il trafficio HTTP, basterà quindi scrivere http. In questo momento ogni pagina che sarà visitata dagli utenti delle rete genererà questo tipo di traffico e noi saremo lì per catturarlo….

scegliamo un request http, selezioniamolo e faccoamo clic con il tasto destro e scegliamo l’opzione Follow TCP Stream, così facendo wireshark aprirà una nuova finestra contenente la ricostruzione di tutta la sessione HTTP in ordine cronologico che ha dato vita al request selezionato.

Possiamo anche isolare solo le richieste di ricerche effettuate su motori di ricerca, e estrarre le parole chiave ricercate dagli utenti. Per fare questo basterà inserire il filtro http.request.uri contains “search”, nel campo Filter

 

come difendersi dalla scansione delle porte

in pratica useremo wireshark per identificare e isolare eventuali portscan effettuati sulle macchine della rete.

Iniziamo…sudo wireshark

Scegliamo l’interfaccia di rete su cui ascoltare e avviamo una live capture cliccando su Capture/Start. Cercheremo di individuare e isolare i tentativi di scansione delle porte effettuati tramite Nmap. Portiamoci su una seconda macchina di test ed effettuiamo con Nmap un SYN Scan e un Xmas Scannmap -sS -F ip e nmap -sX -F ip (l’opzione -F effettuerà la scansione solo sulle porte standard). Aspettiamo che l’operazione sia terminata e torniamo sulla macchina che sta effettuando la cattura del traffico.

Ci chiediamo: come facciamo per isolare un Syn Scan (paccheto SYN)?

Chiaramente dovremmo utilizzare un filtro che ci evidenzierà le richieste SYN formati da pacchetti di lunghezza 0, faremo così: ip.proto==6 and tcp.flags==2 and tcp.len==0. Questo filtro ci mostrerà solo i pacchetti di tipo TCP che hanno il flag SYN settato e che sono privi di payload.

Il filtro per l’ Xmas scan è molto simile, basterà cambiare il parametro tcp.flags che dovremmo impostare uguale a 41.

Con questi piccoli consigli potete sbizzarrirvi a discriminare moltre altre tipologie di scan….

Buon divertimento! Ci vediamo alla prossima e ultima (per adesso) puntata su Wireshark…vedremo come analizzare una sessione MSN….e quindi captare il flusso di conversazione MSN tra due client!!

come si svolge un analisi di una sessione MSN

in pratica useremo Wireshark per esaminare il flusso di una conversazione MSN fra due client!
Iniziamo…
per prima cosa avviamo una sessione di chat con un qualunque contatto msg della nostra lista, chiaramente dovremmo tenere wireshark attivo per tutta la durata della sessione, in questo modo avremo il log di tutti i messaggi che verranno scambiati fra il client e il server principale. Al termine della conversazione fermiamo la cattura, e come sempre vedremo la finestra dei pacchetti popolata con tutto il traffico generato dalla rete. Se guardiamo con attenzione il listato noteremo che ci sono alcuni pacchetti con protocollo MSNMS (MSN Messenger Service), dovremo quindi evidenziare questi pacchetti e lasciar lavorare il dissector.
Nella finestra Filter impostiamo il filtro MSNMS, e cerchiamo la stringa JOI che è il marcatore utilizzato dal protocollo MSN quando si avvia una chat. Evidenziamo il pacchetto, tasto destro e clicchiamo su Follow TCP Stream, questo per fare in modo che il filtro non escluda pacchetti importanti. Se scorriamo la finestra possiamo identificare anche i messaggi di chat. I comandi più interessanti sono MSG: indica l’arrivo di un messaggio, USR: conferma l’avvenuta connessione con un client, BYE: quando un utente remoto chiude la finestra dei messaggi.
Bene..spero che queste informazioni vengano usate solo per scopo didattico e per fare delle prove sulla propria rete…a voi la scelta!