# La collecte d'informations
             
Les sous-domaines constituent une part essentielle de l'infrastructure d'une entreprise, mais ils représentent également une surface d'attaque non négligeable. Ce guide explore donc les techniques d'énumération, d'exploitation et de post-exploitation des sous-domaines, tout en fournissant des stratégies de prévention pour protéger l'infrastructure numérique d'un site web ou d'une entreprise.
L'exploitation des sous-domaines "subdomain enumeration" est une technique avancée de cybersécurité qui vise à identifier et exploiter les vulnérabilités présentes dans les sous-domaines, soit lors de la phase de reconnaissance.
Or, les attaquants peuvent prendre le contrôle de ces sous-domaines (subdomain takeover), soit en utilisant des techniques comme le spoofing DNS, ce qui leur permet également de rediriger les utilisateurs vers des sites malveillants ou de collecter des données sensibles. Les entreprises numériques doivent donc surveiller activement leurs sous-domaines et supprimer les enregistrements DNS vulnérables pour prévenir ces attaques.
> ⚠️**Note** : L'utilisation de ces outils sur un site sans autorisation peut être illégale. Assurez-vous d'obtenir le consentement avant de réaliser un audit.
---
#### Adresses IP
```sh
# Pour récupérer les adresses IP associées à un domaine :
dig +short exemple.com
host exemple.com
```
#### DNSSEC
```sh
# Pour vérifier les informations DNSSEC, utilisez :
dig +dnssec exemple.com
```
#### Serveurs de Noms (Name Servers)
```sh
# Lister les serveurs de nom :
dig +short NS exemple.com
```
#### Entrées SOA
```sh
# Pour obtenir les entrées SOA (Start of Authority) :
dig +short SOA exemple.com
```
#### Vérifications des URL
```sh
# Pour vérifier les statuts des URL :
curl -I http://exemple.com
```
#### Certificats
```sh
# Pour vérifier les certificats SSL :
echo | openssl s_client -showcerts -servername badoo.com -connect badoo.com:443
```
#### Logs CT
Pour obtenir les logs CT (Certificate Transparency) :
```sh
curl -s 'https://crt.sh/?q=exemple.com&output=json' | jq .
```
#### Contenu HTML
```sh
# Pour récupérer le contenu HTML de la page d'accueil :
curl -L https://exemple.com
```
#### Adresses IP des Serveurs de Noms
```sh
# Pour récupérer les adresses IP des serveurs de noms :
dig +short NS exemple.com | xargs -n1 dig +short
```
#### CAA
```sh
# Pour vérifier les enregistrements CAA (Certification Authority Authorization) :
dig +short CAA exemple.com
```
#### TXT
```sh
# Pour récupérer les enregistrements TXT :
dig +short TXT exemple.com
```
#### Entrées de Service de Domaine
```sh
# Pour obtenir les entrées de service de domaine (SRV) :
dig +short SRV _sip._tcp..exemple.com
```
## L'énumeration des sous-domaines
L'énumération est la première étape pour identifier les sous-domaines d'une entreprise. Un attaquant peut utiliser différentes techniques et outils pour découvrir autant de sous-domaines que possible.
> Voir notre guide des outils et des commandes sous kali-linux pour une méthodologie plus élaborer sur [L'énumeration de sous-domaines](https://hackmd.io/@cyberhunter/subdomain_enumeration).
#### Amass pour Énumération Avancée
Amass est un outil d'énumération qui utilise plusieurs techniques pour découvrir des sous-domaines cachés.
**Commandes:**
```bash
# Énumération passive des sous-domaines
amass enum -passive -d example.com -o passive_subdomains.txt
# Énumération active avec brute force
amass enum -active -brute -d example.com -o active_subdomains.txt
```
**Explication :**
- L'énumération passive minimise le risque de détection en ne générant pas de trafic vers le domaine cible.
- L'énumération active avec brute force est plus agressive et peut découvrir des sous-domaines que la méthode passive ne trouverait pas.
#### Subfinder et MassDNS
Subfinder est un outil rapide et efficace qui peut être couplé avec MassDNS pour une résolution rapide des sous-domaines.
**Commandes:**
```bash
# Découverte de sous-domaines
subfinder -d example.com -o subdomains.txt
# Résolution rapide des sous-domaines avec MassDNS
cat subdomains.txt | massdns -r resolvers.txt -t A -o S -w massdns_output.txt
```
**Explication :**
- `Subfinder` extrait les sous-domaines à partir de plusieurs sources.
- `MassDNS` résout les sous-domaines pour déterminer lesquels sont actifs.
---
#### Censys et Shodan pour Énumération de Certificats
Censys et Shodan permettent de rechercher des sous-domaines en explorant les certificats SSL associés à un domaine.
**Commandes:**
```bash
# Recherche via Censys
censys search --index-type certificates "parsed.names: example.com" -f parsed.names --output censys_output.txt
# Recherche via Shodan
shodan search "ssl:example.com" --fields ip_str,port,hostnames --limit 10000 > shodan_output.txt
```
**Explication :**
- `Censys` et `Shodan` identifient les sous-domaines associés à un domaine principal en utilisant les informations des certificats SSL.
### Analyse et Classification des Sous-domaines
Après avoir énuméré les sous-domaines, il est essentiel de les analyser et de les classer en fonction de leur importance et de leur potentiel d'exploitation.
**Filtrage avec DNSDumpster**
DNSDumpster est un outil qui permet de visualiser la relation entre les sous-domaines, facilitant ainsi leur analyse.
**Commande:**
```bash
dnsdumpster -d example.com -o dnsdumpster_output.html
```
**Explication :**
- DNSDumpster fournit une carte interactive des sous-domaines, ce qui aide à identifier les sous-domaines critiques, comme ceux liés à des API ou à des interfaces d'administration.
---
**Analyse via Aquatone**
Aquatone permet de capturer des captures d'écran des sous-domaines, facilitant ainsi l'identification des cibles les plus vulnérables.
**Commande:**
```bash
cat subdomains.txt | aquatone -out aquatone_report
```
**Explication :**
- Aquatone génère un rapport visuel des sous-domaines, en capturant des images des interfaces web et en fournissant des détails sur les technologies utilisées.
---
### Tableaux Comparatifs des Outils
| **Outils d'Énumération** | **Fonctionnalité** | **Commandes** |
|--------------------------|--------------------|---------------|
| **Amass** | Énumération passive et active de sous-domaines | `amass enum -passive -d example.com -o passive_subdomains.txt`<br>`amass enum -active -brute -d example.com -o active_subdomains.txt` |
| **Subfinder** | Découverte rapide de sous-domaines | `subfinder -d example.com -o subdomains.txt` |
| **MassDNS** | Résolution rapide de sous-domaines | `cat subdomains.txt \| massdns -r resolvers.txt -t A -o S -w massdns_output.txt` |
| **Censys** | Recherche de sous-domaines via certificats SSL | `censys search --index-type certificates "parsed.names: example.com" -f parsed.names --output censys_output.txt` |
| **Shodan** | Recherche de sous-domaines via données Shodan | `shodan search "ssl:example.com" --fields ip_str,port,hostnames --limit 10000 > shodan_output.txt` |
---
| **Outils d'Analyse et de Classification** | **Fonctionnalité** | **Commandes** |
|-------------------------------------------|--------------------|---------------|
| **DNSDumpster** | Visualisation des relations entre sous-domaines | `dnsdumpster -d example.com -o dnsdumpster_output.html` |
| **Aquatone** | Capture d'écran des sous-domaines | `cat subdomains.txt \| aquatone -out aquatone_report` |
---
| **Outils de Recherche de Vulnérabilités** | **Fonctionnalité** | **Commandes** |
|-------------------------------------------|--------------------|---------------|
| **Subjack** | Détection des sous-domaines vulnérables à la prise de contrôle | `subjack -w subdomains.txt -t 100 -timeout 30 -ssl -c fingerprints.json -v` |
| **CanIBePwned** | Vérification de prise de contrôle de sous-domaines | `canibepwned -d subdomains.txt` |
| **XSStrike** | Détection des vulnérabilités XSS | `xsstrike -u https://subdomain.example.com` |
| **Dalfox** | Analyse des paramètres URL pour XSS | `dalfox url https://subdomain.example.com` |
| **CORScanner** | Détection des erreurs de configuration CORS | `corscanner -u https://subdomain.example.com` |
---
| **Outils d'Exploitation Avancée** | **Fonctionnalité** | **Commandes** |
|-----------------------------------|--------------------|---------------|
| **HostileSubBrute** | Exploitation des sous-domaines vulnérables | `hostilesubbrute -d example.com -w subdomains.txt -o takeover.txt` |
| **Burp Suite** | Exploitation des failles et maintien de la persistance | Utilisation de Burp Collaborator et injection de scripts malveillants |
---
**Références et liens vers des ressources supplémentaires**
- [Amass Documentation](https://github.com/OWASP/Amass)
- [Subfinder Documentation](https://github.com/projectdiscovery/subfinder)
- [Censys Documentation](https://censys.io/)
- [Shodan Documentation](https://shodan.io/)
- [Burp Suite Documentation](https://portswigger.net/burp/documentation)
- [BloodHound Documentation](https://github.com/BloodHoundAD/BloodHound)
---
2025 @cyberhunter