Neler Yeni

Subdomain Takeover Açıklığı !

Katılım
28 Nis 2020
Mesajlar
10
Tepkime puanı
5
Puanları
130
Bilmeyen Arkadaşlarımız Vardır O Yüzden Paylaşma Gereği Duydum .)
--------------------------------------------------------------------------------
Subdomain Takeover Açıklığı Nedir?

Subdomain takeover [alt alan adı devralma], yetkisiz bir şekilde bir subdomain adının ele geçirilerek kontrolünün alınmasıdır. CNAME kaydı ile gerçekleşen en yaygın senaryo aşağıdaki gibi özetlenebilir.
  • Bir domain adı (örnek; green.greenanimalsbank.com), başka bir domain için bir CNAME kaydı (green.greenanimalsbank.com CNAME subdomaintakeover.com) kullanır.
  • Bir süre sonra, subdomaintakeover.com domain adının kullanım süresi dolar ve herhangi biri tarafından tekrar alınması için önünde bir engel kalmaz.
  • CNAME kaydı green.greenanimalsbank.com DNS zone dosyasından silinmediği süre boyunca, subdomaintakeover.com domain adını alan herhangi biri, halihazırdaki DNS kaydı ile green.greenanimalsbank.com üzerinde tam kontrole sahip olur.
Yukarıdaki örnek üçüncü taraf bulut hizmetleri için düşünülürse hizmetin kaldırılması ya da silinmesi yine subdomain takeover açıklığına neden olmaktadır. Nedeni bir örnekle açıklanacak olursa;
-----------------------------------------------------------------------------------------
Subdomain Takeover Nasıl Tespit Edilir?
CNAME subdomain takeover tespiti yapılırken yönlendirme işlemi gerçekleştirilmiş olan Domain adı yeni kayıt için uygun mu kontrolü gerçekleştirilir. Eğer kayıt için uygunsa açıklık vardır. Yeni bir domain adı kaydının yapılıp yapılamayacağı ise ICANN’ a kayıtlı herhangi bir kuruluştan kontrol edilebilir. Örneğin isimtescil.net, natro.com vb. Domain adı kaydının kontrolünün (NXDOMAIN yani olmayan bir domain adın sorgulanmasıyla) DNS cevabıyla da gerçekleştirilebileceği düşünülebilir. Bu gibi durumlarda yanıt olarak NXDOMAIN cevabı alınsa dahi domain adının kaydedilemeyeceği özel durumların olabileceği unutulmamalıdır. Örneğin .gov, .mil, .museum gibi.
Saldırgan gözü ile subdomain takeover tespitinde genellikle otomatize edilmiş yöntemler kullanılır. Öncelikle hedef domainin, sahip olduğu subdomain tespiti yapılır. Bu tespiti gerçekleştirmek için kullanılan ücretli-ücretsiz bir takım araçlar mevcuttur. Örnek olarak HostileSubBruteForcer, Sublist3r, Aquaton açık kaynak kodlu araçlardır. Online web siteleri ile de subdomain tespiti gerçekleştirilebilir örneğin DNS Dumpster, VirusTotal, Cyberint gibi…
-----------------------------------------------------------------------------------------
Subdomain Takeover ile Neler Yapılabilir?
Kuruluşlar genellikle DNS yapılandırmalarını düzenli olarak denetlemezler. Çoğu zaman, DNS zone dosyalarına giriş eklemek, değiştirmek veya kaldırmak için yapılan standart bir işlem de yoktur. DNS kayıtlarındaki değişiklikleri kaydetmek dahi yaygın olarak yapılmamaktadır. Kuruluşlar için bunun bir karmaşa olduğu ve çok geç olmadan iyileştirmesi gerekliliği vardır.
Bu nedenle bir subdomainin devralmasının sonuçları kuruluşlar için oldukça kötü sonuçlar doğurabilir. Siber saldırganlar, phishing ile kimlik avı kampanyası başlatabilir, siteler arası betik çalıştırılmasını sağlayabilir veya kurumun itibarına- zarar verebilir. Mağdurun, içeriğin domain adı sahibi veya bir siber saldırgan tarafından gerçekleştirilip gerçekleştirilmediğini de söylemesinin bir yolu yoktur. DNS kaydı nedeniyle gerçekleşen bu açıklık aslında, insan hatası, ya da yanlış yapılandırma kaynaklı oluyor da denilebilir.

