Fastly-Subdomain-Übernahme für 2000 $

Nov 28 2022
Bug Bounty – Von Null zum Helden
WHOAMI Mein Name ist Alexandar Thangavel alias ValluvarSploit, ein hauptberuflicher Insektenjäger und Trainer. Ich liebe Aufklärung.

WER BIN ICH

Mein Name ist Alexandar Thangavel alias ValluvarSploit, ein hauptberuflicher Insektenjäger und Trainer. Ich liebe Aufklärung. Ich bin der Gründer und CEO von ValluvarSploit Security. Bei ValluvarSploit Security bieten wir Bug-Bounty-Schulungen in Einzel-Online-Sitzungen an. Weitere Informationen finden Sie auf unserer LinkedIn-Seite.

ZIELSETZUNG

Heute werde ich erzählen, wie ich die Schwachstelle bei der Subdomain-Übernahme bei Fastly entdeckt habe und mein erstes vierstelliges Kopfgeld verdient habe. Lass uns anfangen.

HINTERGRUNDGESCHICHTE

Dies wurde am Sonntag, 2. Oktober 2022, gestartet. Der Tag begann wie gewohnt. Ich wachte um 6 Uhr morgens auf, beendete meine Routinearbeiten, überprüfte mein mobiles Datenguthaben (es waren noch 1,3 GB übrig), aktivierte meinen mobilen Hotspot, schloss meinen Laptop an und fuhr mit der Jagd in einem privaten Programm fort. Ich habe ein paar Stunden mit der Zielanwendung verbracht, aber nichts gefunden, also habe ich eine kurze Pause gemacht. Ich habe meine alten Privatprogramme mindestens alle sechs Monate noch einmal besucht. Also habe ich meine privaten Einladungen überprüft, ein altes Programm ausgewählt und mit der Subdomain-Aufzählung begonnen (nennen wir unser Ziel redacted.com).

SUBDOMAIN-ÜBERNAHME

Eine Subdomain-Übernahme liegt vor, wenn ein Angreifer die Kontrolle über eine Subdomain einer Domain übernimmt. Dies geschieht aufgrund von DNS-Fehlkonfigurationen/-Fehlern.

SUBDOMAIN-AUFZEICHNUNG

Ich habe mit der Subdomain-Aufzählung mit den Tools Google Dorking, OWASP Amass und Gobuster begonnen .

# 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

Ich begann mit der Analyse der Datei cnames.txt und fand eine Subdomain, die auf zwei verschiedene CNAME-Einträge verwies. Ich habe den Befehl „dig“ für die Subdomain ausgeführt und Folgendes erhalten:

dig next.redacted.com CNAME

      
                
DNS query for CNAME record

Ich begann, die Datei „servers_details.txt“ nach interessanten Dingen zu durchsuchen und fand diese Zeile. Hinweisstatuscode und Website-Titel.

https://next.redacted.com [500] [246] [Fastly error: unknown domain next.redacted.com]

In den meisten Fällen können wir den Fastly-Service nicht übernehmen. Beispiel unten:

Wenn die Domain jedoch nicht bereits von einem anderen Kunden übernommen wurde, können wir die Domain beanspruchen und die Subdomain vollständig übernehmen.

BESTÄTIGUNG DER SICHERHEIT

Ich bin zur offiziellen Website von Fastly gegangen und habe die folgenden Schritte ausgeführt:
1. Ich habe mithilfe einer temporären E-Mail-Adresse ein Konto auf fastly.com erstellt .
2. Ich habe mich bei meinem Fastly-Dashboard angemeldet und auf die Schaltfläche „Lieferservice erstellen“ geklickt.
3. Geben Sie den Namen der Ziel-Subdomain ein (next.redacted.com) und klicken Sie auf die Schaltfläche „Hinzufügen“.

Ich hatte mit der Fehlermeldung („Domain ist bereits von einem anderen Kunden belegt“) gerechnet, aber es gab keine Fehlermeldung. Ich wurde zur nächsten Seite „Hosts-Seite“ weitergeleitet. Ich war überrascht.

Domain auf Fastly beansprucht

SCHRITTE ZUR POC-ERSTELLUNG

Nachdem die Schwachstelle bestätigt wurde, habe ich mich bei meinem VPS-Server angemeldet und ein Verzeichnis namens „hosting“ erstellt. Anschließend wurde im Verzeichnis „hosting“ eine einfache HTML-Datei namens „index.html“ erstellt.

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

VPS-Konfiguration

Nach ein paar Sekunden öffnete ich ein neues Browserfenster und besuchte „http://next.redacted.com/index.html" Seite. Meine PoC-Datei wurde erfolgreich gerendert. Ich habe einen ausführlichen Bericht verfasst und diesen auf HackerOne eingereicht.

Konzeptioneller Beweiß

LERNEN DURCH ÜBERWACHUNG VON SERVERLOGS

Ich ließ meinen Fastly-Dienst drei Tage lang laufen und überwachte die Serverprotokolle auf vertrauliche Informationen. Es hat Spaß gemacht, die Methodik anderer Bug-Jäger zu beobachten.

Überwachen Sie Serverprotokolle zum Spaß

BELOHNEN

Meine Meldung wurde als Sicherheitslücke mit HOHEM Schweregrad eingestuft und innerhalb von 10 Tagen mit 2.000 US-Dollar belohnt.

Belohnen

DIE ZENTRALEN THESEN

1. Überdenken Sie Ihre alten Ziele mindestens alle 6 Monate.
2. Die Aufzählung der Subdomains ist der Schlüssel. Zählen Sie Subdomains so weit wie möglich auf.
3. Gib nicht auf.

Vielen Dank, dass Sie sich die Zeit genommen haben, meinen Artikel zu lesen.

Folge mir auf:

Twitter

LinkedIn

Aus Infosec-Beiträgen: Jeden Tag passiert im Infosec eine Menge, mit der man nur schwer Schritt halten kann. Abonnieren Sie unseren wöchentlichen Newsletter, um die neuesten Infosec-Trends in Form von 5 Artikeln, 4 Threads, 3 Videos, 2 GitHub Repos und Tools sowie 1 Jobbenachrichtigung KOSTENLOS zu erhalten!