Etki Alanı Adı Sistemi (DNS) kısaca bir ana bilgisayar adını IP adreslerine eşleme yapar. CNAME kayıtları, bir ana bilgisayar adını başka bir ana bilgisayar adıyla eşleştiren ve böylece IP çözümlemesini ikincisine devreden DNS kayıtlarıdır. Saldırganların sistemlerinizi ele geçirmek için DNS gibi güçlü dayanaklara ihtiyacı yoktur. Github, Heroku, Tumblr, Amazon S3, Shopify, Slack, Tumblr, WordPress, Webflow gibi üçüncü parti internet hizmetlerinin hızlı bir şekilde yayılması ve subdomain kullanımındaki artış risk faktörü oluşturmaktadır. Bazı durumlarda, subdomainlerinizden birinde kaldırılmayan CNAME kaydı, subdomain tarafından sunulan içeriğin bir kısmının ya da tamamını kontrolünü ele alabilmeleri için yeterlidir. Bu güvenlik sorunu subdomain takeover olarak adlandırılır. Yani subdomain takeover saldırısı DNS kaydıyla farklı bir domaine yönlendirildikten sonra, yönlendirilmiş domainin bir nedenle tekrar alınabilir hale gelmesiyle hackerın bu domaini kullanarak, subdomainin kontrolünün ele geçirmesidir.
Subdomain Takeover Nasıl Gerçekleştirilir?
Bu bölümde subdomain takeover saldırını tipik bir örnekle anlatacağız.
- Alan adı example.org olan kuruluşunuzun, ExampleDotOrg’un TipTop adlı bir satıcıdan hizmet almak istediğini düşünelim.
- TipTop uygulamasında bir hesap açarsınız ve
example-dot-org.tiptopapp.com
adresinden erişilebilen hizmetlerinin bir örneğini oluşturursunuz. - Marka tutarlılıklarından dolayı, kuruluşunuz TipTop örneğinizi subdomainlerinden alanlarından birinden erişilebilir kılmak ister:
tiptop.example.org.
TipTop bunu yapmanıza izin verdiği için sorun yaratmaz yapmanız gereken tek şeytiptop.example.org
‘uexample-dot-org.tiptopapp.com
‘a yönlendiren bir CNAME kaydı oluşturmaktır. - Daha sonra TipTop aboneliğinizi iptal ettikten sonra ya da domain adının kullanım süresi dolunca TipTop örneğinizi sildiniz. Ancak önemli olan CNAME kaydını kaldırmaktır.
- CNAME kaydı DNS zone dosyasından silinmediği sürece zaten hazır olan DNS kaydı ile kontrol sahibi olur.
- İşte saldırgan bu kaldırılmamış CNAME kaydını fark eder. TipTop, kimsenin kendi platformunda example-dot-org örnek adını geri almasını engelleyemeyeceği için, saldırgan, subdomain adınız
tiptop.example
olanexample-dot-org.tiptopapp.com
adresinde kendi TipTop örneğini oluşturabilir. Ve işte o andan itibaren ve CNAME kaydı kaldırılmadığı kaldığı sürece, saldırgan, subdomain tarafından sunulan içerik üzerinde kontrolleri ele geçirir. - İşte böylece kaldırmayı unuttuğunuz CNAME kaydınız yüzünden subdomain takeover saldırısına uğramış oldunuz.
Özetle subdomain takeover (alt alan adı devralma), yetkisi olmayan bir saldırganın yine yetkisiz bir şekilde bir subdomain adının ele geçirilerek kontrolünü almasıdır.
Unutmayın ki subdomain takeover sinsi bir güvenlik açığıdır:
- Çoğunlukla bir subdomain ele geçirilip geçiremeyeceğini öğrenmek de subdomain’in kontrolünü ele geçirmek de çok az teknik beceri gerektirir.
- Bir subdomainin takeover saldırısına uğradığını tespit etmek zordur hatta kullanıcılarınız şikayet etmeye başlayana kadar fark etmeyebilirsiniz.
- Bir subdomain takeover, küçük bir tehdir gibi gözükse de, görünüşte önemsiz olan diğer yanlış güvenlik konfigürasyonlarıyla birleştiğinde, daha büyük hasarlara yol açabilir.
Subdomain Takeover Saldırılarını Önlemek için Yapılabilecekler
- Oluşturduğunuz tehdit ihtimalleri listenize ve tehdit modelinize subdomain takeover saldırılarını da ekleyin. Bir hacker subdomain’iniz kontrol altına alırsa kendinize neler yapabileceğinizi sorun. Buna ek olarak ayrıca sisteminizde ufak tefek ve önemsiz gözüken yanlış konfigürasyonları düzeltin.
- DNS kayıtlarınızı takip edin ve silmeniz gerekenleri düzenli olarak kontrol edin. Periyodik olarak, kullanım sürelerini, subdomainlerinizin işaret ettiği her şeyin kontrolünün hala sizde olduğundan emin olun eğer öyle değilse hemen ilgili CNAME kayıtlarını kaldırın.
- Satıcıları akıllıca seçin. Birçok şirketin, korkunç güvenlik uygulamalarına sahip üçüncü taraflarca barındırılan uygulamalara işaretleyen subdomainleri bulunur. Subdomain adınızı ona yönlendirmenizi sağlayan bir üçüncü parti uygulamaları satın alırken, satıcının müşterilerini subdomain devralınmasına karşı koruyup korumadığını kontrol edin. Etkili koruma için dikkat etmeniz gerekenler:
- istemcilerin DNS ayarlarını kontrol altında tuttuklarını kanıtlamak için CNAME kaydıyla birlikte benzersiz bir TXT kaydı oluşturmalarını istemek;
- örnek adlarında yeterli entropiyi zorlamak
- istemcilerin, başka bir istemci tarafından kullanılan örnek adlarını geri almasına izin vermemek.
- Saldırılara karşı pencerelerinizi kapalı tutun. Etik hacker Edwin Foudil , GitHub’daki can-i-take-over-xyz deposunda, müşterilerini subdomain devralmalarına karşı koruyamayan satıcıların listesini düzenli olarak güncellemektedir. Bu çözümlerden herhangi birini kullanmaya karar verirseniz, işlerinizi sıralarken biraz daha dikkatli olmanız gerekir. Bu durumda yapmanız gerekenler:
- subdomaini örneğinize yalnızca ikincisini oluşturduktan sonra yönlendirin
- örneğinizi silmeden önce ilgili CNAME kaydını mutlaka kaldırın. Bu, subdomain devralınmasına karşı evinizin pencerelerini sıkıca kapatmanızı sağlayacaktır.