Introduction
Yo, lurr! Kali ini kita bakal membahas sesuatu yang udah sering gue eksploitasi dan hasilnya? Bounty puluhan ribu dolar! Yap, subdomain takeover. Artikel ini bakal membahas secara mendalam tentang apa itu subdomain takeover, perbedaannya dengan DNS takeover, teknik eksploitasi secara teknis, case study, serta best practices sebagai mitigasi. Artikel ini ditujukan untuk kalangan yang baru memahami dasar-dasar IT security, jadi persiapkan diri kalian untuk eksplorasi lebih lanjut.
What is Subdomain Takeover?
Subdomain takeover terjadi ketika ada subdomain yang masih memiliki DNS record yang mengarah ke layanan third-party, tetapi layanan tersebut sudah tidak digunakan atau dihapus. Jika attacker berhasil mengklaim kembali layanan tersebut, mereka dapat mengontrol subdomain tersebut sepenuhnya, termasuk melakukan phishing, malicious payload delivery, hingga credential harvesting.
Difference Between Subdomain Takeover and DNS Takeover
Sering terjadi kesalahpahaman antara subdomain takeover dan DNS takeover. Berikut perbedaan mendasarnya:
- Subdomain Takeover: Terjadi akibat adanya dangling DNS record (CNAME, ALIAS, atau NS record) yang masih menunjuk ke layanan yang sudah tidak aktif, tetapi DNS record-nya masih ada.
- DNS Takeover: Melibatkan pengambilalihan langsung DNS server atau unauthorized modification pada DNS record, sering kali akibat credential leak atau configuration errors.
Identifying Subdomain Takeover Vulnerabilities
1. Subdomain Enumeration
Menggunakan berbagai tools untuk mengumpulkan daftar subdomain:
subfinder -d target.com | tee subdomains.txt
assetfinder --subs-only target.com >> subdomains.txt
amass enum -passive -d target.com >> subdomains.txt
2. Checking for Dangling DNS Records
Gunakan dig
, host
, atau nslookup
untuk melihat apakah subdomain masih menunjuk ke layanan eksternal yang tidak aktif.
dig CNAME sub.target.com
host sub.target.com
nslookup sub.target.com
Jika hasilnya menunjukkan subdomain mengarah ke layanan yang sudah tidak aktif, maka bisa jadi subdomain ini rentan untuk takeover.
3. Verifying Takeover Possibility
Untuk mengecek apakah layanan tersebut bisa diklaim ulang, lakukan:
curl -sI http://sub.target.com | grep -i 'not found'
Jika hasilnya menunjukkan HTTP response seperti 404 Not Found
atau 429, 301
, maka kemungkinan besar subdomain bisa di-takeover.
Gunakan referensi dari proyek Can I Take Over XYZ? untuk memverifikasi layanan mana saja yang masih rentan terhadap subdomain takeover. Beberapa layanan yang ditemukan dalam riset terbaru juga dapat dilihat di:
Subdosec: Automated Subdomain Takeover Scanning
Untuk mendeteksi subdomain takeover secara otomatis, salah satu platform yang bisa digunakan adalah Subdosec. Platform ini menyediakan layanan pemindaian subdomain untuk mengidentifikasi potensi takeover secara publik maupun privat.
Fitur Subdosec:
- Pemindaian Subdomain Takeover: Pengguna dapat memindai subdomain mereka untuk mendeteksi potensi takeover.
- Database Kerentanan Publik: Menyediakan daftar subdomain yang diketahui rentan terhadap pengambilalihan.
- Kontribusi Fingerprint: Memungkinkan komunitas untuk berkontribusi dalam memperbarui daftar layanan rentan.
- Integrasi dengan Tools : Bisa digunakan bersama
subfinder
,httpx
, dan tools lainnya untuk hasil yang lebih akurat.
Dengan Subdosec, pentester dan security researchers bisa lebih mudah dalam mengidentifikasi potensi takeover tanpa harus melakukan pengecekan manual satu per satu.
Exploiting Subdomain Takeover
Jika subdomain mengarah ke layanan third-party yang sudah tidak digunakan, attacker bisa melakukan langkah berikut:
- Verifikasi bahwa layanan terkait bisa diklaim ulang
- Buka situs layanan terkait dan coba daftar dengan nama yang sama.
- Cek dokumentasi layanan terkait apakah memungkinkan untuk mengklaim kembali subdomain yang tidak aktif.
- Melakukan klaim terhadap layanan yang tersedia
- Buat akun baru dan klaim layanan dengan nama subdomain yang sama.
- Deploy halaman baru untuk menguji kontrol penuh atas subdomain.
- Menggunakan payload khusus untuk eksploitasi lebih lanjut
- Implementasi serangan phishing dengan payload yang meyakinkan.
- Menyisipkan malicious scripts untuk mengambil informasi pengguna.
Case Studies
Subdomain Takeover pada Niceboard.co
Niceboard adalah platform job board yang memungkinkan pengguna menghubungkan subdomain mereka ke app.niceboard.co
. Jika pengguna menghapus akun mereka atau gagal mengonfigurasi subdomain dengan benar, subdomain tersebut bisa menjadi target takeover.
Langkah Eksploitasi
- Identifikasi subdomain yang masih menunjuk ke
app.niceboard.co
atau IP173.255.233.147
.
vulnerable.example.com. 300 IN CNAME app.niceboard.co.
app.niceboard.co. 60 IN A 173.255.233.147
- Verifikasi dengan mengakses subdomain dan melihat respons HTTP. Jika terdapat redirect ke domain lain atau error seperti
No such account
, ini indikasi subdomain rentan.
- Klaim subdomain dengan membuat akun baru di Niceboard dan menambahkan custom domain yang sama.
Prevention Best Practices
- Monitor Dangling DNS Records: Gunakan tools seperti
subjack
,subzy
, atautko-subs
untuk mendeteksi dangling subdomains. - Remove Unused DNS Records: Secara rutin lakukan audit DNS records dan hapus CNAME atau A records yang mengarah ke layanan yang sudah tidak digunakan.
- Implement Domain Ownership Verification: Beberapa layanan third-party memungkinkan domain ownership verification untuk mencegah unauthorized claims.
- Content Security Policy (CSP) & HTTP Strict Transport Security (HSTS): Menggunakan CSP dapat membantu mencegah injection attack, sedangkan HSTS memastikan bahwa komunikasi tetap terenkripsi.
- Wildcard DNS Record Awareness: Menghindari wildcard CNAME/A records yang bisa memperbesar potensi takeover.
Conclusion
Subdomain takeover merupakan ancaman nyata yang sering kali diabaikan oleh banyak perusahaan. Dengan memahami teknik eksploitasi, cara mendeteksi vulnerability, serta menerapkan best practices dalam pengelolaan DNS, kita dapat meminimalkan risiko ini. Artikel ini ditujukan bagi para security researchers dan pentesters yang ingin mendalami lebih lanjut mengenai eksploitasi ini. Semoga bermanfaat!
Stay safe & happy hunting, lurr!