DNS Security, Maybe?

DNS Security, Maybe?

Seperti yang kita tahu, DNS adalah sebuah service yang bertanggung jawab untuk merubah hostname menjadi IP, kedengarannya sederhana tapi beberapa orang tidak menyadari bahwa service DNS ini juga dapat menyebabkan kerentanan keamanan. Berikut adalah beberapa event yang pernah saya alami terkait DNS dan keamanannya, perlu diingat ini tidak mengcover semua kerentanan yang ada pada DNS, seperti DNS Spoofing, DNS Amplification, DNS Hijacking, DNS Rebinding Attack serta serangan lainnya, hanya beberapa event yang pernah saya alami saja.

Information Leakage

Information Leakage

Terkadang DNS record yang dimiliki oleh domain tersebut dapat memberikan informasi untuk Threat Actor, seperti TXT Recrods yang umunya digunakan untuk melakukan validasi domain pada suatu services, MX record yang digunakan untuk mengetahui service/server email yang digunakan,

Contoh yang paling sering terjadi adalah terdapat sebuah informasi IP address pada MX records, ketika kita melakukan scanning terhadap segment IP tersebut (/24) ternyata IP tetangga tersebut digunakan untuk aplikasi lain, sedangkan records DNS yang digunakan untuk aplikasi tersebut mengarah ke Cloudflare atau sebuah Firewall sever sehingga secara tidak sengaja Threat Actor dapat melakukan bypass terhadap Cloudflare/Firewall server tersebut dan mengakses aplikasi secara langsung, kadang pula terdapat aplikasi lain yang tidak terdaftar di records dns tapi bisa diakses dengan IP tetangga dari MX record tersebut dengan menambahkan records pada /etc/hosts atau secara direct ke IP tersebut.

Subdomain Takeover

Normal DNS
DNS Takeover

Subdomain Takeover atau DNS Takeover adalah sebuah teknik dimana seorang Threat Actor dapat mengambil alih sebuah subdomain, dengan teknik ini Threat Actor dapat mengarahkan traffic dari domain tersebut ke server yang dimiliki oleh Threat Actor. Umumnya hal ini terjadi pada platform cloud seperti AWS, Azure, Github, Heroku, dan lainya.

Serangan ini terjadi karena adanya misconfiguration pada konfigurasi platform cloud dan DNS record yang tidak dimonitor dengan baik oleh pemilik domain sehingga terdapat DNS record yang mengarah ke server pihak ketiga (Platform Cloud), namun pada platform pihak ketiga tersebut DNS records tidak diclaim oleh pemilik domain sehingga Threat Actor dapat mengklaim DNS tersebut dan mengarahkan traffic ke Platform Cloud yang dikontrol oleh Threat Actor. tentunya hal ini dapat meneyebabkan kerugian bagi pemilik domain karena data-data yang dikirimkan oleh user dapat diambil oleh Threat Actor.

Umumnya platform cloud sudah mempunyai proteksi tambahan untuk mencegah terjadinya DNS Takeover, namun tidak semua platform cloud mempunyai proteksi tersebut, oleh karena itu pemilik domain harus selalu memonitor DNS record yang dimiliki serta teman-teman dapat melihat services mana saja yang dapat dilakukan DNS Takeover pada Github Repo Berikut

Old DNS Record

List DNS Records

Dalam case ini saya pernah menemukan sebuah celah pada suatu aplikasi, setelah dilaporkan ke pemilik asset tersebut mereka mengkonfirmasi adanya celah yang dilaporkan dan melakukan mitigasi dengan menggunakan sebuah web firewall, namun aplikasi tidak dilakukan patch sehingga celah tersebut masih ada, lantas PoC yang saya buat tidak berhasil karena terdeteksi oleh firewall, beberapa hari kemudian setelah saya cek kembali ternyata hanya record DNS saja yang dirubah ke firewall dan ketika dicoba mengakses domain dengan IP lama aplikasi dan celah tersebut masih bisa diekspolitasi kembali

Tentunya perbaikan yang dilakukan oleh pemilik asset tersebut tidak efektif karena hanya mengarahkan traffic ke firewall server tanpa melakukan patching terhadap aplikasi yang vulnerable, oleh karena itu pemilik asset harus melakukan patch pada aplikasi tersebut agar celah tersebut tidak bisa dimanfaatkan oleh Threat Actor, serta melakukan pembatasan akses ke server sehingga tidak semua IP dapat mengakses server tersebut kecuali IP yang diizinkan oleh pemilik asset dan IP firewall server.

AXFR Attack

DNS AXFR Zone Transfer Vulnerability

AXFR query adalah sebuah query yang digunakan untuk mengambil semua record DNS dari sebuah domain, AXFR query biasanya digunakan oleh DNS server master untuk mengirimkan semua record DNS yang dimiliki oleh domain tersebut ke DNS server slave, namun AXFR query juga dapat digunakan oleh Threat Actor untuk mengambil semua record DNS dari sebuah domain jika DNS server tidak dikonfigurasikan dengan tepat, dengan teknik ini Threat Actor dapat mengetahui semua subdomain yang dimiliki oleh domain tersebut tanpa harus melakukan brute force terhadap subdomain tersebut umumnya celah ini disebut sebagai DNS Zone Transfer Vulnerability.

Uniknya beberapa tahun lalu ccTLD Korea Utara .kp rentan terhadap AXFR Attack, dimana Threat Actor dapat melakukan AXFR query terhadap domain tersebut dan mendapatkan seluruh daftar domain yang teregistratsi Korea Utara.

Selain itu Hosting lokal juga ada yang rentan terhadap AXFR Attack ini, sudah pernah saya laporkan namun dianggap sebagai temuan yang tidak valid sehingga sampai saat ini domain yang menggunakan DNS Management dari Hosting tersebut akan rentan terhadap serangan ini.

DNS Zone Walking

DNS Zone Walking

DNS Zone Walking adalah sebuah teknik dimana Threat Actor dapat mengetahui semua subdomain yang dimiliki oleh domain tersebut tanpa harus melakukan brute force, teknik ini memanfaatkan DNS Query NSEC yang digunaka

Menariknya ccTLD Indonesia .id rentan terhadap DNS Zone Walking ini, dimana kita dapat melakukan NSEC query terhadap domain .id dan mendapatkan domain tetangga dari domain tersebut, tentunya hal ini menyebabkan Threat Actor dapat mengetahui domain-domain .id yang teregistrasi tanpa harus melakukan brute force.

Berikut Github Repo yang melakukan pengumpulan domain .id yang teregistrasi yang disebabkan oleh DNS Zone Walking dan gabungan dari DNS Zone Transfer Vulnerability terhadap seluruh TLD yang ada di internet

Lesson Learned

Dari beberapa event yang pernah saya alami terkait DNS, kita dapat belajar bahwa DNS adalah sebuah service yang sangat penting dan harus di monitor dengan baik, karena DNS dapat menyebabkan kerentanan keamanan yang tidak kita sadari dan tentunya dapat dimanfaatkan oleh Threat Actor, oleh karena itu sebagai pemilik domain kita harus selalu memonitor dan memanage DNS record yang dimiliki, kita bisa menggunakan service seperti iklan harusnya masuk disini wkkwkwwk.

References