Μπορώ να παραβιάσω ένα λογαριασμό του Facebook; Ίσως είναι η πιο συχνή ερώτηση στο Διαδίκτυο. Αν και η λύση είναι δύσκολο να βρεθεί, ένας White hat hacker απέδειξε το πόσο εύκολο είναι να παραβιάσει κάποιος όχι ένα αλλά πολλούς λογαριασμούς στο Facebook με κάποιες βασικές γνώσεις υπολογιστή.
Ο Gurkirat Singh από την Καλιφόρνια ανακάλυψε πρόσφατα ένα παραθυράκι στο μηχανισμό επαναφοράς κωδικού πρόσβασης του Facebook που θα μπορούσε να δώσει σε ένα hacker πλήρη πρόσβαση σε λογαριασμούς του Facebook.
Η επίθεση είναι απλή, αν και ο τρόπος εκτέλεσης είναι αρκετά δύσκολος. Ας δούμε τι αναφέρει ο Gurkirat (@GurkiratSpeca):
Το θέμα βρίσκεται στον τρόπο με τον οποίο το Faceboοk σας επιτρέπει να επαναφέρετε τον κωδικό πρόσβασής σας. Το κοινωνικό δίκτυο χρησιμοποιεί έναν αλγόριθμο που παράγει έναν τυχαίο 6-ψήφιο κωδικό πρόσβασης (αυτό σημαίνει είναι 10⁶ = 1.000.000 δυνατοί συνδυασμοί) ο οποίος δεν αλλάζει μέχρι να γίνει ‘used’ (αν τον ζητήσετε από mbasic.facebook.com).
«Αυτό θα μπορούσε να σημαίνει ότι αν 1 εκατομμύριο άνθρωποι ζητήσουν ένα κωδικό πρόσβασης μέσα σε σύντομο χρονικό διάστημα, και κανείς δεν χρησιμοποιεί τον αριθμό του για να επαναφέρει τον κωδικό πρόσβασης, τότε ο 1,000,0001 που θα ζητήσει έναν αριθμό θα πάρει έναν κωδικό που κάποιος από τους προηγούμενους έχει λάβει ήδη,» αναφέρει ο Gurkirat σε μια δημοσίευση στο blog του.
Ο Gurkirat άρχισε να συλλέγει τα πρώτα έγκυρα αναγνωριστικά από το Faceboοk κάνοντας ερωτήσεις στο Faceboοk Graph API ξεκινώντας με το 100.000.000.000.000, δεδομένου ότι τα αναγνωριστικά του Faceboοk είναι γενικά μήκους 15 ψηφίων. Στη συνέχεια επισκέφθηκε www.facebook.com/[ID] με έναν έγκυρο αριθμό ταυτότητας στη θέση του [ID].
Η διεύθυνση URL ανακατευθύνεται αυτόματα και αλλάζει το Faceboοk ID με το όνομα του χρήστη. Με τον τρόπο αυτό, ήταν σε θέση να κάνει μια λίστα με 2 εκατομμύρια έγκυρα ονόματα χρηστών του Faceboοk.
«Ανέφερα για πρώτη φορά αυτό το σφάλμα στις 3 Μαΐου του 2016, αλλά το Faceboοk δεν πίστεψε ότι η εκτέλεση μιας επίθεσης τόσο μεγάλης κλίμακας θα μπορούσε να ήταν εφικτή. Ήθελαν απόδειξη,» ανέφερε ο Gurkirat στο Hacker News.
«Έτσι πέρασα σχεδόν ένα μήνα για την ανάπτυξη μιας υποδομής που είχε σαν στόχο τους 2 εκατομμύρια χρήστες του Faceboοk. Στη συνέχεια υπέβαλα εκ νέου αυτό το σφάλμα, και συμφώνησαν ότι ήταν πράγματι ένα κενό ασφαλείας.»
Στη συνέχεια, χρησιμοποιώντας ένα script, εκατοντάδες proxy και τυχαίους user-agents, ο Gurkirat ξεκίνησε να στέλνει αυτόματα αιτήματα επαναφοράς κωδικού πρόσβασης για αυτούς τους 2 εκατομμύρια χρήστες.
Επέλεξε τυχαία ένα 6-ψήφιο αριθμό, δηλαδή το 338.625, και άρχισε τη διαδικασία επαναφοράς κωδικού πρόσβασης χρησιμοποιώντας ένα brute forcing script εναντίον όλων των ονομάτων που είχε στη λίστα του, ελπίζοντας ότι ο αριθμός αυτός είχε ανατεθεί από το Facebook σε κάποιον στην λίστα των 2.000.000 ονομάτων χρηστών .
Έτσι ο Gurkirat κατάφερε να βρει ένα σωστό κωδικό επαναφοράς κωδικού πρόσβασης και το όνομα χρήστη ένας συνδυασμός που του επέτρεψε να επαναφέρει τον κωδικό πρόσβασης και παραβιάσει τον λογαριασμό ενός τυχαίου χρήστη του Faceboοk.
Έτσι ο Gurkirat κατάφερε να βρει ένα σωστό κωδικό επαναφοράς κωδικού πρόσβασης και το όνομα χρήστη ένας συνδυασμός που του επέτρεψε να επαναφέρει τον κωδικό πρόσβασης και παραβιάσει τον λογαριασμό ενός τυχαίου χρήστη του Faceboοk.
Παρά το γεγονός ότι το Facebook επιδιόρθωσε άμεσα το σφάλμα που αναφέρθηκε από τον Gurkirat, ο ερευνητής πιστεύει ότι το patch του Facebook δεν είναι «αρκετά ισχυρό για να μετριάσει αυτή την ευπάθεια.»
iguru.gr
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου