Fastly 하위 도메인 인수 $2000

Nov 28 2022
버그 바운티 — 0에서 HERO로
WHOAMI 제 이름은 풀타임 벌레 사냥꾼이자 트레이너인 Alexandar Thangavel AKA ValluvarSploit입니다. 나는 정찰을 좋아한다.

WHOAMI

제 이름은 상근 벌레 사냥꾼이자 트레이너인 Alexandar Thangavel AKA ValluvarSploit입니다. 나는 정찰을 좋아한다. 저는 ValluvarSploit Security의 창립자이자 CEO입니다. ValluvarSploit Security에서는 일대일 온라인 세션에서 Bug Bounty 교육을 제공하고 있습니다. 자세한 내용은 LinkedIn 페이지를 확인하십시오.

목적

오늘은 Fastly 하위 도메인 탈취 취약점을 발견한 방법을 공유하고 처음 4자리 포상금을 획득하려고 합니다. 시작하자.

배경 이야기

이것은 2022년 10월 2일 일요일에 시작되었습니다. 하루는 평소처럼 시작되었습니다. 오전 6시에 일어나 일상적인 작업을 마치고 모바일 데이터 잔액(남은 1.3GB)을 확인하고 모바일 핫스팟을 활성화하고 노트북을 연결한 다음 개인 프로그램에서 사냥을 재개했습니다. 대상 응용 프로그램에 몇 시간을 보냈지만 아무 것도 찾지 못해서 잠시 휴식을 취했습니다. 나는 적어도 6개월에 한 번은 이전 개인 프로그램을 다시 방문하곤 했습니다. 그래서 개인 초대를 검토하고 이전 프로그램을 선택하고 하위 도메인 열거를 수행하기 시작했습니다(대상을 redacted.com으로 지정하겠습니다).

하위 도메인 인수

하위 도메인 탈취는 공격자가 도메인의 하위 도메인을 제어할 때 발생합니다. DNS 구성 오류/실수로 인해 발생합니다.

하위 도메인 열거

Google Dorking, OWASP Amass 및 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

나는 cnames.txt 파일을 분석하기 시작했고 두 개의 서로 다른 CNAME 레코드를 가리키는 하나의 하위 도메인을 찾았습니다. 하위 도메인에서 dig 명령을 실행하고 다음을 얻었습니다.

dig next.redacted.com CNAME

      
                
DNS query for CNAME record

흥미로운 내용을 찾기 위해 servers_details.txt 파일을 분석하기 시작했고 이 줄을 찾았습니다. 공지 상태 코드 및 웹사이트 제목.

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

대부분의 경우 Fastly 서비스를 인수할 수 없습니다. 예를 들어 아래의 경우,

그러나 도메인을 다른 고객이 아직 사용하지 않은 경우 도메인을 요청하고 하위 도메인을 완전히 인수할 수 있습니다.

취약점 확인

Fastly 공식 웹 사이트로 이동하여 아래 단계를 수행했습니다. 1. 임시 메일을 사용하여 fastly.com
에 계정을 만들었습니다 . 2. 내 Fastly 대시보드에 로그인하고 "배달 서비스 만들기" 버튼을 클릭합니다. 3. 대상 하위 도메인 이름(next.redacted.com)을 입력하고 추가 버튼을 클릭합니다.

오류 메시지("도메인은 이미 다른 고객이 사용 중입니다")가 나타날 것으로 예상했지만 오류 메시지가 없었습니다. 다음 페이지 "호스트 페이지"로 리디렉션되었습니다. 놀랐습니다.

Fastly에서 소유권이 주장된 도메인

POC 생성 단계

취약점이 확인되면 VPS 서버에 로그인하고 "hosting"이라는 디렉토리를 생성했습니다. 그런 다음 "hosting" 디렉토리 내에서 "index.html"이라는 간단한 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

VPS 구성

몇 초 후 새 브라우저 창을 열고 "http://next.redacted.com/index.html” 페이지. 내 PoC 파일이 성공적으로 렌더링되었습니다. 자세한 보고서를 작성하여 HackerOne에 제출했습니다.

개념의 증거

서버 로그 모니터링을 통한 학습

Fastly 서비스를 3일 동안 계속 실행하고 민감한 정보에 대한 서버 로그를 모니터링했습니다. 다른 버그 헌터의 방법론을 보는 것은 즐거웠습니다.

재미로 서버 로그 모니터링

보상

내 보고서는 심각도가 높은 취약점으로 분류되어 10일 이내에 $2000를 받았습니다.

보상

주요 시사점

1. 적어도 6개월에 한 번은 이전 목표를 다시 방문하십시오.
2. 하위 도메인 열거가 핵심입니다. 가능한 한 하위 도메인을 열거하십시오.
3. 포기하지 마세요.

시간을 내어 제 글을 읽어주셔서 감사합니다.

나를 팔로우하세요:

트위터

링크드인

Infosec Writeups에서: 매일 Infosec에서 따라잡기 힘든 많은 일들이 일어나고 있습니다. 주간 뉴스레터에 가입하여 5개의 기사, 4개의 스레드, 3개의 비디오, 2개의 GitHub Repos 및 도구, 1개의 작업 알림 형식으로 모든 최신 Infosec 동향을 무료로 받아보세요!