Prise de contrôle rapide du sous-domaine 2 000 $

Nov 28 2022
Bug Bounty — De zéro à HERO
WHOAMI Je m'appelle Alexandar Thangavel AKA ValluvarSploit, un chasseur de bogues et formateur à plein temps. J'adore recon.

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.

Domaine revendiqué sur Fastly

É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

Configuration VPS

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.

Preuve de concept

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.

Surveillance des journaux du serveur pour le plaisir

RÉCOMPENSE

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

Récompense

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:

Twitter

LinkedIn

D'après Infosec Writeups : Il se passe beaucoup de choses chaque jour dans l'Infosec qu'il est difficile de suivre. Rejoignez notre newsletter hebdomadaire pour obtenir toutes les dernières tendances Infosec sous la forme de 5 articles, 4 fils de discussion, 3 vidéos, 2 référentiels et outils GitHub et 1 alerte d'emploi GRATUITEMENT !