-----------------------------------------------------------------------------------------
Subdomain Takeover ile Nasıl Yapılabilir?

git clone

Aquatone API Kurulumu :

Aquatone aracını kullanmadan önce daha sağlıklı veriler elde ettmek için api kurulumlarını yapmış olmalıyız. Aquatone kurulumunda oluşturduğu /root/ dizinindeki aquatone dosyasının içerisinde .keys.yml dosyası oluşturun.

shodan: XXXKEYXXX

censys_id: XXXKEYXXX

censys_secret: XXXKEYXXX

riddler_username: XXXKEYXXX

riddler_password: XXXKEYXXX

passivetotal_key: XXXKEYXXX

passivetotal_secret: XXXKEYXXX

virustotal: XXXKEYXXX

Buradaki apiler için hesap açın apileri ekleyin.

-----------------------------------------------------------------------------------------
Shodan’dan daha yetkili bir api almak istiyorsanız öğrenci hesabınız ile bir kayıt oluşturun. Ve kayıt olduğunuz kullanıcı hesabınızdaki apiyi kullanın bu size api ile daha fazla istek yapmanızı sağlayacak.

Teker teker apileri eklemek isterseniz aşağıdaki örnek komutu çalıştırabilirsiniz :

aquatone-discover — set-key shodan XXXKEYXXX
shodan yazan yere yukarıda yer alan api isimleri ve apileri uyarlayarak yazabilirsiniz.

-----------------------------------------------------------------------------------------
Aquatone Kullanım Adımları :

aquatone-discover -d → Bu komut ile subdomainleri tespit ediyoruz.

aquatone-scan -d -p huge → -p sonrasında port numarasıda yazabilirsiniz fakat huge yazarsanız içerisinde yer alan bir çok web portunu taramaya dahil edecektir.

aquatone-gather -d → Burada bir problem var !!! Normalde bu komutu çalıştırdığınızda discover ve scan adımlarında elde ettiğiniz bilgilerden yola çıkarak. Hazırlayacağı rapor için sayfalara gidip ekran görüntüsü alıp, rapora ekran görüntüsü ve request olarak kayıt ediyor.

aquatone-takeover -d → olası takeover zafiyetlerini tesbiti için kullanabiliriz. Fakat false/positive üretiyor. Kurumlar AWS sudomaini için firewall taraında engelleyip 403 döndürdüğü için bu tip sonuçlarıda çıkarıyor manuel kontrol etmek şart.

Fakat aşağıdaki hata mesajını alacaksınız.

aquatone incompatibility error: nightmarejs must be run on a system with a graphical desktop session (x11)

Bu sorunu çözmek için uygulayacağınız adımları aşağıda yer verdim.

İlk önce eksik paketleri yükleyeceğiz.

sudo apt-get install -y \
xvfb \
x11-xkb-utils \
xfonts-100dpi \
xfonts-75dpi \
xfonts-scalable \
xfonts-cyrillic \
x11-apps \
clang \
libdbus-1-dev \
libgtk2.0-dev \
libnotify-dev \
libgconf2-dev \
libasound2-dev \
libcap-dev \
libcups2-dev \
libxtst-dev \
libxss1 \
libnss3-dev \
gcc-multilib \
g++-multilib
Aquatone kurulumu olduktan sonra bir dosya üretir. Bu genellikle /root/ altındadır.

aquaone dosyasına aquatone-longheaders-server.rb adına boş bir ruby dosyası oluşturun.

Ve daha sonra içerisine aşağıdaki kodu kaydettin.



Ve yeninden aquatone-gather komutunu çalıştırdığımızda enume ettiğimiz subdomainlerin ekran görüntüsü alarak bize bir rapor haline getirecektir.
 

Konuyu görüntüleyen kullanıcılar

Üst