Prise de contrôle rapide du sous-domaine 2 000 $
QUI SUIS JE
Je m'appelle Alexandar Thangavel AKA ValluvarSploit, un chasseur de bogues et formateur à plein temps. J'adore recon. Je suis le fondateur et PDG de ValluvarSploit Security. Chez ValluvarSploit Security, nous proposons une formation Bug Bounty lors d'une session en ligne individuelle. Pour plus d'informations, veuillez consulter notre page LinkedIn.
OBJECTIF
Aujourd'hui, je vais partager comment j'ai trouvé la vulnérabilité de prise de contrôle de sous-domaine Fastly et gagner ma première prime à quatre chiffres. Commençons.
PASSÉ
Cela a commencé le dimanche 2 octobre 2022. La journée a commencé comme d'habitude. Je me suis réveillé à 6 heures du matin, j'ai terminé le travail de routine, vérifié mon solde de données mobiles (il restait 1,3 Go), activé mon point d'accès mobile, connecté mon ordinateur portable et repris la chasse sur un programme privé. J'ai passé quelques heures sur l'application cible mais je n'ai rien trouvé alors j'ai pris une courte pause. J'avais l'habitude de revoir mes anciens programmes privés au moins une fois tous les six mois. J'ai donc passé en revue mes invitations privées, choisi un ancien programme et commencé à effectuer l'énumération des sous-domaines (appelons notre cible expurgé.com).
REPRISE DE SOUS-DOMAINE
La reprise de sous-domaine se produit lorsqu'un attaquant prend le contrôle d'un sous-domaine d'un domaine. Cela se produit à cause d'une mauvaise configuration / erreurs DNS.
ÉNUMÉRATION DE SOUS-DOMAINE
J'ai commencé l'énumération des sous-domaines avec les outils Google Dorking, OWASP Amass et Gobuster .
# Passive Subdomain Enumeration using Google Dorking
site:*.redacted.com -www -www1 -blog
site:*.*.redacted.com -product
# Passive Subdomain Enumeration using OWASP Amass
amass enum -passive -d redacted.com -config config.ini -o amass_passive_subs.txt
# Subdomain Brute force using Gobuster
gobuster dns -d redacted.com -w wordlist.txt - show-cname - no-color -o gobuster_subs.txt
# Merging subdomains into one file
cat google_subs.txt amass_passive_subs.txt gobuster_subs.txt | anew subdomains.txt
# Enumerate CNAME records
./cname.sh -l subdomains.txt -o cnames.txt
# We can use HTTPX tool as well
httpx -l subdomains.txt -cname cnames.txt
# Probe for live HTTP/HTTPS servers
httpx -l subdomains.txt -p 80,443,8080,3000 -status-code -title -o servers_details.txt
J'ai commencé à analyser le fichier cnames.txt et j'ai trouvé un sous-domaine qui pointait vers deux enregistrements CNAME différents. J'ai exécuté la commande dig sur le sous-domaine et j'ai obtenu des suivis,
dig next.redacted.com CNAME
DNS query for CNAME record
J'ai commencé à analyser le fichier servers_details.txt à la recherche de choses intéressantes et j'ai trouvé cette ligne. Notez le code d'état et le titre du site Web.
https://next.redacted.com [500] [246] [Fastly error: unknown domain next.redacted.com]
Dans la plupart des cas, nous ne pouvons pas reprendre le service Fastly. Par exemple ci-dessous cas,

Mais si le domaine n'est pas déjà pris par un autre client, nous pouvons revendiquer le domaine et reprendre complètement le sous-domaine.
CONFIRMATION DE LA VULNÉRABILITÉ
Je suis allé sur le site officiel de Fastly et j'ai effectué les étapes ci-dessous,
1. J'ai créé un compte sur fastly.com en utilisant un courrier temporaire.
2. Connectez-vous à mon tableau de bord Fastly et cliquez sur le bouton "Créer un service de livraison".
3. Entrez le nom du sous-domaine cible (next.redacted.com) et cliquez sur le bouton Ajouter.
Je m'attendais à ce que le message d'erreur ("le domaine est déjà pris par un autre client") apparaisse, mais il n'y a pas eu de message d'erreur. J'ai été redirigé vers la page suivante « Page des hôtes ». J'ai été surpris.

ÉTAPES DE CRÉATION DE POC
Une fois la vulnérabilité confirmée, je me suis connecté à mon serveur VPS et j'ai créé un répertoire appelé « hébergement ». Ensuite, dans le répertoire "hosting", créé un simple fichier HTML appelé "index.html".
mkdir hosting
cd hosting
nano index.html
<!DOCTYPE html>
<html>
<head><title>STO PoC</title></head>
<body>
<h1>ValluvarSploit PoC</h1>
</body>
</html>
python3 -m http.server 80

Après quelques secondes, j'ai ouvert une nouvelle fenêtre de navigateur et j'ai visité "http://next.redacted.com/index.html” page. Mon fichier PoC a été rendu avec succès. J'ai rédigé un rapport détaillé et l'ai soumis sur HackerOne.

APPRENTISSAGE EN SURVEILLANT LES JOURNAUX DU SERVEUR
J'ai fait fonctionner mon service Fastly pendant 3 jours et j'ai surveillé les journaux du serveur à la recherche d'informations sensibles. C'était amusant de regarder la méthodologie d'autres chasseurs de bogues.

RÉCOMPENSE
Mon rapport a été classé comme une vulnérabilité de gravité ÉLEVÉE et a récompensé 2 000 $ en 10 jours.

POINTS CLÉS À RETENIR
1. Revisitez vos anciennes cibles au moins une fois tous les 6 mois.
2. L'énumération des sous-domaines est la clé. Énumérez les sous-domaines autant que possible.
3. N'abandonnez pas.
Merci d'avoir pris le temps de lire mon article.
Suivez-moi sur: