Kembali ke Roadmap
// PHASE 4 · Subdomain Takeover

Subdomain Takeover

Apa Itu Subdomain Takeover?

Subdomain takeover terjadi ketika DNS record subdomain masih aktif mengarah ke layanan eksternal (GitHub Pages, Heroku, S3, dll) yang sudah dihapus — memungkinkan siapa saja mengklaim layanan tersebut.

Cara Kerja

  1. Perusahaan buat blog.example.com → CNAME ke example.github.io
  2. GitHub Pages dihapus, tapi DNS record tidak ikut dihapus
  3. Attacker buat GitHub Pages dengan nama yang sama
  4. blog.example.com sekarang mengarah ke halaman attacker!

Layanan yang Sering Vulnerable

LayananCiri Vulnerable
GitHub Pages"There isn't a GitHub Pages site here"
Heroku"No such app"
AWS S3"NoSuchBucket"
Netlify"Not found - Request ID"
Fastly"Fastly error: unknown domain"

Deteksi & Verifikasi

# Cek CNAME subdomain dig blog.example.com CNAME # Jika mengarah ke github.io, buka URL-nya # Jika muncul "404 - not found" dari GitHub = vulnerable! # Scan otomatis dengan nuclei nuclei -l subdomains.txt -t takeovers/ -o results.txt

Proof of Concept

# Untuk GitHub Pages takeover: 1. Buat repo: username.github.io atau repo biasa dengan Pages 2. Tambahkan CNAME file berisi: blog.example.com 3. Aktifkan GitHub Pages 4. Akses blog.example.com → tampil halaman milikmu! # Ini cukup sebagai PoC — JANGAN taruh konten berbahaya!
// CEK PEMAHAMAN
Apa langkah pertama untuk memverifikasi subdomain takeover di GitHub Pages?
AScan port subdomain tersebut
BCek CNAME record, pastikan mengarah ke github.io, lalu akses untuk melihat apakah resource sudah tidak ada
CLangsung buat GitHub Pages dengan nama domain tersebut
DCoba SQL injection di subdomain tersebut
Business Logic Flaws Writing Good Reports