Levysoft
  • Home
  • Portfolio
  • WordPress Plugin
  • Contattami

Dal 2004 il blog di Antonio Troise

RSS FeedTwitterFacebook
Mar 16 2018

Debookee, lo sniffer evoluto per Mac OS, si aggiorna con la SSL/TLS decryption

Posted by Antonio Troise
Tweet

Avevo già recensito Debookee tempo fa per spiegarvi quanto fosse semplice analizzare i pacchetti di una rete con questo applicativo per Mac OS X.
Riprendo volentieri l’argomento per segnalarvi che finalmente, dopo qualche mese si attesa, è stato aggiunto il modulo per la decriptazione del traffico SSL/TLS.
Come si evince dalla guida il modulo SSL è una estensione del Modulo NA che permette la decriptazione del proprio traffico HTTPS e permette di intercettare i targets impostando un proxy HTTPS per il classico attacco man in the middle (MITM), che è un po’ il funzionamento su cui si basa Debookee.

Definizione della tecnica MITM

Come noto, HTTPS altro non è che un protocollo standard di protezione del traffico in internet che viene utilizzato per garantire trasferimenti riservati di dati nel web. Funziona aggiungendo un livello di crittografia (SSL, Secure Socket Layer) al normale traffico HTTP.
A differenza del traffico HTTP, che essendo in chiaro, può essere sia intercettato che letto e decodificato, il traffico HTTPS, in condizioni normali, può essere solo intercettato ma non decodificato perchè, per definizione, è cifrato.

L’attacco MITM è efficace con il protocollo HTTP perché, essendo il traffico basato tutto su caratteri standard ASCII in chiaro, è molto facile interagirvi, tanto che è semplicissimo, per esempio catturare i cookie di una sessione o leggere gli header http e quindi entrare su un sito web semplicemente sfruttando i cookie di altri utenti connessi alla nostra rete LAN.

Negli anni, data la debolezza intrinseca del protocollo HTTP, si è affermato il protocollo di comunicazione HTTPS che esegue un’autentificazione del server web in base al protocollo handshake SSL e sviluppa un canale di trasporto cifrato in base a tutte le chiavi simmetriche della sessione. Se è vero, quindi, che l’autenticazione del server avviene tramite un certificato SSL, e se è vero che questa autenticazione offre una protezione affidabile contro gli attacchi man in the middle (poiché l’attaccante avrebbe bisogno di un certificato SSL affidabile per spacciarsi come web server), in pratica questa protezione è collegata all’integrità del certificato in uso.
Quindi, con questi presupposti, un attacco MITM può essere anche effettuato su connessioni cifrate HTTPS ma perché abbia successo è necessario che vengano stabilite 2 sessioni SSL indipendenti, una per ogni connessione TCP: una del browser verso l’attaccante, e un’altra dall’attaccante verso il web server.
In genere, però, i browser moderni avvertono l’utente quando il certificato usato da un determinato sito non è valido, ma spesso l’utente è solito ignorare questo avviso ed è proprio questo il punto di rottura della sicurezza intrinseca del SSL. Certo anche per gli utenti più smaliziati è possibile incorrere in casi in cui il certificato del server stesso è stato compromesso oppure il certificato è rilasciato da compagnie fidate CA, CN, come fossero gli originali di quel sito web, ma sono casi più limite.
Infatti, forse una delle debolezze intrinseche del protocollo handshake SSL è che il browser verifica solo se il certificato presentato dal server è stato assegnato da un organismo di certificazione (Certification Authority, CA) affidabile. Il problema è in passato molti di questi CA sono stati compromessi negli anni passati cosicché gli hacker, i servizi segreti e i governi sono stati in grado di creare certificati apparentemente affidabili e approfittare di questi per eseguire attacchi man in the middle.

Il lavoro svolto dai ragazzi che hanno creato Debookee è stato eccezionale, in quanto hanno permesso di semplificare molto il lavoro dell’attaccante.

12 months of work for 1 single click.

1 click SSL/TLS/IMAPS decryption for iPhone/Android/TV/Fridge
No proxy to set anywhere, no bullshit.

-> Debookee v6.0.1 is now publicly available with 2 new modules: SSL & PROhttps://t.co/coP3T8qqiK pic.twitter.com/bCuO4btvrU

— Debookee (@debookee) 27 novembre 2017

Sul manuale c’è un intero esaustivo Capitolo 8 su “SSL/TLS Decryption Module” che spiega cosa accade quando si usano i certificati su Chrome che usa il pinning della chiave pubblica (più propriamente noto come Public Key Pinning Extension for HTTP o HPKP), ovvero un metodo progettato per offrire agli operatori dei siti Web un mezzo per specificare in modo tassativo le CA autorizzate a rilasciare i certificati i propri server. Il tutto viene definito tramite un’intestazione HTTP dal server al browser. L’opzione di intestazione può contenere, ad esempio, un algoritmo a chiave SHA-1 e/o SHA-256, la durata massima del pin, il supporto o meno dei sottodomini e la rigorosità del pinning.

Se un certificato per il dominio del proprietario del sito Web viene rilasciato da una CA non elencata (ossia, non “fissata”), un browser che supporti il pinning della chiave pubblica mostrerà un avviso di attendibilità. Il proprietario del sito Web può contare sul fatto che le CA prescelte non rilasceranno erroneamente un certificato per il proprio dominio. Spesso queste CA pongono restrizioni su chi può richiedere il rilascio di un certificato per i domini specifici del proprietario, fornendo così un livello aggiuntivo di sicurezza contro il rischio che i certificati vengano erroneamente rilasciati a soggetti non autorizzati.

Per bypassare tutto ciò è necessario installare il Debookee’s Certificate Authority sul nostro obiettivo target (e non sul computer Mac su cui gira Debookee) e seguire la semplice procedura che passa attraverso l’installazione di un mitmdump dal sito http://mitm.it:6969.

Test della decriptazione

Per abilitare Debookee al Modulo SSL è sufficiente andare nel Pannello SSL/TLS e dalla maschera di configurazione decidere se abilitare la decrittazione per tutti i target o anche per il proprio.

Siccome durante l’installazione dell’applicazione ho accettato l’installazione nel Keychain di Mac OS del certificato CA di Debookee, mi mostra con un led verde che la funzione di decriptazione del traffico per il proprio traffico (Own Traffic) era già abilitata e disponibile. Invece, per altri target, la funzione non lo era perché occorreva installare localmente il certificato Debookee (operazione fatta di volta in volta seguendo le brevi indicazioni).

A questo punto, quando si attiva lo sniffer del proprio traffico e si inizia a navigare su qualche sito, invece di avere il laconico messaggio “Can’t decrypt TLS yet” della versione analizzata nella precedente recensione (perché app come Netflix, Paypal e Eni Gas e Luce, almeno nella fase di autenticazione, usavano comunicazioni criptate)

Debookee NA 3

ora è possibile analizzare la url completa della richiesta GET/POST e anche il dettaglio di ogni connessione che transita nel canale cifrato di tutto il traffico locale

Durante la prova mi sono anche imbattuto in qualche sito che non accettava il certificato di Debookee in una chiara dimostrazione di quello che prima mi ero accinto a spiegare sul Public Key Pinning Extension for HTTP o HPKP, cosa che comunque non pregiudica i nostri scopi.

Licenze

Debookee è un programma che offre una trial gratuita ma limitata nelle visualizzazioni in real time dei pacchetti del modulo di Network Analysis, mentre non è disponibile quello di WiFi Monitoring. Data la natura della applicativo, che non può funzionare in una sandbox e quindi non può rispettare le politiche restrittive di Apple, non è presente nell’App Store per cui è necessario scaricarlo e comprare le licenze direttamente dal sito del produttore.
La sola licenza “NA Module” costa 29,90$, quella sola “WM Module” costa 49,90$ mentre la nuova “SSL Module” costa 39,90$.

Tag:Apple, https, Mac os x, sniffer, ssl, tls, wi-fi, wireless
CONTINUE READING >
0 comments
Lug 7 2016

Debookee: il più semplice analizzatore di traffico di dispositivi mobili per Mac OS X

Posted by Antonio Troise
Tweet

