Domain/Subdomain takeover

Reading time: 7 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

Domain takeover

Αν ανακαλύψετε κάποιο domain (domain.tld) που χρησιμοποιείται από κάποια υπηρεσία εντός του πεδίου αλλά η εταιρεία έχει χάσει την ιδιοκτησία του, μπορείτε να προσπαθήσετε να το καταχωρήσετε (αν είναι αρκετά φθηνό) και να ενημερώσετε την εταιρεία. Αν αυτό το domain λαμβάνει κάποια ευαίσθητη πληροφορία όπως ένα session cookie μέσω GET παραμέτρου ή στην Referer κεφαλίδα, αυτό είναι σίγουρα μια ευπάθεια.

Subdomain takeover

Ένα subdomain της εταιρείας δείχνει σε μια υπηρεσία τρίτου μέρους με όνομα που δεν είναι καταχωρημένο. Αν μπορείτε να δημιουργήσετε έναν λογαριασμό σε αυτή την υπηρεσία τρίτου μέρους και να καταχωρήσετε το όνομα που χρησιμοποιείται, μπορείτε να εκτελέσετε την υποδοχή subdomain.

Υπάρχουν αρκετά εργαλεία με λεξικά για να ελέγξετε πιθανές υποδοχές:

Subdomain Takeover Generation via DNS Wildcard

Όταν χρησιμοποιείται DNS wildcard σε ένα domain, οποιοδήποτε ζητούμενο subdomain αυτού του domain που δεν έχει διαφορετική διεύθυνση ρητά θα επιλύεται στην ίδια πληροφορία. Αυτό θα μπορούσε να είναι μια διεύθυνση IP A, ένα CNAME...

Για παράδειγμα, αν το *.testing.com είναι wildcarded στο 1.1.1.1. Τότε, το not-existent.testing.com θα δείχνει στο 1.1.1.1.

Ωστόσο, αν αντί να δείχνει σε μια διεύθυνση IP, ο sysadmin το δείξει σε μια υπηρεσία τρίτου μέρους μέσω CNAME, όπως ένα Github subdomain για παράδειγμα (sohomdatta1.github.io). Ένας επιτιθέμενος θα μπορούσε να δημιουργήσει τη δική του σελίδα τρίτου μέρους (στο Gihub σε αυτή την περίπτωση) και να πει ότι το something.testing.com δείχνει εκεί. Επειδή, το CNAME wildcard θα συμφωνήσει ότι ο επιτιθέμενος θα είναι σε θέση να δημιουργήσει αυθαίρετα subdomains για το domain του θύματος που δείχνουν στις σελίδες του.

Μπορείτε να βρείτε ένα παράδειγμα αυτής της ευπάθειας στην αναφορά CTF: https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api

Exploiting a subdomain takeover

Η υποδοχή subdomain είναι ουσιαστικά DNS spoofing για ένα συγκεκριμένο domain σε όλο το διαδίκτυο, επιτρέποντας στους επιτιθέμενους να ορίσουν A records για ένα domain, οδηγώντας τους περιηγητές να εμφανίζουν περιεχόμενο από τον διακομιστή του επιτιθέμενου. Αυτή η διαφάνεια στους περιηγητές καθιστά τα domains επιρρεπή σε phishing. Οι επιτιθέμενοι μπορεί να χρησιμοποιήσουν typosquatting ή Doppelganger domains για αυτό το σκοπό. Ιδιαίτερα ευάλωτα είναι τα domains όπου το URL σε ένα phishing email φαίνεται νόμιμο, εξαπατώντας τους χρήστες και αποφεύγοντας τα φίλτρα spam λόγω της εγγενής εμπιστοσύνης του domain.

Ελέγξτε αυτή την ανάρτηση για περισσότερες λεπτομέρειες

SSL Certificates

Τα SSL certificates, αν παραχθούν από επιτιθέμενους μέσω υπηρεσιών όπως Let's Encrypt, προσθέτουν στην νομιμότητα αυτών των ψεύτικων domains, καθιστώντας τις επιθέσεις phishing πιο πειστικές.

Η διαφάνεια του περιηγητή επεκτείνεται επίσης στην ασφάλεια των cookies, που διέπεται από πολιτικές όπως η Same-origin policy. Τα cookies, που χρησιμοποιούνται συχνά για τη διαχείριση συνεδριών και την αποθήκευση tokens σύνδεσης, μπορούν να εκμεταλλευτούν μέσω υποδοχής subdomain. Οι επιτιθέμενοι μπορούν να συγκεντρώσουν session cookies απλά κατευθύνοντας τους χρήστες σε ένα υποκατεστημένο subdomain, θέτοντας σε κίνδυνο τα δεδομένα και την ιδιωτικότητα των χρηστών.

CORS Bypass

Είναι πιθανό ότι κάθε subdomain επιτρέπεται να έχει πρόσβαση σε CORS πόρους από το κύριο domain ή άλλα subdomains. Αυτό θα μπορούσε να εκμεταλλευτεί από έναν επιτιθέμενο για να πρόσβαση σε ευαίσθητες πληροφορίες εκμεταλλευόμενος CORS αιτήματα.

CSRF - Same-Site Cookies bypass

Είναι πιθανό ότι το subdomain επιτρέπεται να στέλνει cookies στο domain ή άλλα subdomains που εμποδίζονται από το Same-Site χαρακτηριστικό των cookies. Ωστόσο, σημειώστε ότι οι anti-CSRF tokens θα αποτρέψουν αυτή την επίθεση αν έχουν υλοποιηθεί σωστά.

OAuth tokens redirect

Είναι πιθανό ότι το υποκατεστημένο subdomain επιτρέπεται να χρησιμοποιηθεί στο redirect_uri URL μιας ροής OAuth. Αυτό θα μπορούσε να εκμεταλλευτεί από έναν επιτιθέμενο για να κλέψει το OAuth token.

CSP Bypass

Είναι πιθανό ότι το υποκατεστημένο subdomain (ή κάθε subdomain) επιτρέπεται να χρησιμοποιηθεί για παράδειγμα το script-src του CSP. Αυτό θα μπορούσε να εκμεταλλευτεί από έναν επιτιθέμενο για να εισάγει κακόβουλα scripts και να εκμεταλλευτεί πιθανές ευπάθειες XSS.

Emails and Subdomain Takeover

Ένας άλλος τομέας της υποδοχής subdomain περιλαμβάνει τις υπηρεσίες email. Οι επιτιθέμενοι μπορούν να χειριστούν MX records για να λαμβάνουν ή να στέλνουν email από ένα νόμιμο subdomain, ενισχύοντας την αποτελεσματικότητα των επιθέσεων phishing.

Higher Order Risks

Περαιτέρω κίνδυνοι περιλαμβάνουν NS record takeover. Αν ένας επιτιθέμενος αποκτήσει έλεγχο σε ένα NS record ενός domain, μπορεί δυνητικά να κατευθύνει ένα μέρος της κίνησης σε έναν διακομιστή υπό τον έλεγχό του. Αυτός ο κίνδυνος ενισχύεται αν ο επιτιθέμενος ορίσει έναν υψηλό TTL (Time to Live) για τα DNS records, παρατείνοντας τη διάρκεια της επίθεσης.

CNAME Record Vulnerability

Οι επιτιθέμενοι μπορεί να εκμεταλλευτούν μη καταχωρημένα CNAME records που δείχνουν σε εξωτερικές υπηρεσίες που δεν χρησιμοποιούνται πλέον ή έχουν αποσυρθεί. Αυτό τους επιτρέπει να δημιουργήσουν μια σελίδα υπό το αξιόπιστο domain, διευκολύνοντας περαιτέρω το phishing ή τη διανομή κακόβουλου λογισμικού.

Mitigation Strategies

Οι στρατηγικές μετριασμού περιλαμβάνουν:

  1. Αφαίρεση ευάλωτων DNS records - Αυτό είναι αποτελεσματικό αν το subdomain δεν απαιτείται πλέον.
  2. Κατοχύρωση του ονόματος domain - Καταχώρηση του πόρου με τον αντίστοιχο πάροχο cloud ή επαναγορά ενός ληγμένου domain.
  3. Τακτική παρακολούθηση για ευπάθειες - Εργαλεία όπως το aquatone μπορούν να βοηθήσουν στην αναγνώριση ευάλωτων domains. Οι οργανισμοί θα πρέπει επίσης να αναθεωρήσουν τις διαδικασίες διαχείρισης υποδομών τους, διασφαλίζοντας ότι η δημιουργία DNS records είναι το τελευταίο βήμα στη δημιουργία πόρων και το πρώτο βήμα στην καταστροφή πόρων.

Για τους παρόχους cloud, η επαλήθευση της ιδιοκτησίας του domain είναι κρίσιμη για την αποτροπή υποδοχής subdomain. Ορισμένοι, όπως το GitLab, έχουν αναγνωρίσει αυτό το ζήτημα και έχουν εφαρμόσει μηχανισμούς επαλήθευσης domain.

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