Heroku Custom Domain or Subdomain Takeover

Heroku Custom Domain or Subdomain Takeover –  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 vuln.example.com menampilkan laman error seperti diatas, dan ketika di cek via dig subdomain tersebut mengarah ke vuln.example.com.herokudns.com, maka subdomain tersebut bisa ditakeover.

vuln.example.com  60  IN   CNAME vuln.example.com.herokudns.com

How to Exploit

Oke, sebelumnya karena disini saya tidak punya credit card, sementara untuk menggunakan custom domain di Heroku memerlukan akun yang sudah terverifikasi (terhubung ke kartu kredit), saya hanya akan menjelaskan konsepnya saja. Namun tenang, seluruh konsep ini akan saya jelaskan secara gamblang.

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

Nah masalahnya seperti yang saya sebutkan diatas, saya gak ada credit card jadi tidak bisa menambahkan custom domain di akun. Jadi mungkin sampai disini dulu tutorial kali ini. Atau kalo ada yang mau nyumbang akun Heroku terverifikasi bisa pm saya di Facebook wkwk.

 

Shares

Leave a Reply