miercuri, 16 ianuarie 2013

DroidSheep, sau de ce e important HTTPS-ul din browser

Plictiseală mare în seara asta aşa că intru pe android.stackexchange.com să văd ce se mai discută pe acolo. Cineva întreabă care ar fi avantajul root-ului pe dispozitivele Android iar, ca răspuns, i se spune că poţi chiar folosi instrumente pentru sniffing-ul datelor în reţeaua wireless locală. Hmm, sniffing pe Android? Nici nu credeam că e posibil.


Nu am găsit un sniffer serios, mai mult interfeţe pentru tcpdump care salvează tot ce scanează în reţea într-un fişier ce necesită a fi descărcat în PC, în programe precum Wireshark. Nu prea folositor. Printre aplicaţiile testate de mine se numără şi DroidSheep - un sniffer specializat pe furtul sesiunilor de Facebook, Twitter, LinkedIn, Yahoo şi altele. Pornesc aplicaţia (care face şi spoofing - lucru bun) şi apare în listă un profil de Facebook, al unuia din noii colegi de cameră. Interesant, oricum uitasem cum îl cheamă aşa că aplicaţia şi-a dovedit cât de cât utilitatea. Mai apar şi în listă şi două conturi de Yahoo, moment în care am inspiraţia să apăs cu degetul pe o intrare din listă - hopa, reacţionează. Apare un meniu, iar unul din ele zice Open site. Activez opţiunea şi - surpriză - mă trezesc în contul de mail al colegului. Am rămas perplex şi următorul pas a fost să fac o donaţie dezvoltatorului aplicaţiei (care este open-source, btw) pentru a-i răsplăti ingeniozitatea.

Nu vreau să fiu înţeles greşit - pun mare preţ pe intimitatea oamenilor - însă am rămas într-atât de surprins de eficacitatea aplicaţiei încât m-am simţit îndatorat să scriu despre ea. Nu încurajez pe nimeni să o folosească pentru a fura conturi de Facebook, Yahoo! Mail sau mai ştiu eu ce (gândiţi-vă înainte de a apela la astfel de metode la "ce ţie nu-ţi place, altuia nu-i face"), însă faptul că aplicaţia funcţionează e un lucru remarcabil.


Scanare: aplicaţia detectează un cont de Facebook
şi unul de Yahoo. Tot ce a fost necesar
a fost doar să se acceseze paginile acestor site-uri.
Cum funcţionează?
AirDroid face mai întâi ARP spoofing (pentru ca router-ul să ne trimită date ce au de fapt ca destinaţie alţi utilizatori din reţea) şi captează traficul făcut prin HTTP pe site-urile cunoscute. Când acesta detectează un site cunoscut, salvează cookie-urile şi permite conectarea la aceste site-uri folosindu-le pentru autentificare. Desigur, nu puteţi vedea sau schimba parolele de vreme ce aceste site-uri cer mai întâi parola veche (în caz că v-aţi întrebat vreodată de ce - aveţi răspunsul acum), iar aplicaţia nu funcţionează pentru traficul făcut prin HTTPS (deoarece protocolul e securizat şi nu e posibil acest lucru din punct de vedere tehnic).



Cum să vă protejaţi?
Doar două atingeri de ecran
şi uite-mă în contul de Facebook al unuia din colegi...
Folosiţi versiunile securizate ale site-urilor pe care le vizitaţi, dacă acestea sunt disponibile. Facebook, GMail/Google, Yahoo (şi multe site-uri importante) au asemena versiuni. Am putut intercepta datele contului de Facebook ale unuia din colegii de cameră datorită faptului că acesta folosea versiunea nesecurizată a acestuia - dacă aşa e şi cazul tău, treci imediat pe versiunea securizată! Pe contul de Yahoo! Mail al celuilalt coleg am putut intra datorită faptului că Pidgin face ceva trafic prin HTTP în loc de HTTPS (o să fac un ticket pe bug tracker-ul de la Pidgin pentru nişte explicaţii). Oricine intră în posesia cookie-urilor dumneavoastră va avea, din păcate, acces la cont (însă - în funcţie de mecanismul de securitate al site-ului - nu vă va putea suprima şi dumneavoastră acest acces).
... şi în cea de mail a celuilalt coleg.

Dacă intenţionaţi să utilizaţi aplicaţia pe dispozitivul dumneavoastră Android, nu uitaţi că aveţi nevoie de root. Totodată, ajustaţi urgent setările de securitate ale site-urilor pe care le verificaţi şi utilizaţi versiunile securizate ale acestora - dacă cu un amărât de dispozitiv cu Android s-a putut obţine acces la unele conturi private, gândiţi-vă ce se poate face cu instrumente specializate!

Update: se pare că Yahoo! foloseşte HTTPS doar la partea de login - navigarea în restul site-ului se face prin HTTP normal. Bravo, Yahoo!.

1 comentarii :

Dragos Sebestin spunea...

Foarte tare! E uimitor cate se pot face de pe un device Android.