Due hacker decifrano una password vecchia di 11 anni e recuperano 3 milioni di dollari in bitcoin

Due hacker decifrano una password vecchia di 11 anni e recuperano 3 milioni di dollari in bitcoin

Un utente non ha più potuto accedere al suo wallet di criptovalute per aver perso la password. Due hacker lo hanno aiutato con successo, in una storia che evidenza i rischi della custodia di criptovalute

di pubblicata il , alle 11:31 nel canale Web
Bitcoin
 
35 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
azi_muth30 Maggio 2024, 18:44 #11
Magari si sono lambiccati il cervello per anni e poi la password era "la_password_è_questa"

matrix8330 Maggio 2024, 19:54 #12
Originariamente inviato da: !fazz
news migliori rispetto a quella della news? perchè da li non sembra che abbiano rotto truecrypt, se avano una finestra di possibili sali per l'rng sempre di bruteforce si tratta a casa mia


Premesso che solo per il fatto di italianizzare salt meriti la sedia elettrica.
Ma ti sei perso tutto il lavoro di reverse engineering che si è dovuto fare per arrivare a capire come generasse le password prima, che usasse la data e ora dopo e se usasse o meno char speciali alla fine. Poi certo alla fine di tutto sto tram tram si è andato di bruteforce. E comunque non un bruteforce classico dove aumenti un carattere di uno e provi la parola successiva... ma avranno immagino generato delle rainbow tables con una lista di password gia pronte da provare, saltandone quindi milioni non valide già in partenza.
Sandro kensan30 Maggio 2024, 21:40 #13
Scusate l'analisi matematica ma mi piacerebbe calcolare quante combinazioni ci sono nella password scritta da un utente in uno dei primi commenti.

La pwd è questa:

;S0noV€RamÉnt3Stp1t0che~CISIANoRi|sc11ti,Cr1bbi@_


Si nota subito che ha un carattere speciale all'inizio e uno alla fine, quindi è una pwd piuttosto prevedibile, molti utenti hanno questo comportamento.

Stimiamo il numero di simboli pari a 20 (non ho voglia di fare il conto esatto).

Poi si nota che sono state usate delle comuni parole e un dizionario comune ha circa 3 mila parole. Però sono state usate sia lettere maiuscole che minuscole in modo casuale. Visto che «Ad esempio, se si stima che nella scrittura della lingua italiana la lunghezza media delle parole è di 6 caratteri» (Fonte Wikipedia), si ha che con la parola media l'aggravio di questo trucco è di un fattore 2^6 = 64, per una parola di 10 lettere l'aggravio è di 2^8 =256 e quindi non è lineare. Comunque stimiamo l'aggravio di 256 per tutto il vocabolario. Allora il numero di tentativi da fare è:

3'000*256

Quindi si comprende: "Ciao", "cIao", "ciAo", "ciaO", CIao", ecc, ecc, in tutte le combinazioni possibili che sono 2^4=16 (perchè "ciao" è lungo 4 lettere).

Visto che le parole sono 8 le combinazioni sono:

(parole del dizionario)^8

Inoltre si nota che sono state sostituite alcune lettere con dei simboli un uno schema che in Rete si trova spesso e che sicuramente è già stato codificato con delle tabelle apposite:
o => 0, @
e=> €, è, È, É
i => |, ì, Ì
ecc, ecc.
Non ho la tabella ma stimiamo che riguardo solo le vocali che sono 5 e che per ogni vocale ci siano 3 varianti. Se prendiamo una parola generica del vocabolario da 8 caratteri (la parola media è di 6 caratteri) e consideriamo l'alternanza comune Consonante-Vocale, abbiamo:
cVcVcVcV
quindi 4 volcali ogni una delle quali può assumere 3 valori diverse quando sostituite con i simbolo, fanno un numero di combinazioni (stimato) per parola pari a:
3^4 =81

Quindi siamo arrivati a:

(3'000*256 *81)^8

Aggiungiamo il simbolo all'inizio e alla fine (i simboli sono 20):
20² =400

Adesso siamo arrivati a un numero di combinazioni pari a:

(3'000 * 256 *81)^8 * 400

Si nota che l'utente ha introdotto alcuni errori nella pwd, gli errori sono molto limitati:

;S0noV€RamÉnt3Stp1t0che~CISIANoRi|sc11ti,Cr1bbi@_

sono una sostituzione di una lettera con un simbolo qualsiasi, visto che la lunghezza della frase con 8 parole da 6 lettere medie è di:
8*6 =48
se sostituiamo una sola lettera con uno dei 20 simboli abbiamo un fattore di 48*20 = 960

(3'000 * 256 *81)^8 * 400 * 960

se togliamo una lettera abbiamo il fattore 48:

(3'000 * 256 *81)^8 * 400 * 960 * 48

e si può andare avanti togliendo altre lettere in tutte le combinazioni e altri simboli:

(3'000 * 256 *81)^8 * 400 * 960² * 48²

Con la pwd dell'utente basta andare poco avanti.

Che numero abbiamo ottenuto con l'ultima combinazione? Facciamo il conto:

1.9*10^74 combinazioni diverse da provare

Come confronto "A novembre 2023, la rete Bitcoin funziona con un hash rate di circa 460.000.000 Th/s.".

Il numero di hash della Rete Bitcoin è di 4.6*10^20 al secondo

Se paragoniamo i due brute force e calcoliamo il tempo per scoprire la pwd dell'autente, abbiamo un tempo pari a:

4*10^53 secondi

Che è un tempo elevatissimo ma non tanto se consideriamo che con 3 parole invece di 8 e un dizionario elementare di 1000 parole (come quello usato dall'utente) la pwd è quasi exploitabile da tutta la Rete bitcoin mondiale:

7.6 *10^33 sono le combinazioni della pwd con 3 parole
in 500 mila anni la pwd è exploitabile.

Quindi si capisce che riducendo ai simboli più probabili (che sono meno di 20 da me ipotizzati) e altre efficienze che sono quelle del provare prima quello che l'utente ricorda più facilmente, si arriva a scovarla in tempi brevi con tutta la potenza del mining mondiale.
Saturn30 Maggio 2024, 21:57 #14
Originariamente inviato da: matrix83
[...]
Ma ti sei perso tutto il lavoro di reverse engineering che si è dovuto fare per arrivare a capire come generasse le password prima, che usasse la data e ora dopo e se usasse o meno char speciali alla fine. Poi certo alla fine di tutto sto tram tram si è andato di bruteforce. E comunque non un bruteforce classico dove aumenti un carattere di uno e provi la parola successiva... ma avranno immagino generato delle rainbow tables con una lista di password gia pronte da provare, saltandone quindi milioni non valide già in partenza.


Insomma alla fine "questa è la via", gli insegnamenti del Sensei Loris Batacchi della Scuola del Cobra , "VIA DI SPATOLA, COLPIRE FORTE, SENZA PIETA'" valgono anche per il settore IT !

Originariamente inviato da: Sandro kensan
[...]


Veramente appassionante la tua analisi.
Saturn30 Maggio 2024, 22:03 #15
Vediamo se con questa ti faccio faticare un po' più !

[B][SIZE="4"]0aZ_#f!(fYBs2$سلامNnè1~d°0تهرانd问候语tÉ░2c[/SIZE][/B]
Sandro kensan30 Maggio 2024, 22:08 #16
Originariamente inviato da: Saturn
Veramente appassionante la tua analisi.


Trovi?
Sei per caso tu l'autore della pwd? devo andare a vedere i commenti della prima pagina...

Comunque aggiorno il calcolo della stima del numero di combinazioni con un dizionario elementare da 1000 parole, un numero di simboli di 10, una lunghezza media per parola di 6 lettere, 3 parole, si ottiene un numero di combinazioni da provare pari a:

160*10^24

che non è molto distante dalla potenza di mining mondiale che c'è in 1 secondo:

«Il numero di hash della Rete Bitcoin è di 4.6*10^20 al secondo»

Infatti la differenza è di soli 350 mila secondi ovvero 4 giorni.

Facendo i calcoli precisi sono sicuro che il numero è di molto inferiore e provando prima i simboli e le parole più comuni e poi quelle meno comuni sono sicuro che in pochi secondi si fa l'exploit.

Certo stiamo parlando dell'intera potenza di hash mondiale, da non dimenticare. Però tra 4 o 5 anni potremmo averla sotto il tavolo o quasi.
WarSide30 Maggio 2024, 22:11 #17
Originariamente inviato da: Saturn
Vediamo se con questa ti faccio faticare un po' più !

[B][SIZE="4"]0aZ_#f!(fYBs2$سلامNnè1~d°0تهرانd问候语tÉ░2c[/SIZE][/B]


Certo che non sei bastardo, di più
Saturn30 Maggio 2024, 22:12 #18
Originariamente inviato da: Sandro kensan
Trovi?


Assolutamente si !

Originariamente inviato da: Sandro kensan
Sei per caso tu l'autore della pwd? devo andare a vedere i commenti della prima pagina...


Ancora si, inventata senza perderci troppo tempo sopra, era tanto per. Ti garantisco che dove è necessario imposto password di altra fattura !

Originariamente inviato da: Sandro kensan
Comunque aggiorno il calcolo della stima del numero di combinazioni con un dizionario elementare da 1000 parole, un numero di simboli di 10, una lunghezza media per parola di 6 lettere, 3 parole, si ottiene un numero di combinazioni da provare pari a:

160*10^24

che non è molto distante dalla potenza di mining mondiale che c'è in 1 secondo:

«Il numero di hash della Rete Bitcoin è di 4.6*10^20 al secondo»

Infatti la differenza è di soli 350 mila secondi ovvero 4 giorni.

Facendo i calcoli precisi sono sicuro che il numero è di molto inferiore e provando prima i simboli e le parole più comuni e poi quelle meno comuni sono sicuro che in pochi secondi si fa l'exploit.

Certo stiamo parlando dell'intera potenza di hash mondiale, da non dimenticare. Però tra 4 o 5 anni potremmo averla sotto il tavolo o quasi.


Concordo ! E secondo me sono pure stime forse al ribasso...però per stasera fammi dormire un sonno tranquillo, speriamo che l'intera potenza non si metta di punta per craccare proprio la mia roba e le mie pwd !

Originariamente inviato da: WarSide
Certo che non sei bastardo, di più


Aahhhhhh.....ora si che "si è raddrizzato" !

Godo nel leggere questi malvagi apprezzamenti !
Sandro kensan30 Maggio 2024, 22:23 #19
Originariamente inviato da: Saturn
Vediamo se con questa ti faccio faticare un po' più !

[B][SIZE="4"]0aZ_#f!(fYBs2$سلامNnè1~d°0تهرانd问候语tÉ░2c[/SIZE][/B]


Devo sempre andare a vedere se sei tu l'autore della pwd piena di trucchi. Però io ho già scritto un articolo che risponde alla tua domanda implicita nella pwd che mi hai scritto qui sopra. Riassumendo il mio articolo è che se generi casualmente una password magari senza usare un algoritmo ma tirando i dadi (basta una coppia di dai da 6 che si possono comprare al mercatino delle pulci o su Temu), fai un numero di lanci come questi:

5315563245256154225623

Poi converti questi numeri in una serie di lettere minuscole del tipo:

sdkfsdfiwlaojndf

magari togli le lettere dell'alfabeto inglese

poi costruisci una filastrocca con le iniziali delle lettere che hai ottenuto e calcoli il numero di combinazioni che è:

20^20 = 10^26

per 20 lettere ovvero una filastrocca da 20 parole che si può ricordare, invece la tua pwd non la ricorderai mai.

10^26 è usabile perché la si può ricordare a memoria e sicura per molti usi. Se poi si aggiunge un numero casuale di 3 o 4cifre dopo allora diventa anche abbastanza sicura.

Questo il mio articolo:

https://www.kensan.it/articoli/Password_sicurezza.php
Saturn30 Maggio 2024, 22:27 #20
Originariamente inviato da: Sandro kensan
Devo sempre andare a vedere se sei tu l'autore della pwd piena di trucchi. Però io ho già scritto un articolo che risponde alla tua domanda implicita nella pwd che mi hai scritto qui sopra. Riassumendo il mio articolo è che se generi casualmente una password magari senza usare un algoritmo ma tirando i dadi (basta una coppia di dai da 6 che si possono comprare al mercatino delle pulci o su Temu), fai un numero di lanci come questi:

5315563245256154225623

Poi converti questi numeri in una serie di lettere minuscole del tipo:

sdkfsdfiwlaojndf

magari togli le lettere dell'alfabeto inglese

poi costruisci una filastrocca con le iniziali delle lettere che hai ottenuto e calcoli il numero di combinazioni che è:

20^20 = 10^26

per 20 lettere ovvero una filastrocca da 20 parole che si può ricordare, invece la tua pwd non la ricorderai mai.

10^26 è usabile perché la si può ricordare a memoria e sicura per molti usi. Se poi si aggiunge un numero casuale di 3 o 4cifre dopo allora diventa anche abbastanza sicura.

Questo il mio articolo:

https://www.kensan.it/articoli/Password_sicurezza.php


Leggerò con molto interesse e attenzione.

p.s. entrambe le password sono farina del mio sacco !

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^