Ricevi gli aggiornamenti nella tua email:


nov
24th

Hash Cracking con Hashcat

Author: Angelo Righi | Hacking

Per quanto possa sembrare strano, il cracking delle password, o meglio l’hash cracking, viene effettuato dall’attacker dopo aver ottenuto l’accesso al sistema, non prima. Semmai, come tentativo d’accesso si può utilizzare un login cracking, tecnica simile a quelle descritte in questo articolo ma che fa riferimento ad un contesto diverso.

L’hash cracking viene effettuato soprattutto come tecnica di privilege escalation, per mantenere l’accesso dopo un attacco, ma anche per il riutilizzo delle password in altri contesti (account cracking).

In questo articolo parlerò delle principali tecniche di password cracking, anzi, per la precisione di hash cracking. Questa operazione entra di solito in scena nella fase di post-exploitation, ovvero quando l’attacker è riuscito in qualche modo e penetrare un sistema e ad esfiltrare informazioni, come appunto il fie delle password, per esempio il SAM database in Windows, il file shadow nei sistemi Linux, il database di una web application dove le password vengono memorizzate in MD5.

Per approfondire come prelevare le password di Windows da remoto, può dare uno sguardo a questo vecchio post.

Teoria dell’Hash Cracking

Le password non dovrebbero mai essere memorizzate in chiaro, ma cifrate. Questo è quello che fanno i sistemi operativi e le principali web application in giro per Internet. Inoltre, non dovrebbero essere codificate tramite algoritmi reversibili, ma tramite algoritmi “a senso unico”, ovvero algoritmi di hashing.

Da un codice hash non si può risalire alla password che lo ha generato; l’unica cosa che si può fare è confrontarlo con il risultato di un’operazione di hashing effettuata partendo da un valore noto. Questo è proprio quello che fa un programma per garantire al legittimo utente l’accesso al sistema: l’utente digita la password, quest’ultima viene codificata con l’algoritmo di hashing e il risultato viene confrontato con l’hash memorizzato. Se i due valori corrispondono, la password immessa è valida, altrimenti no.

Ovviamente l’attacker non conosce la password, quindi per “craccarla” deve generare una quantità di candidati, dove per candidato intendo una parola in chiaro codificata con l’algoritmo utilizzato per generare la password ignota,  da confrontare con l’hash; quando il candidato corrisponde, la password è stata trovata.

Un  esempio concreto. Se prendiamo la parola ‘pippo’ e la codifichiamo tramite MD5, otteniamo:

pippo -> MD5 -> 0c88028bf3aa6a6a143ed846f2be1ea4

ma se prendiamo il codice hash 0c88028bf3aa6a6a143ed846f2be1ea4, non siamo un grado di risalire al messaggio originale:

0c88028bf3aa6a6a143ed846f2be1ea4 -> ???

L’unica cosa da fare è prendere delle parole, codificarle e confrontare il risultato con l’hash ignoto:

pluto -> MD5 -> c6009f08fc5fc6385f1ea1f5840e179f = 0c88028bf3aa6a6a143ed846f2be1ea4? NO
paperino -> MD5 -> b54b45b19ca1f1ddc424e6b878a53f2d = 0c88028bf3aa6a6a143ed846f2be1ea4? NO
pippo -> MD5 -> 0c88028bf3aa6a6a143ed846f2be1ea4 = 0c88028bf3aa6a6a143ed846f2be1ea4 SI!!!
La password è pippo!

Strategie di Cracking

Per fare questo esistono diverse strategie, fondamentalmente tre: l’attacco a dizionario, dove vengono utilizzate corpose raccolte di parole utilizzatre come candidati; quando dico “corpose raccolte”, intendo dire alcuni miliardi; l’attacco brute-force, ovvero forza bruta, dove viene specificato un  charset, ovvero una serie di caratteri (per esempio, tutti i caratteri alfabetici minuscoli), la lunghezza minima e quella massima, e vengono quindi generati i candidati in tempo reale, testando tutte le combinazioni possibili del charset specificato; inutile dire che questo attacco può durare anche molto a lungo. la terza strategia è quella dell’attacco ibrido, dove viene utilizzato un  dizionario come base portante dell’attacco, e per ogni parola del dizionario vengono effettuate permutazioni, trasformazioni o  manipolazioni, come l’aggiunta all’inizio e/o alla fine di numeri.

Negli esempi che porto in questo articolo, utilizzo Hashcat, potente e veloce hashcracker, strumento assai diffuso nel mondo ethical e non ethical hacking:

http://hashcat.net/hashcat/

Inoltre, per poter effettuare attacchi dictionary attack (che vedremo tra poco) è necessario disporre di grossi file di dizionari; di seguito potete trovare due dei dizionari più utilizzati:

Crackstation

Rockyou

Dictionary Attack

Il primo tipo di attacco agli hash è sicuramente il dictionary attack. In questo tipo di attacco, i candidati vengono generati elaborando tramite l’algoritmo di hashing target una serie di parole in chiaro, confrontando il risultato di questa operazione con l’hash da craccare. E’ superfluo precisare che questo tipo di attacco è particolarmente efficace quando si hanno a disposizione dizionari corposi (qualche miliardo di parole).

L’attacco a dizionario contro un hash MD5 può essere eseguito tramite hashcat con i seguenti parametri:

hashcat-cli64.exe -a 0 -m 0 hashtocrack.txt dictionary.txt

Dove  -a 0 indica l’attacco (dictionary), -m 0 è l’algoritmo MD5, hashtocrack.txt il file che contiene l’hash da craccare e dictionary.txt ovviamente è il file che contiene le parole da codificare e confrontare con l’hash..

Brute-force Attack

Nel brute force attack, i candidati vengono generati dal programma in base a regole specificate. Bisogna istruire l’hashcracker specificando la lungheza della password che stiamo cercando di craccare e di quali caratteri si presume sia composta la password. Nell’esempio seguente, hashcat genera tutte le combinazioni di lettere (minuscole) e numeri, della lunghezza compresa tra 7 e 8 caratteri:

hashcat-cli64.exe -m 0 -a 3 hashtocrack.txt -1 ?d?l ?1?1?1?1?1?1?1?1 --pw-min 7 --pwd-max 8

Dove -a 3 indica l’attacco brute-force, -m 0 (come prima) indica l’hash md5, –pw-min e –pw-max indicano in modo abbastanza intuitivo la presunta lunghezza minima e massima della password da craccare. L’opzione -1 è un po’ più complessa: significa che possiamo specificare un charset personalizzato, combinando due charset standard (?d e ?l). Il nostro charset sarà quindi formato da tutte le cifre decimali (?d indica tutti i numeri da 0 a 9) e da tutti i caratteri alfabetici minuscoli (?l significa appunto tutte i caratteri alfabetici minuscoli, lowercase).

L’opzione seguente (?1?1?1?1?1?1?1?1) indica il numero di posizioni del nostro charset da combinare. Questa regola, genera tutte le combinazioni (lunghe fino a 8 caratteri) di caratteri alfanumerici (numeri e lettere dell’alfabeto minuscole).

In questo articolo ho presentato le tecniche base dell’hash cracking, ho spiegato le necessarie basi teoriche e ho indicato alcune risorse per poter iniziare a praticare l’arte.


Altri articoli:

Craccare gli Hash di WordPress
Sebbene le password di una web application vengano memorizzate nel database in formato cifrato,...

Password Cracking alla Velocità della Luce
Com'è noto il problema principale del password cracking è il tempo. Un attacco brute-force può richiedere...

PillolHacking.Net: I Migliori Articoli di Marzo 2009
Anche questa mese propongo l'elenco di quelli che a mio avviso sono stati i migliori articoli di PillolHacking.Net...

Come Recuperare e Craccare la Chiave WPA su Xp
E' possibile recuperare facilmente una chiave WEP dal servizio Wireless Zero Configuration di Windows...


ott
31st

[Video] OSINT e Pivoting

Author: Angelo Righi | Risorse, Security

Negli ultimi mesi ho presentato alcuni eventi online gratuit (webinar), presentati da eLearnSecurity. In particolare voglio ricordare il corso di open source intelligence (OSINT), e il corso di exploiting e pivoting.

Per chi non avesse avuto la possibilità di seguire in diretta questi webinar, ricordo che ora, di questi due eventi, sono disponibili le registrazioni video integrali:

OSINT e Inormation Gathering

Hera Lab, Dimostrazioni Pratiche di Exploiting e Pivoting

Buon divertimento!


Altri articoli:

[Eventi] Webinar Gratuito: Post-Exploitation
Quando un hacker riesce ad accedere ad un sistema, il suo lavoro non è terninato: è solo all’inizio....

[Eventi] Webinar Gratuito: Hera Lab, Dimostrazioni pratiche di Exploiting e Pivoting
L’exploit è la fase determinante di un’operazione di hacking, è il momento della verità, dove...

[Eventi] Webinar Gratuito su OSINT e Information Gathering
Vi siete mai chiesti come sia possibile che persone a noi del tutto sconosciute, con le quali non siamo...

[Eventi] Webinar: Diventa il nuovo Manager della Sicurezza ICT
Negli ultimi mesi eLearnSecurity ci ha abituato a proporre interessantssimi webinar focalizzati sul tema...


set
30th

[Eventi] Webinar: Diventa il nuovo Manager della Sicurezza ICT

Author: Angelo Righi | Security

Negli ultimi mesi eLearnSecurity ci ha abituato a proporre interessantssimi webinar focalizzati sul tema del penetration testing, webinar finalizzati alla presentazione di corsi di formazione dal grande contenuto tecnico, corsi realizzati in maniera molto professionale e convincente.

Questa volta l’azienda toscana, alza il tiro e propone un evento di presentazione ad un corso leggermente diverso: rimane il tema della sicurezza informatica, ma visto da un prospettiva manageriale; non a caso il titolo è “Diventa il nuovo Manager della Sicurezza ICT”.

Salta all’occhio lo spessore degli istruttori di questo corso:

Ing. Marco R.A. Bozzetti: Laureato in ingegneria elettronica al Politecnico di Milano, si occupa di ICT da quasi 40 anni e di compliance da più di 20. Ha operato con responsabilità crescenti presso primarie imprese di produzione e di consulenza quali Olivetti, Italtel e GEA, oltre ad essere stato il primo responsabile dei sistemi informativi a livello “corporate” (CIO) dell’intero gruppo ENI. È ideatore e curatore di OAI, Osservatorio Attacchi Informatici in Italia, e di EAC, Enterprise Architecture Conference; È attualmente membro del Consiglio Direttivo di AIPSI e di FIDaInform, Socio fondatore e componente del Comitato Scientifico dell’FTI, Socio di AIPSI, ClubTI Milano, ProSpera.

Dr. Francesco Zambon: Laureato in Matematica Facoltà di Scienze presso l’Università di Padova. Oggi svolge attività di consulenza per società IT in Italia e all’estero in particolare per la governance dei processi di erogazione dei servizi IT e per i sistemi informatici a supporto della sicurezza logica. La carriera come dirigente si è conclusa in ENI S.p.a. dove ha collaborato all’unificazione di tutte le risorse informatiche del gruppo ENI in tutto il mondo. Ha lavorato presso Enidata S.p.a..,Tema S.p.a. e per l’Ente Spaziale Europeo (ESA) e come consulente della Comunità Europea per la valutazione di progetti di ricerca nei settori dell’intelligenza artificiale e del calcolo parallelo.

Durante il webinar, sarà possibile rivolgere loro domande.Gli interessati possono iscriversi al webinar di presentezione a questo link. Per maggiori informazioni, puoi consultare la brochure del corso.

ATTENZIONE: A causa dell’improvviso insorgere di problemi imprevisti, il webinar è stato annullato. Per informazioni, contattare eLearnSecurity

 


Altri articoli:

[Video] OSINT e Pivoting
Negli ultimi mesi ho presentato alcuni eventi online gratuit (webinar), presentati da eLearnSecurity....

[Eventi] Webinar Gratuito: Post-Exploitation
Quando un hacker riesce ad accedere ad un sistema, il suo lavoro non è terninato: è solo all’inizio....

[Eventi] Webinar Gratuito: Hera Lab, Dimostrazioni pratiche di Exploiting e Pivoting
L’exploit è la fase determinante di un’operazione di hacking, è il momento della verità, dove...

Diventare Esperto in Web App Security
La sicurezza di un sistema è forte quanto il suo anello più debole: qual’è oggi il punto più vulnerabile...


ago
31st

Attacco Laterale

Author: Angelo Righi | Cyberwarfare

In quello che si può sicuramente considerare l’attacco più clamoroso degli ultimi tempi, ovvero quello che il Syrian Electronica Army (SEA) ha portato contro il sito del New York Times e di Twitter, emerge l’importanza dell’attacco laterale.

Per attacco laterale intendo un attacco in  cui, una volta preso atto dell’impossibilità di attaccare direttamente un sistema, si estende l’analisi della superficie di attacco a sistemi collegati (come fornitori).

Nel caso del SEA, a essere preso di mira, è stato il servizio di registrazione e gestione domini, utilizzato tra gli altri da NYTimes e Twitter. A questo punto è stato facile per gli hacker pro Assad impossessarsi dei DNS delle vittime e sabotarli.

Ma non solo: pare che gli hacker siriani, per accedere al provider utilizzato dai siti attaccati, abbiamo sfruttato le debolezze di un cliente del provider, andando a trovare il fatidico “anello debole” della catena, sfruttando un ulteriore attacco laterale.

Questo evento mette in evidenza come la protezione di un sistema stia diventando un vero incubo, e come un hacker estremamente motivato e determinato, sia assai difficile da fermare.

Vedremo a breve se all’escalation militare “convezionale”, assisteremo anche (com’è probabile) all’intensificarsi di cyber operations.


Altri articoli:

Hacking ed Eterotelia
Di fronte ad un evento o a una situazione che pare senza via d'uscita o senza soluzione, bisognerebbe...

Quanto tempo ci vuole per craccare una password?
Esistono in linea generale tre tipi di attacco per craccare una password: il dictionary attack, il password...

PillolHacking.Net: I Migliori Articoli del 2010
Quello che si conclude è l’anno di Wikileaks e di Stuxnet, del controverso Assange e dell’esplosione...

Un Grande Programmatore è anche un grande Hacker?
Iniziai a programmare perché non c'era altro da fare. Il mio primo computer fu un Commodore Vic-20 con...


lug
18th

[Eventi] Webinar Gratuito: Hera Lab, Dimostrazioni pratiche di Exploiting e Pivoting

Author: Angelo Righi | Hacking, Security

L’exploit è la fase determinante di un’operazione di hacking, è il momento della verità, dove le aspettative di portare a segno l’attacco vanno a buon fine: o vanno in fumo. E’ l’exploit che finalizza lo sforzo di information gathering e delle fasi preliminari di ricognizione del sistema target.

Ma come si svolge la fase di exploiting di un vero penetration test? Per saperlo, basta seguire il webinar gratuito, organizzato da eLearnSecurity e presentato il 23 Luglio alle 21.30, webinar che segue, e completa, il precedente evento online dedicato alle tecniche di OSINT, sempre offerto gratuitamente dall’azienda toscana, protagonista mondiale del settore della formazione nel campo della sicurezza informatica.

Di cosa si parla? I lettori di PillolHacking già sanno bene cosa sono gli exploit, e come è possibile utilizzare un framework potente come Metasploit per lanciare letali attacchi remoti.

In  particolare, nel webinar verrà mostrato come utilizzare Metasploit per attaccare sistemi e sfruttare le macchine compromesse per dilagare nelle reti protette da firewall (pivoting); quindi, come recuperare dalle macchine compromesse, le informazioni necessarie per attaccare le altre macchine dell’organizzazione target, sfruttando (immagino) tecniche tipo pass-the-hash.

Per fare tutto questo, verrà utilizzato il potente HERA LAB, un laboratorio accessibile tramite VPN, che permette di mettere in pratica attacchi e testare tecniche di hacking in un ambiente vistuale e isolato.

HERA LAB, disponibile anche nei corsi di penetration testing organizzati da eLearnSecurity, è considerato il più avanzato laboratorio virtuale al mondo, utilizzato dalla U.S. Air force (e altri enti militari di tutto il mondo) per formare il proprio personale di cyber security.

Puoi seguire la registrazione dell’evento a questo indirizzo


Altri articoli:

[Video] OSINT e Pivoting
Negli ultimi mesi ho presentato alcuni eventi online gratuit (webinar), presentati da eLearnSecurity....

[Eventi] Webinar Gratuito: Post-Exploitation
Quando un hacker riesce ad accedere ad un sistema, il suo lavoro non è terninato: è solo all’inizio....

[Eventi] Webinar Gratuito su OSINT e Information Gathering
Vi siete mai chiesti come sia possibile che persone a noi del tutto sconosciute, con le quali non siamo...

[Eventi] Webinar: Diventa il nuovo Manager della Sicurezza ICT
Negli ultimi mesi eLearnSecurity ci ha abituato a proporre interessantssimi webinar focalizzati sul tema...