domenica 27 novembre 2016

Post Crackato.


Tempi duri quelli del buco dell'ozono, bastano 4 giorni di pioggia e il fiume Po fa casini, gli sfigati near fiumi hanno un metro di acqua in casa, le motobarche Valentino e Valentina strappano gli ormeggi e la Valentina affonda, alla Bizzarria (loco abitativo della Bela Rusina) non ci si puo’ andare causa esondazione del Ceronda e quindi non mi rimane altro che cazzeggiare nel web con sentimento distruttivo e guarda guarda mi ritrovo persona che una decina e passa di anni fa avevo incontrato nel percorso hackeroso quando anziche’ facebucche si viaggiava con ICQ e Mirc.. questi programmi e in special modo nel secondo erano frequentati da lamer (aspiranti Cracker con conoscenze informatiche limitate) il cui scopo era quello di eccellere nello sfidare chi usava tecnologia informatica e il buon ZeroCode al secolo MikeBond ha resistito ed e’ diventato una persona importante con tanto di cattedra all'University di Cambridge..insomma ha cambiato bandiera ed e' diventato un normale.

Mi spiace non aver conservato le nostre battaglie Anche perche' si tratta di una dozzina ed oltre di computer fa..allora ci si picchiava di brutto, abbiamo cominciato facendo aprire il cassetto del CD dell’avversario oppure crackando la pass della posta e del nickname sostituendoci alla persona e facendo danni sui cassettoni che giravano a velocita’ con freni a disco..bei tempi che ricordo con nostalgia e il post seguente lo dedico a ZeroCode o Mike Bond qualdirsivoglia ...questo studio lo abbiamo fatto assieme per il semplice fatto che poi siamo diventati amici in quanto era inutile fracassarci quando mettendo assieme le nostre abilita’ abbiamo constatato la vera unione che ha fatto la forza.... e vi spiego il fatto...

Sui giornali di allora o riviste on line si leggevamo frasi del tipo:

Nell’ultimo estratto conto della mia banca, ho trovato addebiti di alcune voci di spesa effettuate tramite POS in negozi in cui non sono mai stato.”

Mi hanno rubato il portafoglio con dentro tessere bancomat, in meno di un’ora avevano gia’ esaurito tutte le possibilita’ di credito (prelievo, acquisti POS, presticasch) ma ovviamente i PIN non erano conservati nel portafoglio.”

Nei mesi scorsi mi son visto addebitare migliaia di euro in prelievo bancomat effettuati dalla Spagna ma io non ci son mai stato.”

Le banche ovviamente davano la colpa all’incuria dell’utente, considerato che dicevano impossibile che castigatori potessero individuare il codice d’accesso ovvero il PIN.

E qui e’ nato lo studio della prova contraria e la ricerca nel web di uno studio sui PIN e lo abbiamo trovato in Inghilterra dove due coniugi incorsi nel castigaggio dei loro soldini, avevano intentato causa al Diners Citybank incaricando un prof del dipartimento di sicurezza informatica e crittografia del Computer Laboratory dell’Universita’ di Cambridge.

Trattavasi del proff. Anderson che diede l’incarico ad un suo studente di seguire il caso..e lo studente era lo ZeroCode al secolo il mio amico Mike Bond.

Quindi messe da parte le armi per il cazzisterio litigatorio in ICQ e’ partito lo studio sull’IBM 3624 utilizzato dalla CityBank e l’esito finale e’ stato nella dimostrazione citata sopra che con un max di 15 tentativi si riusciva a scoprire il PIN e ancor oggi il rapporto lo troverete qui.

La Banca e’ stata costretta dal giudice a pagare il dovuto e ne e’ nato un post e ancor oggi io non ho carte credito di cui non nutro eccessiva fiducia (le ha mia moglie).

L’intento del post non era e non e' tuttoggi quello di fornire uno strumento per commettere illeciti ma di sensibilizzare e informare su rischi reali della fragilita’ sull’utilizzo della carta bancomat (si parla del 2003) che poteva essere crackata in 15 tentativi max.. le banche ne erano a conoscenza ma la loro unica preoccupazione era che la clientela non lo dovesse sapere.

Lo studio evidenziava le vulnerabilita’ della carta e soprattutto su tre algoritmi che in 15 tentativi si scioglievano come neve al sole a dispetto dei 5.000 paventati dalle banche a fronte di forza bruta. Il PIN delle carte ATM e delle carte credito,infatti, e’ costituito da 4 cifre. I caratteri previsti sono soltanto numerici ossia 10. (1234567890) Le combinazioni possibili sono quindi 10^4 cioe’ 10.000.

Secondo la Banca, per trovare un PIN valido di un conto corrente sono necessarie almeno meta’ delle combinazioni ossia 5.000 per avere il 50% delle probabilita’ di trovarlo..ammesso di trovarlo.

Ebbene, una verifica sul sistema IBM3624 partiva dall’inserimento della carta nell’apposita fessura del bancomat dove il sistema leggeva sulla striscia magnetica il numero del conto corrente dell’utente.

A differenza di quanto si possa pensare, il Pin non e’ presente sulla striscia..ne’ in chiaro..ne’ cifrato o criptato.. una volta che l’utente inserisce il PIN sulla tastiera numerica i dati vengono inviati all’HSM (Hardware SecuritY Module) che e’ un coprocessore su cui gira una API relativa ai servizi finanziari ed in genere e’ unico per ogni banca.

L’HSM ha una caratteristica di libreria che risponde solamente con un NO o con un SI come il referendum di dicembre.. in particolare quella che si occupa dell’autenticazione e’ la Encripted_Pin_Verify (vedi la jpg sotto)



I tre parametri di ingresso piu’ importanti inviati alla funzione sono:

  1. L’Encripted Pin lock che non e’ altro che il PIN inserito dall’utente sul tastierino dello sportello bancomat criptato allo scopo di evitare intercettazioni.
  2. Il Pan Data ossia il numero di conto letto sulla carta bancomat.
  3. La Decimalisation Table che e’ la tabella di conversione in decimale.



Prima di continuare e’ opportuno che si sappia come viene generato il PIN a quattro cifre di un bancomat ATM.il PIN ha un legame stretto col numero di conto o della carta credito per il semplice fatto che sono le prime quattro cifre esadecimali del conto o della carta criptate con l’algoritmo DES e con una chiave caratteristica di ogni banca.. chiamata appunto Pin Generation Key..facciamo un es..




Prendiamo le prime quattro cifre che costituiranno il PIN, ossia 3F7C.

A questo punto entra in gioco la tabella di conversione decimale che fa in modo che possa esser digitato sul tastierino numerico dello sportello Bancomat.

 Le nostre quattro cifre diventano 3572 ed ecco ottenuto un PIN valido.
In genere a cio’ si aggiunge un valore offset, ossia un numero di massimo a quattro cifre che di base viene impostato 0000 che serve qualora l’utente faccia richiesta di un nuovo PIN.

Dal momento che non e’ possibile che venga cambiato il suo numero di conto ci si limita ad aggiungere un certo valore al PIN originario.

Tale valore viene inviato sempre alla funzione di verifica dell’HSM attraverso il parametro offset_data.

Per la verifica di una richiesta di prelievo, l’HSM segue il procedimento inverso sottraendo dal PIN l’offset dopodiche’ converte il risultato ottenuto con la tabella di conversione decimale fornita assieme alla richiesta e confronta il risultato con le prime quattro cifre criptate del conto corrente.

Nell’es che abbiamo fatto il PIN 3572 darebbe un risultato positivo non soltanto nel caso in cui le prime quattro cifre esadecimali del conto criptato fossero 3F7C ma anche 3F7C o 3572.Insomma in tutti i casi in cui il PIN inserito abbia la corrispondenza con la tabella di conversione.

Sfruttando questa vulnerabilita’ possiamo quindi dimostrare che attraverso la manipolazione della tabella di conversione e’ possibile ottenere le quattro cifre costituenti il PIN valido e quindi provando tutte le combinazioni, arrivare al PIN stesso.

Ecco come eseguire la Manipolizzazione delle tabelle di conversione.

Ipotizziamo che il PIN esadecimale sia quello dell’esempio, noi siamo in grado di inviare all’HSM la tabella che desideriamo..nel caso specifico la seguente..


Inviamo come PIN 0000 insieme al numero del conto corrente di cui vogliamo scoprire il vero PIN. 
A questo punto l’HSM dara’ come valido il PIN 0000 soltanto se nel PIN vero sara’ presente il numero 3 o la lettera C che nelle tabelle di conversione standard danno origine sempre al numero 3, oppure rispondera’ con un secco NO se la cifra non e’ presente.

Eccovi la dimostrazione che facendo 10 tentativi con tabelle di conversione opportunamente modificate, e’ possibile conoscere la presenza o meno delle 10 cifre esadecimali all’interno del PIN.

Questo e’ il principio che sta alla base del funzionamento degli algoritmi sopra descritti e capirete il motivo per cui guardo con diffidenza le carte credito dal momento che i castigatori sanno come recuperare il PIN e mi spiace che l’utilizzatore di carta credito non potra’ dimostrare che il PIN non sia stato gelosamente custodito ed e' meglio che io vada alla Bizzarria col mio amico Franco alla faccia delle esondazioni novembrine.(e' ito senza di me causa il post di cui sopra..)