Uno sniffer è un dispositivo che permette di catturare il traffico di una rete e quindi le informazioni ivi presenti. Questo perchè si sfrutta il funzionamento di una rete dove tutti i pacchetti vengono inviati a tutti i terminali di rete, ma solo quello a cui sono destinati non li ignora e li legge. Quindi su una qualsiasi interfaccia di rete è teoricamente possibile ascoltare il traffico passante verso qualsiasi dispositivo presente sulla stessa rete.
Se lo sniffer è spesso usato da amministratori di rete per studiare e analizzare il traffico e diagnosticare eventuali problemi, è anche vero che lo sniffer può servire anche ad una persona malintenzionata che abbia un accesso fisico alla rete (fisica o wireless) per raccogliere delle informazioni. Questo ultimo caso è amplificato dal fatto che è possibile analizzare anche reti wireless che si possono estendere con facilità oltre le mure di casa o del proprio ufficio. Inoltre, dato che molti protocolli usati su internet fanno transitare le informazioni in chiaro, cioè in maniera non cifrata, è facile capire come sia facile intercettare informazioni sensibili come username e password.

Quello che mi sono sempre chiesto è che tipo di informazioni transitano nella mia rete wireless di casa quando uso le app del mio smartphone o dal mio tablet. Il problema, infatti, è che esistono protocolli come https per cifrare tutte le comunicazioni e renderle inintelligibili ad un eventuale attaccante esterno, ma a volte capita che qualche app dei nostri dispositivi mobili, non le usano e lasciano transitare in chiaro anche informazioni il cui contenuto possiedono un livello di confidenzialità elevato.

Ecco perché è bene sapere cosa circola nella propria rete ma spesso il primo scoglio che un utente con poca esperienza deve affrontare è la complessità dei programmi di sniffer. Questa difficoltà, però, può essere abbattuta se usiamo un software disponibile solo per Mac OS X: Debookee. Già dal disclaimer viene evidenziato che si tratta del più semplice e potente analizzatore di rete per Mac OS X e, dopo averlo provato per molti giorni, devo dire che le promesse sono state ampiamente mantenute.

Debookee

Debookee con le relative licenze si divide in due moduli: Network Analysis Module (NA) e WiFi Monitoring Module (WM)

Network Analysis Module (NA)

La parte che personalmente ho apprezzato di più è quella relativa al modulo di Network Analysis.
debookee-na-model

Una volta caricata l’interfaccia principale questa è la schemata che viene mostrata:

Debookee NA 1

Come si può vedere, nella sezione centrale, vengono elencate le interfacce di rete (nella maggior parte dei casi sarà sempre la sola en0) e l’ip address / mac address del proprio computer. Nella sidebar, invece, è presente un menu virtualmente separato in due sezioni, una relativa ad ogni modulo: #Network Analysis e #Wi-Fi Monitoring.

Cliccando sul tasto verde “Lan Scan” presente nella toolbar in pochi secondi verrano rilevati tutti i dispositivi presenti nella rete (nel mio caso Wifi) e verranno elencati con tanto di indirizzo ip, mac address, ruolo svolto e vendor (per una più facile identificazione del terminale mobile in mancanza dell’hostname). Come è possibile vedere viene rilevato il modem (con ip 192.168.1.1) con ruolo di Gateway e diversi dispositivi, evidentemente mobili come smartphone o tablet, con vendor Sony e Apple.
Nei miei test ho voluto tenere sotto controllo il traffico generato dal mio iPhone, per cui, in questo caso, è stato facile identificarlo (se aveste qualche dubbio basterà controllare direttamente sul dispositivo l’indirizzo ip assegnato, ovviamente dovrete sempre essere agganciati alla stessa rete Wi-Fi).
Uno dei grandi pregi di Debookee è che è possibile monitorare un solo dispositivo su tutti quelli presenti nella rete Wi-Fi e questo è veramente un grande vantaggio perché si riduce il rumore di fondo dei centinaia di pacchetti che transitano ogni istante.
Per monitorare un solo dispositivo, quindi, sarà sufficiente selezionare la riga corrispondente e cliccare sul tasto “Toggle Target” della toolbar (o fare doppio click col mouse sulla cella relativa al “Role”) e verrà assegnato il ruolo “Target” (Tgt).

Debookee NA 2

Ora che abbiamo assegnato il nostro target possiamo far partire la cattura dei pacchetti di quel dispositivo cliccando sul tasto verde della toolbar “Start NA” (che per evidenziare fase di cattura diventerà rosso) mentre nella sidebar diventeranno in grassetto, mano a mano che arriveranno dati, le voci HTTP, DNS e Other TCP sotto l’indirizzo ip del proprio target (se invece guardate sotto “Own Traffic” vedrete il traffico generato dal vostro computer).
Cliccando su HTTP, quindi, potremo vedere i pacchetti catturati. Se le app funzionano con ssl dovrebbero transitare solo pacchetti cifrati (il software lo evidenzia con la frase “Can’t decrypt TLS yet“)

Debookee NA 3

Come potete constatare, infatti, le app come Netflix, Paypal e anche Eni Gas e Luce (almeno nella fase di autenticazione) usano comunicazioni criptate. Interessante vedere come nel caso di Netflix, possiamo trovare la url completa delle immagine che risultano così visibili anche fuori dalla app (per esempio: http://art-1.nflximg.net/f9fd5/f35f9bd2c3a9f29fdf60541efa16ac17243f9fd5.jpg).
Personalmente trovo molto interessante analizzare come si comportano le app quando le apri e su quali siti si collegano: per esempio molte si collegano su https://graph.facebook.com/ se hanno una autenticazione Facebook, mentre altre si collegano su https://crashlytics.com/ per avere soluzioni di crash reporting dell’app. Insomma le potenzialità di analisi sono letteralmente infinite.

Nella sezione “DNS“, invece, vengono mostrati con il timestamp la lista dei domini dns risolti con il loro indirizzo ip:

Debookee NA 4

Mentre in “Other TCP” è possibile rilevare altri protocolli che non siano HTTP (come, per esempio, IMAP per la posta elettronica):

Debookee NA 5

WiFi Monitoring Module (WM)

Un altro aspetto davvero interessante di questa app è il modulo di Monitoring del Wi-Fi.

debookee-wifi-model

Infatti, con Debookee è possibile analizzare lo stato della propria rete Wi-Fi e quelli dei canali disponibili (Max Rate, Tx Rate, SNR, Data Rate, Bytes inviati ed errori FCS)

Debookee WM 8

Inoltre, premendo sul tasto “Start WM” è possibile scansionare tutte le reti Wi-Fi in zona e vedere quali dispositivi sono connessi a ciascuna rete.

Debookee WM 7

Se lo provate noterete che i software è di una semplicità davvero disarmante: se cliccate su un dispositivo rilevato vi verrà evidenziata la rete wireless a cui è agganciato, mentre se cliccate sulla riga della rete Wi-Fi vi verranno evidenziati tutti i dispositivi collegati.

Licenze

Debookee è un programma che offre una trial gratuita ma limitata nelle visualizzazioni in real time dei pacchetti del modulo di Network Analysis, mentre non è disponibile quello di WiFi Monitoring. Data la natura della applicativo, che non può funzionare in una sandbox e quindi non può rispettare le politiche restrittive di Apple, non è presente nell’App Store per cui è necessario scaricarlo e comprare le licenze direttamente dal sito del produttore.
La sola licenza “NA Module” costa 29,90$, quella sola “WM Module” costa 49,90$ mentre la Combo (NA+WM) costa 69,90$.

Tag:Apple, ipad, iPhone, Mac os x, smartphone, sniffer, Software, tablet, wi-fi, wireless
CONTINUE READING >
0 comments
SeguiPrezzi - Risparmia con Amazon.it

Categorie

Commenti Recenti

  • Antonio Troise on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Fioredicollina on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Antonio Troise on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Emanuele on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Luca on iDatabase: la valida alternativa di Bento per macOS e iOS per i database personali

Meta

  • Accedi
  • Entries RSS
  • Comments RSS
  • WordPress.org

Friends Link

  • GamerTagMatch
  • SeguiPrezzi.it – Risparmia con Amazon.it
  • Trendy Nail

Seguimi su:

  • facebook
  • twitter
  • rss
Creative Commons License
Levysoft by Antonio Troise is licensed under a Creative Commons Attribuzione-Non commerciale 2.5 Italia License.
© Copyright 2004 - 2014 - Levysoft by Antonio Troise
 

Caricamento commenti...