Account Takeover
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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Ζήτημα Εξουσιοδότησης
Το email ενός λογαριασμού πρέπει να επιχειρηθεί να αλλάξει, και η διαδικασία επιβεβαίωσης πρέπει να ελεγχθεί. Εάν βρεθεί αδύναμη, το email πρέπει να αλλάξει σε αυτό του επιθυμητού θύματος και στη συνέχεια να επιβεβαιωθεί.
Πρόβλημα Κανονικοποίησης Unicode
- Ο λογαριασμός του επιθυμητού θύματος
victim@gmail.com - Πρέπει να δημιουργηθεί ένας λογαριασμός χρησιμοποιώντας Unicode
για παράδειγμα:vićtim@gmail.com
Όπως εξηγείται σε αυτή την ομιλία, η προηγούμενη επίθεση θα μπορούσε επίσης να γίνει κακοποιώντας third party identity providers:
- Create an account in the third party identity with similar email to the victim using some unicode character (
vićtim@company.com). - The third party provider shouldn’t verify the email
- If the identity provider verifies the email, maybe you can attack the domain part like:
victim@ćompany.comand register that domain and hope that the identity provider generates the ascii version of the domain while the victim platform normalize the domain name. - Login via this identity provider in the victim platform who should normalize the unicode character and allow you to access the victim account.
For further details, refer to the document on Unicode Normalization:
Επαναχρησιμοποίηση Reset Token
Εάν το στοχευόμενο σύστημα επιτρέπει το reset link να επαναχρησιμοποιηθεί, πρέπει να γίνουν προσπάθειες να βρεθούν περισσότερα reset links χρησιμοποιώντας εργαλεία όπως gau, wayback, ή scan.io.
Pre Account Takeover
- Το email του θύματος θα πρέπει να χρησιμοποιηθεί για εγγραφή στην πλατφόρμα, και να οριστεί ένας κωδικός πρόσβασης (πρέπει να γίνει απόπειρα επιβεβαίωσης, αν και η έλλειψη πρόσβασης στα emails του θύματος μπορεί να το κάνει αδύνατο).
- Πρέπει να περιμένετε μέχρι το θύμα να εγγραφεί μέσω OAuth και να επιβεβαιώσει τον λογαριασμό.
- Ελπίζεται ότι η τακτική εγγραφή θα επιβεβαιωθεί, επιτρέποντας πρόσβαση στον λογαριασμό του θύματος.
Μη σωστή ρύθμιση CORS για Account Takeover
Εάν η σελίδα περιέχει CORS misconfigurations μπορεί να καταφέρετε να αποσπάσετε ευαίσθητες πληροφορίες από τον χρήστη για να αναλάβετε τον λογαριασμό του ή να τον κάνετε να αλλάξει πληροφορίες αυθεντικοποίησης για τον ίδιο σκοπό:
CORS - Misconfigurations & Bypass
Csrf to Account Takeover
Εάν η σελίδα είναι ευάλωτη σε CSRF μπορεί να καταφέρετε να κάνετε τον χρήστη να αλλάξει τον κωδικό του, το email ή τις ρυθμίσεις αυθεντικοποίησης ώστε να αποκτήσετε στη συνέχεια πρόσβαση στον λογαριασμό του:
CSRF (Cross Site Request Forgery)
XSS to Account Takeover
Εάν εντοπίσετε XSS στην εφαρμογή μπορεί να καταφέρετε να κλέψετε cookies, local storage, ή πληροφορίες από τη σελίδα που θα μπορούσαν να σας επιτρέψουν να αναλάβετε τον λογαριασμό:
Same Origin + Cookies
Εάν βρείτε ένα περιορισμένο XSS ή subdomain take over, μπορείτε να πειραματιστείτε με τα cookies (π.χ. fixating τους) για να προσπαθήσετε να συμβιβάσετε τον λογαριασμό του θύματος:
Επίθεση στον μηχανισμό επαναφοράς κωδικού
Reset/Forgotten Password Bypass
Security-question resets that trust client-supplied usernames
If an “update security questions” flow takes a username parameter even though the caller is already authenticated, you can overwrite any account’s recovery data (including admins) because the backend typically runs UPDATE ... WHERE user_name = ? with your untrusted value. The pattern is:
- Συνδεθείτε με έναν προσωρινό χρήστη και καταγράψτε το session cookie.
- Υποβάλετε το username του θύματος μαζί με νέες απαντήσεις μέσω της φόρμας επαναφοράς.
- Αυθεντικοποιηθείτε άμεσα μέσω του security-question login endpoint χρησιμοποιώντας τις απαντήσεις που μόλις εισαγάγατε για να κληρονομήσετε τα προνόμια του θύματος.
POST /reset.php HTTP/1.1
Host: file.era.htb
Cookie: PHPSESSID=<low-priv>
Content-Type: application/x-www-form-urlencoded
username=admin_ef01cab31aa&new_answer1=A&new_answer2=B&new_answer3=C
Οτιδήποτε προστατεύεται από το context $_SESSION του θύματος (admin dashboards, dangerous stream-wrapper features, κ.λπ.) είναι τώρα εκτεθειμένο χωρίς να αγγίξεις τις πραγματικές απαντήσεις.
Οι enumerated usernames μπορούν στη συνέχεια να στοχοποιηθούν μέσω του overwrite technique παραπάνω ή να επαναχρησιμοποιηθούν εναντίον παρεμφερών υπηρεσιών (FTP/SSH password spraying).
Response Manipulation
Αν η authentication response μπορεί να περιοριστεί σε ένα απλό boolean, δοκίμασε απλώς να αλλάξεις false σε true και δες αν αποκτάς πρόσβαση.
OAuth to Account takeover
Host Header Injection
- Το Host header τροποποιείται μετά την εκκίνηση αίτησης password reset.
- Το
X-Forwarded-Forproxy header αλλάζει σεattacker.com. - Τα Host, Referrer και Origin headers αλλάζουν ταυτοχρόνως σε
attacker.com. - Μετά την εκκίνηση password reset και επιλέγοντας την επαναποστολή του mail, εφαρμόζονται και οι τρεις προαναφερθείσες μέθοδοι.
Response Manipulation
- Code Manipulation: Το status code τροποποιείται σε
200 OK. - Code and Body Manipulation:
- Το status code αλλάζει σε
200 OK. - Το response body τροποποιείται σε
{"success":true}ή σε ένα κενό αντικείμενο{}.
Αυτές οι τεχνικές manipulation είναι αποτελεσματικές σε σενάρια όπου το JSON χρησιμοποιείται για μετάδοση και λήψη δεδομένων.
Change email of current session
From this report:
- Ο επιτιθέμενος ζητά να αλλάξει το email του με ένα καινούργιο
- Ο επιτιθέμενος λαμβάνει ένα link για να επιβεβαιώσει την αλλαγή του email
- Ο επιτιθέμενος στέλνει στον χρήστη-θύμα το link ώστε να το πατήσει
- Το email του θύματος αλλάζει στο ένα που υπέδειξε ο επιτιθέμενος
- Η επίθεση μπορεί να ανακτήσει το password και να take over the account
This also happened in this report.
Bypass email verification for Account Takeover
- Ο επιτιθέμενος κάνει login με attacker@test.com και επαληθεύει το email κατά την signup.
- Ο επιτιθέμενος αλλάζει το επαληθευμένο email σε victim@test.com (no secondary verification on email change)
- Τώρα ο ιστότοπος επιτρέπει στο victim@test.com να κάνει login και έχουμε bypassed email verification του victim user.
Old Cookies
Όπως εξηγείται in this post, ήταν δυνατόν να κάνεις login σε έναν account, να αποθηκεύσεις τα cookies ως authenticated user, να κάνεις logout, και μετά να κάνεις login ξανά.
Με το νέο login, παρόλο που μπορεί να δημιουργηθούν διαφορετικά cookies, τα παλιά άρχισαν να δουλεύουν ξανά.
References
- https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050
- https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea
- 0xdf – HTB Era: security-question IDOR & username oracle
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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks

