mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-12 14:22:56 +00:00
124 lines
11 KiB
Markdown
124 lines
11 KiB
Markdown
# Prise de contrôle de domaine/sous-domaine
|
|
|
|
<details>
|
|
|
|
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
|
|
|
Autres façons de soutenir HackTricks :
|
|
|
|
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
|
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
|
|
|
</details>
|
|
|
|
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Utilisez [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=domain-subdomain-takeover) pour construire et **automatiser facilement des workflows** alimentés par les outils communautaires les plus avancés au monde.\
|
|
Accédez dès aujourd'hui :
|
|
|
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}
|
|
|
|
## Prise de contrôle de domaine
|
|
|
|
Si vous découvrez un domaine (domaine.tld) qui est **utilisé par un service dans le périmètre** mais que **l'entreprise** en a **perdu la propriété**, vous pouvez essayer de **l'enregistrer** (si le prix est suffisamment bas) et informer l'entreprise. Si ce domaine reçoit des **informations sensibles** telles qu'un cookie de session via un paramètre **GET** ou dans l'en-tête **Referer**, il s'agit certainement d'une **vulnérabilité**.
|
|
|
|
### Prise de contrôle de sous-domaine
|
|
|
|
Un sous-domaine de l'entreprise pointe vers un **service tiers avec un nom non enregistré**. Si vous pouvez **créer** un **compte** dans ce **service tiers** et **enregistrer** le **nom** en cours d'utilisation, vous pouvez effectuer la prise de contrôle du sous-domaine.
|
|
|
|
Il existe plusieurs outils avec des dictionnaires pour vérifier les prises de contrôle possibles :
|
|
|
|
* [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)
|
|
|
|
#### Analyse des sous-domaines pouvant être détournés avec [BBOT](https://github.com/blacklanternsecurity/bbot) :
|
|
|
|
Les vérifications de prise de contrôle de sous-domaine sont incluses dans l'énumération de sous-domaine par défaut de BBOT. Les signatures sont extraites directement de [https://github.com/EdOverflow/can-i-take-over-xyz](https://github.com/EdOverflow/can-i-take-over-xyz).
|
|
```bash
|
|
bbot -t evilcorp.com -f subdomain-enum
|
|
```
|
|
### Génération de prise de contrôle de sous-domaine via DNS Wildcard
|
|
|
|
Lorsqu'un wildcard DNS est utilisé dans un domaine, tout sous-domaine demandé de ce domaine qui n'a pas explicitement une adresse différente sera **résolu avec les mêmes informations**. Cela pourrait être une adresse IP A, un CNAME...
|
|
|
|
Par exemple, si `*.testing.com` est wildcardé vers `1.1.1.1`. Alors, `not-existent.testing.com` pointera vers `1.1.1.1`.
|
|
|
|
Cependant, si au lieu de pointer vers une adresse IP, l'administrateur système le pointe vers un **service tiers via CNAME**, comme un **sous-domaine github** par exemple (`sohomdatta1.github.io`). Un attaquant pourrait **créer sa propre page tierce** (dans ce cas-ci, sur Github) et dire que `something.testing.com` pointe là-bas. Parce que le **wildcard CNAME** acceptera, l'attaquant pourra **générer des sous-domaines arbitraires pour le domaine de la victime pointant vers ses pages**.
|
|
|
|
Vous pouvez trouver un exemple de cette vulnérabilité dans le write-up CTF : [https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api)
|
|
|
|
## Exploitation d'une prise de contrôle de sous-domaine
|
|
|
|
La prise de contrôle de sous-domaine est essentiellement du spoofing DNS pour un domaine spécifique à travers Internet, permettant aux attaquants de définir des enregistrements A pour un domaine, amenant les navigateurs à afficher le contenu du serveur de l'attaquant. Cette **transparence** dans les navigateurs rend les domaines vulnérables au phishing. Les attaquants peuvent utiliser le [_typosquatting_](https://en.wikipedia.org/wiki/Typosquatting) ou les [_domaines Doppelganger_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger) à cette fin. Sont particulièrement vulnérables les domaines où l'URL dans un e-mail de phishing semble légitime, trompant les utilisateurs et évitant les filtres anti-spam en raison de la confiance inhérente au domaine.
|
|
|
|
Consultez ce [post pour plus de détails](https://0xpatrik.com/subdomain-takeover/)
|
|
|
|
### **Certificats SSL**
|
|
|
|
Les certificats SSL, s'ils sont générés par des attaquants via des services comme [_Let's Encrypt_](https://letsencrypt.org/), ajoutent à la légitimité de ces faux domaines, rendant les attaques de phishing plus convaincantes.
|
|
|
|
### **Sécurité des cookies et transparence du navigateur**
|
|
|
|
La transparence du navigateur s'étend également à la sécurité des cookies, régie par des politiques comme la [politique Same-origin](https://en.wikipedia.org/wiki/Same-origin\_policy). Les cookies, souvent utilisés pour gérer les sessions et stocker des jetons de connexion, peuvent être exploités via une prise de contrôle de sous-domaine. Les attaquants peuvent **collecter des cookies de session** simplement en redirigeant les utilisateurs vers un sous-domaine compromis, mettant en danger les données et la vie privée des utilisateurs.
|
|
|
|
### **E-mails et prise de contrôle de sous-domaine**
|
|
|
|
Un autre aspect de la prise de contrôle de sous-domaine concerne les services e-mail. Les attaquants peuvent manipuler les **enregistrements MX** pour recevoir ou envoyer des e-mails à partir d'un sous-domaine légitime, améliorant l'efficacité des attaques de phishing.
|
|
|
|
### **Risques d'ordre supérieur**
|
|
|
|
D'autres risques incluent la **prise de contrôle des enregistrements NS**. Si un attaquant prend le contrôle d'un enregistrement NS d'un domaine, il peut potentiellement diriger une partie du trafic vers un serveur sous son contrôle. Ce risque est amplifié si l'attaquant définit un **TTL (Time to Live)** élevé pour les enregistrements DNS, prolongeant la durée de l'attaque.
|
|
|
|
### Vulnérabilité de l'enregistrement CNAME
|
|
|
|
Les attaquants pourraient exploiter des enregistrements CNAME non réclamés pointant vers des services externes qui ne sont plus utilisés ou ont été désactivés. Cela leur permet de créer une page sous le domaine de confiance, facilitant davantage le phishing ou la distribution de logiciels malveillants.
|
|
|
|
### **Stratégies d'atténuation**
|
|
|
|
Les stratégies d'atténuation comprennent :
|
|
|
|
1. **Supprimer les enregistrements DNS vulnérables** - C'est efficace si le sous-domaine n'est plus nécessaire.
|
|
2. **Réclamer le nom de domaine** - Enregistrer la ressource auprès du fournisseur cloud respectif ou racheter un domaine expiré.
|
|
3. **Surveillance régulière des vulnérabilités** - Des outils comme [aquatone](https://github.com/michenriksen/aquatone) peuvent aider à identifier les domaines susceptibles. Les organisations devraient également réviser leurs processus de gestion de l'infrastructure, en s'assurant que la création d'enregistrements DNS est la dernière étape dans la création de ressources et la première étape dans la destruction de ressources.
|
|
|
|
Pour les fournisseurs cloud, vérifier la propriété du domaine est crucial pour prévenir les prises de contrôle de sous-domaine. Certains, comme [GitLab](https://about.gitlab.com/2018/02/05/gitlab-pages-custom-domain-validation/), ont reconnu ce problème et mis en place des mécanismes de vérification de domaine.
|
|
|
|
## Références
|
|
|
|
* [https://0xpatrik.com/subdomain-takeover/](https://0xpatrik.com/subdomain-takeover/)
|
|
|
|
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Utilisez [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=domain-subdomain-takeover) pour construire et **automatiser facilement des workflows** alimentés par les outils communautaires les plus avancés au monde.\
|
|
Accédez dès aujourd'hui :
|
|
|
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}
|
|
|
|
<details>
|
|
|
|
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
D'autres façons de soutenir HackTricks :
|
|
|
|
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
|
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Rejoignez** 💬 le [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|