Pengambilalihan Subdomain Cepat $2000
SIAPA SAYA
Nama saya Alexandar Thangavel AKA ValluvarSploit, pemburu dan pelatih bug penuh waktu. Saya suka pengintaian. Saya adalah pendiri dan CEO Keamanan ValluvarSploit. Di ValluvarSploit Security, kami menyediakan pelatihan Bug Bounty dalam sesi online one-to-one. Untuk informasi lebih lanjut, silakan periksa halaman LinkedIn kami.
OBJEKTIF
Hari ini, saya akan membagikan bagaimana saya menemukan kerentanan pengambilalihan subdomain dengan cepat dan mendapatkan hadiah empat digit pertama saya. Mari kita mulai.
LATAR BELAKANG
Ini dimulai pada 2 Oktober 2022 Minggu. Hari dimulai seperti biasa. Saya bangun jam 6 pagi, menyelesaikan pekerjaan rutin, memeriksa saldo data Seluler saya (tersisa 1,3 GB), mengaktifkan Hotspot Seluler saya, menghubungkan Laptop saya, dan melanjutkan berburu di program pribadi. Saya menghabiskan beberapa jam pada aplikasi target tetapi tidak menemukan apa pun, jadi istirahat sejenak. Saya biasa mengunjungi kembali program privat lama saya setidaknya sekali dalam enam bulan. Jadi, saya meninjau undangan pribadi saya, memilih program lama dan mulai melakukan pencacahan subdomain (sebut saja target kami sebagai redacted.com).
PENGAMBILAN SUBDOMAIN
Pengambilalihan subdomain terjadi ketika penyerang mengambil kendali atas subdomain dari suatu domain. Itu terjadi karena kesalahan / kesalahan konfigurasi DNS.
ENUMERASI SUBDOMAIN
Saya memulai pencacahan subdomain dengan alat Google Dorking, OWASP Amass , dan 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
Saya mulai menganalisis file cnames.txt dan menemukan satu subdomain yang mengarah ke dua record CNAME yang berbeda. Saya menjalankan perintah dig pada subdomain dan mendapatkan yang berikut,
dig next.redacted.com CNAME
DNS query for CNAME record
Saya mulai menganalisis file servers_details.txt untuk hal-hal menarik dan menemukan baris ini. Perhatikan kode status dan judul situs web.
https://next.redacted.com [500] [246] [Fastly error: unknown domain next.redacted.com]
Dalam kebanyakan kasus, kami tidak dapat mengambil alih layanan Fastly. Contoh kasus di bawah ini,

Namun jika domain tersebut belum diambil oleh pelanggan lain maka kita dapat mengklaim domain tersebut dan mengambil alih subdomain sepenuhnya.
MENGKONFIRMASI KERENTANAN
Saya pergi ke situs web resmi Fastly dan melakukan langkah-langkah di bawah ini,
1. Saya membuat akun di fastly.com menggunakan surat sementara.
2. Masuk ke Dasbor Fastly saya dan klik tombol "Buat Layanan Pengiriman".
3. Masukkan nama subdomain target (next.redacted.com) dan klik tombol Add.
Saya mengharapkan pesan kesalahan ("domain sudah diambil oleh pelanggan lain") muncul tetapi tidak ada pesan kesalahan. Saya dialihkan ke halaman berikutnya "Halaman host". Saya terkejut.

LANGKAH PEMBUATAN POC
Setelah kerentanan dikonfirmasi, saya masuk ke server VPS saya dan membuat direktori bernama "hosting". Kemudian di dalam direktori "hosting" buat file HTML sederhana bernama "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

Setelah beberapa detik, saya membuka jendela browser baru dan mengunjungi “http://next.redacted.com/index.html" halaman. File PoC saya berhasil dirender. Saya telah menulis laporan terperinci dan mengirimkannya ke HackerOne.

BELAJAR DENGAN MEMANTAU LOG SERVER
Saya menjalankan layanan Fastly saya selama 3 hari dan memantau log server untuk informasi sensitif. Sangat menyenangkan menonton metodologi pemburu bug lainnya.

HADIAH
Laporan saya diprioritaskan sebagai kerentanan tingkat keparahan TINGGI dan dihargai $2000 dalam 10 hari.

TAKEAWAY KUNCI
1. Kunjungi kembali target lama Anda minimal 6 bulan sekali.
2. Pencacahan Subdomain adalah kuncinya. Hitung subdomain sebanyak mungkin.
3. Jangan menyerah.
Terima kasih telah meluangkan waktu untuk membaca tulisan saya.
Ikuti saya di: