Account Takeover

Reading time: 6 minutes

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Authorization Issue

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

Unicode Normalization Issue

  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

Reusing Reset Token

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

Pre Account Takeover

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

CORS Misconfiguration to Account Takeover

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

CORS - Misconfigurations & Bypass

Csrf to Account Takeover

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

CSRF (Cross Site Request Forgery)

XSS to Account Takeover

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

XSS (Cross Site Scripting)

Same Origin + Cookies

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

Cookies Hacking

Attacking Password Reset Mechanism

Reset/Forgotten Password Bypass

Response Manipulation

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

OAuth to Account takeover

OAuth to Account takeover

Host Header Injection

  1. Ο επικεφαλής Host τροποποιείται μετά από την έναρξη ενός αιτήματος επαναφοράς κωδικού πρόσβασης.
  2. Ο επικεφαλής proxy X-Forwarded-For αλλάζει σε attacker.com.
  3. Οι επικεφαλής Host, Referrer και Origin αλλάζουν ταυτόχρονα σε attacker.com.
  4. Μετά την έναρξη μιας επαναφοράς κωδικού πρόσβασης και στη συνέχεια την επιλογή να ξανασταλεί το email, χρησιμοποιούνται και οι τρεις από τις παραπάνω μεθόδους.

Response Manipulation

  1. Code Manipulation: Ο κωδικός κατάστασης αλλάζει σε 200 OK.
  2. Code and Body Manipulation:
  • Ο κωδικός κατάστασης αλλάζει σε 200 OK.
  • Το σώμα της απάντησης τροποποιείται σε {"success":true} ή ένα κενό αντικείμενο {}.

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

Change email of current session

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

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

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

Bypass email verification for Account Takeover

  • Ο επιτιθέμενος συνδέεται με τον επιτιθέμενο@test.com και επαληθεύει το email κατά την εγγραφή.
  • Ο επιτιθέμενος αλλάζει το επαληθευμένο email σε victim@test.com (χωρίς δευτερεύουσα επαλήθευση στην αλλαγή email)
  • Τώρα η ιστοσελίδα επιτρέπει στο victim@test.com να συνδεθεί και έχουμε παρακάμψει την επαλήθευση email του θύματος.

Old Cookies

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

References

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks