hacktricks/pentesting-web/domain-subdomain-takeover.md

123 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Domain/Subdomain takeover
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=domain-subdomain-takeover) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** που υποστηρίζονται από τα **πιο προηγμένα** εργαλεία της κοινότητας.\
Αποκτήστε πρόσβαση σήμερα:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}
## Domain takeover
Αν ανακαλύψετε κάποιο domain (domain.tld) που **χρησιμοποιείται από κάποια υπηρεσία εντός του πεδίου** αλλά η **εταιρεία** έχει **χάσει** την **ιδιοκτησία** του, μπορείτε να προσπαθήσετε να το **καταχωρήσετε** (αν είναι αρκετά φθηνό) και να ενημερώσετε την εταιρεία. Αν αυτό το domain λαμβάνει κάποια **ευαίσθητη πληροφορία** όπως ένα session cookie μέσω **GET** παραμέτρου ή στην **Referer** κεφαλίδα, αυτό είναι σίγουρα μια **ευπάθεια**.
### Subdomain takeover
Ένα subdomain της εταιρείας δείχνει σε μια **υπηρεσία τρίτου μέρους με όνομα που δεν είναι καταχωρημένο**. Αν μπορείτε να **δημιουργήσετε** έναν **λογαριασμό** σε αυτή την **υπηρεσία τρίτου μέρους** και να **καταχωρήσετε** το **όνομα** που είναι σε χρήση, μπορείτε να εκτελέσετε την υποδοχή subdomain.
Υπάρχουν αρκετά εργαλεία με λεξικά για να ελέγξετε πιθανές υποδοχές:
* [https://github.com/EdOverflow/can-i-take-over-xyz](https://github.com/EdOverflow/can-i-take-over-xyz)
* [https://github.com/blacklanternsecurity/bbot](https://github.com/blacklanternsecurity/bbot)
* [https://github.com/punk-security/dnsReaper](https://github.com/punk-security/dnsReaper)
* [https://github.com/haccer/subjack](https://github.com/haccer/subjack)
* [https://github.com/anshumanbh/tko-sub](https://github.com/anshumanbh/tko-subs)
* [https://github.com/ArifulProtik/sub-domain-takeover](https://github.com/ArifulProtik/sub-domain-takeover)
* [https://github.com/SaadAhmedx/Subdomain-Takeover](https://github.com/SaadAhmedx/Subdomain-Takeover)
* [https://github.com/Ice3man543/SubOver](https://github.com/Ice3man543/SubOver)
* [https://github.com/m4ll0k/takeover](https://github.com/m4ll0k/takeover)
* [https://github.com/antichown/subdomain-takeover](https://github.com/antichown/subdomain-takeover)
* [https://github.com/musana/mx-takeover](https://github.com/musana/mx-takeover)
* [https://github.com/PentestPad/subzy](https://github.com/PentestPad/subzy)
* [https://github.com/Stratus-Security/Subdominator](https://github.com/Stratus-Security/Subdominator)
* [https://github.com/NImaism/takeit](https://github.com/NImaism/takeit)
### 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**, όπως ένα G**ithub subdomain** για παράδειγμα (`sohomdatta1.github.io`). Ένας επιτιθέμενος θα μπορούσε να **δημιουργήσει τη δική του σελίδα τρίτου μέρους** (σε Gihub σε αυτή την περίπτωση) και να πει ότι το `something.testing.com` δείχνει εκεί. Επειδή, το **CNAME wildcard** θα συμφωνήσει ότι ο επιτιθέμενος θα είναι σε θέση να **δημιουργήσει αυθαίρετα subdomains για το domain του θύματος που δείχνουν στις σελίδες του**.
Μπορείτε να βρείτε ένα παράδειγμα αυτής της ευπάθειας στην αναφορά CTF: [https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api)
## Exploiting a subdomain takeover
Η υποδοχή subdomain είναι ουσιαστικά DNS spoofing για ένα συγκεκριμένο domain σε όλο το διαδίκτυο, επιτρέποντας στους επιτιθέμενους να ορίσουν A records για ένα domain, οδηγώντας τους περιηγητές να εμφανίζουν περιεχόμενο από τον διακομιστή του επιτιθέμενου. Αυτή η **διαφάνεια** στους περιηγητές καθιστά τα domains επιρρεπή σε phishing. Οι επιτιθέμενοι μπορεί να χρησιμοποιήσουν [_typosquatting_](https://en.wikipedia.org/wiki/Typosquatting) ή [_Doppelganger domains_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger) για αυτό το σκοπό. Ιδιαίτερα ευάλωτα είναι τα domains όπου το URL σε ένα phishing email φαίνεται νόμιμο, εξαπατώντας τους χρήστες και αποφεύγοντας τα φίλτρα spam λόγω της εγγενής εμπιστοσύνης του domain.
Ελέγξτε αυτή την [ανάρτηση για περισσότερες λεπτομέρειες](https://0xpatrik.com/subdomain-takeover/)
### **SSL Certificates**
Τα SSL certificates, αν παραχθούν από επιτιθέμενους μέσω υπηρεσιών όπως [_Let's Encrypt_](https://letsencrypt.org/), προσθέτουν στην νομιμότητα αυτών των ψεύτικων domains, καθιστώντας τις επιθέσεις phishing πιο πειστικές.
### **Cookie Security and Browser Transparency**
Η διαφάνεια του περιηγητή επεκτείνεται επίσης στην ασφάλεια των cookies, που διέπεται από πολιτικές όπως η [Same-origin policy](https://en.wikipedia.org/wiki/Same-origin\_policy). Τα cookies, που χρησιμοποιούνται συχνά για τη διαχείριση συνεδριών και την αποθήκευση tokens σύνδεσης, μπορούν να εκμεταλλευτούν μέσω υποδοχής subdomain. Οι επιτιθέμενοι μπορούν να **συγκεντρώσουν session cookies** απλά κατευθύνοντας τους χρήστες σε ένα υποκατεστημένο subdomain, θέτοντας σε κίνδυνο τα δεδομένα και την ιδιωτικότητα των χρηστών.
### **Emails and Subdomain Takeover**
Μια άλλη πτυχή της υποδοχής subdomain περιλαμβάνει τις υπηρεσίες email. Οι επιτιθέμενοι μπορούν να χειριστούν **MX records** για να λαμβάνουν ή να στέλνουν emails από ένα νόμιμο subdomain, ενισχύοντας την αποτελεσματικότητα των επιθέσεων phishing.
### **Higher Order Risks**
Περαιτέρω κίνδυνοι περιλαμβάνουν την **υποδοχή NS record**. Αν ένας επιτιθέμενος αποκτήσει έλεγχο σε ένα 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](https://github.com/michenriksen/aquatone) μπορούν να βοηθήσουν στην αναγνώριση ευάλωτων domains. Οι οργανισμοί θα πρέπει επίσης να αναθεωρήσουν τις διαδικασίες διαχείρισης υποδομών τους, διασφαλίζοντας ότι η δημιουργία DNS records είναι το τελευταίο βήμα στη δημιουργία πόρων και το πρώτο βήμα στην καταστροφή πόρων.
Για τους παρόχους cloud, η επαλήθευση της ιδιοκτησίας του domain είναι κρίσιμη για την αποτροπή υποδοχής subdomain. Ορισμένοι, όπως [GitLab](https://about.gitlab.com/2018/02/05/gitlab-pages-custom-domain-validation/), έχουν αναγνωρίσει αυτό το ζήτημα και έχουν εφαρμόσει μηχανισμούς επαλήθευσης domain.
## References
* [https://0xpatrik.com/subdomain-takeover/](https://0xpatrik.com/subdomain-takeover/)
* [https://www.stratussecurity.com/post/subdomain-takeover-guide](https://www.stratussecurity.com/post/subdomain-takeover-guide)
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=domain-subdomain-takeover) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** που υποστηρίζονται από τα **πιο προηγμένα** εργαλεία της κοινότητας.\
Αποκτήστε πρόσβαση σήμερα:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}