Pe la jumătatea anului 2012, cei de la Dropbox au anunțat că le-au fost furate de către hackeri adresele de email pentru mai mulți utilizatori, fără să dea numărul exact al acestora - așa au spus ei, că doar adresele de email, fără parole... Oare câți dintre noi avem contul Dropbox compromis?
Numărul total al utilizatorilor cărora le-au fost furate datele Dropbox în 2012 a fost secret până la sfârșitul lunii august 2016, când aceste informații au fost scoase la vânzare pe internet. Atunci s-a descoperit că, pe lângă adrese de email, au fost furate și parolele (bine, criptate, dar totuși apar în fișierele respective) de la mai mult de 68 de milioane de useri (Dropbox Cloud are peste 500 de milioane de utilizatori înregistrați).
Imediat, Dropbox a solicitat tuturor utilizatorilor să-și schimbe parolele - ar trebui să vă amintiți asta, că nu e așa de mult de atunci.
Aceste fișiere de care spun au apărut acum la liber și pot fi descărcate de către oricine, fără nicio bătaie de cap, prin intermediul unui fișier de tip .torrent - la o simplă căutare se găsesc mult mai multe surse pentru descărcare. Întâmplător am dat și eu peste ele și, cum curiozitatea mă macină, le-am descărcat să văd și eu ce și cum și dacă cele 2 adrese de email cu care mi-am făcut conturi la Dropbox se regăsesc acolo.
Am dezarhivat fișierul .zip pe Desktop și am dat peste 4 fișiere:
[bobsesa@arch dropbox]$ ls
bf_1.txt bf_2.txt sha1.txt sha2.txt
Căutarea contului propriu
Nu recomand deschiderea lor în mod grafic, căci s-ar putea să vă rupă sistemul cele câteva zeci de milioane de linii din fiecare fișier.
Cele 4 fișiere tip text sunt ideale pentru a ne juca și a învăța mai mult despre fișiere în Linux.
Am folosit comanda grep
cu opțiunea -r
(căutare recursivă):
grep -r adresă_email_căutată /home/numele_vostru_de_utilizator/Desktop/dropbox
Dacă adresa voastră de email se găsește în unul din cele 4 fișiere, vă va apărea ceva asemănător cu:
/home/numele_vostru_de_utilizator/Desktop/dropbox/bf_1.txt:adresa_voastră_email:$5a$02$...
E clar că v-a fost compromis contul Dropbox.
Bineînțeles, ambele mele adrese cu care mi-am făcut cele 2 conturi la Dropbox se regăsesc în unul din cele 4 fișiere...
Problema nu este totuși foarte gravă: chiar dacă v-a fost aflată adresa de email, e foarte greu de decriptat parola. Indicat este să o fi schimbat atunci când cei de la Dropbox v-au cerut asta și, foarte important, activarea autentificării în doi pași.
Numărarea liniilor dintr-un fișier text
Am fost curios să aflu care este numărul exact al conturilor afectate. Am folosit comanda nl
pentru fiecare din cele 4 fișiere:
$nl nume_fișier
Rezultatul mai jos:
Așadar, Dropbox a reușit fără efort să lase să-i fie furate credențialele de la 68.680.742 de conturi. 🙂
Extragerea adreselor de email dintr-un fișier text
M-a ros altă curiozitate: cum se pot extrage doar adresele de email din fiecare fișier text?
Am încercat cu comanda . Într-un comentariu la articol, Nicu a dat comanda corectă cut
și nu mi-a ieșit (sau nu am scris-o eu corect)cut
(care e mai simplă și mai rapidă decât următoarea, cea cu regexp):
cut -d’:’ -f1 *.txt > emails.txt
Dacă numărăm fiecare linie nouă avem:
$ wc -l adrese_email.txt
68680742 adrese_email.txt
Am folosit și comanda grep
cu o expresie regulată extinsă (nu-mi place cum sună termenul tradus - extended regular expression) și cu opțiunea -o
(afișează pe rând nou doar ceea ce se potrivește căutării):
grep -E -o "[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}" nume_fisier.txt > adrese-email.txt
Comanda de mai sus extrage toate adresele de email din nume_fisier și le pune într-un nou fișier text numit adrese_email.txt. Comanda se repetă pentru fiecare din cele 4 fișiere și vor rezulta 4 fișiere text. Dacă vreți un singur fișier text puteți adăuga la primul fișier așa:
grep -E -o "[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}" nume_fisier2.txt >> adrese-email.txt
Sau uniți cele 4 fișiere text rezultate cu comanda cat
:
cat adrese1.txt adrese2.txt adrese3.txt adrese4.txt > adrese.txt
Și așa ați obținut în câteva minute, fără absolut niciun efort, un număr de 68.680.742 adrese de email valide. 🙂 Iar bandiții le oferă la vânzare pentru cei care trimit jdemii de milioane de mesaje spam. 🙂
Probabil tot așa de ușor se pot afla și adresele de email afectate de hackul de la Yahoo de acum 2 ani, despre care nenorociții au anunțat abia acum câteva săptămâni... Ce bine că nu mai folosesc Yahoo de ani și ani de zile...
Cele de mai sus sunt prezentate doar în scop educativ! Atenție la ce faceți cu datele obținute în acest mod!
Ice Alinutza a zis
Articol interesant și util pentru modul în care se execută "o căutare recursivă" într-un dosar cu completarea din secțiunea comentarii! Am cont DropBox dinainte de 2012 și "din fericire" nu mi-am regăsit adresa de e-mail folosită pentru acest cont. Dacă nu ești o persoană "vip" și ai stabilit o "parolă bună" ca nivel de securitate faptul că cineva are în baza de date adresa mea de e-mail nu cred că ar trebui să mă îngrijoreze...
In altă ordine de idei ca să verific funcționarea am folosit căutarea după "bobses*":
grep -r bobses* /home/numele_vostru_de_utilizator/Desktop/dropbox
și mi-au fost returnate rezultate de forma:
"sirbobsen@...", "spongebobsel@...", "bobsetzer@..."
pe lângă cel căutat "bobses@...".
Intrebarea mea se referă la: de ce răspunsul a avut și termeni compuși cu "bobse" (un "s" a fost tăiat) eu nefolosind acest termen ci "bobses*" și de ce mi s-au adăugat termeni ca rezultat în căutare în fața lui "bobses*" chiar dacă eu am folosit la căutare wild card, "*", numai la finalul cuvântului?
Bobses a zis
1. Dap, sunt de aceeași părere: faptul că cineva are adresa mea de email nu mă afectează decât prin creșterea numărului de mesaje spam primite, mai ales că am schimbat parolele.
2. Cum i-ai dat tu, el caută tot grupul de caractere "bobses*", indiferent dacă se află inclus în alt șir de caractere.
Ca să caute exact după expresia pe care i-o indici, trebuie să dai așa:
grep -rw bobses /home/bobsesa/Desktop/dropbox
Sau cum am exemplificat în articol (toată adresa), iar grep caută strict șirul de caractere indicat (care nu va mai avea o altă potrivire).
Nici eu nu le știu pe de rost (nici n-are rost să-mi umplu capul cu ele), dar când vreau să văd toate opțiunile unei comenzi, caut în manual.
Ice Alinutza a zis
Mulțumesc pentru răspuns! Rămâne să caut în manual sau cu gooagle! Nu căutam strict un termen ci "un termen+wild card" iar căutarea mi-a returnat "wild card +termen (complet și incomplet)+wild card". Mai sap de curiozitate!
Bobses a zis
Cu plăcere.
Scrie un man grep în terminal și ai să găsești opțiunea -w.
Nicu a zis
cut -d':' -f1 *.txt > emails.log
wc -l emails.log
68680742 emails.log
Bobses a zis
Dap, asta e. 🙂 E și mai simplă decât cu regex.
Decodificat: taie după delimitatorul ":", selectează numai primul câmp și le duce în fișierul cu adrese. Mie nu mi-a ieșit... 🙁
Mersi mult.
sunshine64sm a zis
Am citit si din curiozitate am descarcat "dropbox.zip".
Dimensiune arhiva: 2.74 GB (2,944,632,728 bytes).
Dimensiune folder despachetat: 4.72 GB (5,077,855,241 bytes)
Am cautat "sunshine..." si se pare ca m-am gasit(!) in fisierul "bf_1.txt" cu textul:
[email protected]:$2a$08$od6197z7fQ94H5B0Sj4ArO8XlLHPE.....
N-am idee ce poate fi, oricum pe Dropbox pastrez citeva fisiere complet aiurea.
Tot din curiozitate re-arhivez in format .7z (cu un plugin in Total Commander, pentru ca 7zip returneaza eroare de depasire de memorie si n-am chef de alte teste), si cei 4.72 GB sint comprimati la (numai) 2.30 GB (2,476,808,985 bytes).
Interesante fisiere text !
Edit: ți-am șters adresa de email, să nu fie la vedere.
Bobses a zis
Ăla-i contul tău: adresa de email cu care te conectezi și parola ta criptată (așa e păstrată pe servere).
Sorin a zis
Multumesc !