Account Takeover

Υποστήριξη HackTricks

Πρόβλημα Εξουσιοδότησης

Το email ενός λογαριασμού θα πρέπει να προσπαθήσετε να αλλάξετε, και η διαδικασία επιβεβαίωσης πρέπει να εξεταστεί. Εάν βρεθεί ασθενής, το email θα πρέπει να αλλάξει σε αυτό του προοριζόμενου θύματος και στη συνέχεια να επιβεβαιωθεί.

Πρόβλημα Κανονικοποίησης Unicode

  1. Ο λογαριασμός του προοριζόμενου θύματος victim@gmail.com

  2. Ένας λογαριασμός θα πρέπει να δημιουργηθεί χρησιμοποιώντας Unicode για παράδειγμα: vićtim@gmail.com

Όπως εξηγήθηκε σε αυτή την ομιλία, η προηγούμενη επίθεση θα μπορούσε επίσης να γίνει εκμεταλλευόμενη τρίτους παρόχους ταυτότητας:

  • Δημιουργήστε έναν λογαριασμό στον τρίτο πάροχο ταυτότητας με παρόμοιο email με το θύμα χρησιμοποιώντας κάποιο χαρακτήρα unicode (vićtim@company.com).

  • Ο τρίτος πάροχος δεν θα πρέπει να επαληθεύει το email

  • Εάν ο πάροχος ταυτότητας επαληθεύσει το email, ίσως μπορείτε να επιτεθείτε στο μέρος του τομέα όπως: victim@ćompany.com και να καταχωρίσετε αυτόν τον τομέα και να ελπίζετε ότι ο πάροχος ταυτότητας θα δημιουργήσει την ascii έκδοση του τομέα ενώ η πλατφόρμα του θύματος κανονικοποιεί το όνομα τομέα.

  • Συνδεθείτε μέσω αυτού του παρόχου ταυτότητας στην πλατφόρμα του θύματος που θα πρέπει να κανονικοποιήσει τον χαρακτήρα unicode και να σας επιτρέψει να αποκτήσετε πρόσβαση στον λογαριασμό του θύματος.

Για περισσότερες λεπτομέρειες, ανατρέξτε στο έγγραφο σχετικά με την Κανονικοποίηση Unicode:

Unicode Normalization

Επαναχρησιμοποίηση Κωδικού Επαναφοράς

Εάν το σύστημα στόχος επιτρέπει την επαναχρησιμοποίηση του συνδέσμου επαναφοράς, θα πρέπει να καταβληθούν προσπάθειες για να βρείτε περισσότερους συνδέσμους επαναφοράς χρησιμοποιώντας εργαλεία όπως gau, wayback, ή scan.io.

Προ Ανάληψη Λογαριασμού

  1. Το email του θύματος θα πρέπει να χρησιμοποιηθεί για να εγγραφεί στην πλατφόρμα, και θα πρέπει να οριστεί ένας κωδικός πρόσβασης (θα πρέπει να γίνει μια προσπάθεια επιβεβαίωσής του, αν και η έλλειψη πρόσβασης στα emails του θύματος μπορεί να το καθιστά αδύνατο).

  2. Θα πρέπει να περιμένετε μέχρι το θύμα να εγγραφεί χρησιμοποιώντας OAuth και να επιβεβαιώσει τον λογαριασμό.

  3. Ελπίζεται ότι η κανονική εγγραφή θα επιβεβαιωθεί, επιτρέποντας την πρόσβαση στον λογαριασμό του θύματος.

Λάθος Ρύθμιση CORS για Ανάληψη Λογαριασμού

Εάν η σελίδα περιέχει λάθη ρύθμισης CORS, μπορεί να είστε σε θέση να κλέψετε ευαίσθητες πληροφορίες από τον χρήστη για να αναλάβετε τον λογαριασμό του ή να τον κάνετε να αλλάξει τις πληροφορίες αυθεντικοποίησης για τον ίδιο σκοπό:

CORS - Misconfigurations & Bypass

CSRF για Ανάληψη Λογαριασμού

Εάν η σελίδα είναι ευάλωτη σε CSRF, μπορεί να είστε σε θέση να κάνετε τον χρήστη να τροποποιήσει τον κωδικό πρόσβασής του, το email ή την αυθεντικοποίηση ώστε να μπορείτε στη συνέχεια να αποκτήσετε πρόσβαση σε αυτό:

CSRF (Cross Site Request Forgery)

XSS για Ανάληψη Λογαριασμού

Εάν βρείτε ένα XSS στην εφαρμογή, μπορεί να είστε σε θέση να κλέψετε cookies, τοπική αποθήκευση ή πληροφορίες από τη σελίδα που θα μπορούσαν να σας επιτρέψουν να αναλάβετε τον λογαριασμό:

XSS (Cross Site Scripting)

Ίδια Προέλευση + Cookies

Εάν βρείτε έναν περιορισμένο XSS ή μια ανάληψη υποτομέα, θα μπορούσατε να παίξετε με τα cookies (σταθεροποιώντας τα για παράδειγμα) για να προσπαθήσετε να συμβιβάσετε τον λογαριασμό του θύματος:

Cookies Hacking

Επίθεση Μηχανισμού Επαναφοράς Κωδικού

Reset/Forgotten Password Bypass

Μανipulation Απόκρισης

Εάν η απόκριση αυθεντικοποίησης μπορεί να μειωθεί σε μια απλή boolean, απλώς προσπαθήστε να αλλάξετε το false σε true και δείτε αν αποκτάτε πρόσβαση.

OAuth για Ανάληψη Λογαριασμού

OAuth to Account takeover

Εισαγωγή Επικεφαλίδας Host

  1. Η επικεφαλίδα Host τροποποιείται μετά από την έναρξη ενός αιτήματος επαναφοράς κωδικού.

  2. Η επικεφαλίδα X-Forwarded-For τροποποιείται σε attacker.com.

  3. Οι επικεφαλίδες Host, Referrer και Origin αλλάζουν ταυτόχρονα σε attacker.com.

  4. Μετά την έναρξη μιας επαναφοράς κωδικού και στη συνέχεια την επιλογή να ξανασταλεί το email, χρησιμοποιούνται και οι τρεις από τις παραπάνω μεθόδους.

Μανipulation Απόκρισης

  1. Μανipulation Κωδικού: Ο κωδικός κατάστασης τροποποιείται σε 200 OK.

  2. Μανipulation Κωδικού και Σώματος:

  • Ο κωδικός κατάστασης αλλάζει σε 200 OK.

  • Το σώμα της απόκρισης τροποποιείται σε {"success":true} ή ένα κενό αντικείμενο {}.

Αυτές οι τεχνικές μανipulation είναι αποτελεσματικές σε σενάρια όπου χρησιμοποιείται JSON για τη μετάδοση και λήψη δεδομένων.

Αλλαγή email της τρέχουσας συνεδρίας

Από αυτή την αναφορά:

  • Ο επιτιθέμενος ζητά να αλλάξει το email του με ένα νέο

  • Ο επιτιθέμενος λαμβάνει έναν σύνδεσμο για να επιβεβαιώσει την αλλαγή του email

  • Ο επιτιθέμενος στέλνει το σύνδεσμο στο θύμα ώστε να το κάνει κλικ

  • Το email του θύματος αλλάζει σε αυτό που υποδεικνύει ο επιτιθέμενος

  • Ο επιτιθέμενος μπορεί να ανακτήσει τον κωδικό πρόσβασης και να αναλάβει τον λογαριασμό

Αυτό συνέβη επίσης σε αυτή την αναφορά.

Παλιές Cookies

Όπως εξηγήθηκε σε αυτή την ανάρτηση, ήταν δυνατό να συνδεθείτε σε έναν λογαριασμό, να αποθηκεύσετε τα cookies ως αυθεντικοποιημένος χρήστης, να αποσυνδεθείτε και στη συνέχεια να συνδεθείτε ξανά. Με τη νέα σύνδεση, αν και μπορεί να παραχθούν διαφορετικά cookies, τα παλιά άρχισαν να λειτουργούν ξανά.

Αναφορές

Υποστήριξη HackTricks

Last updated