Merhaba dostlar, konuya geçmeden önce siber güvenlik ile ilgilenmeye başladığım vakitlerde çoğumuzun yaptığı gibi benimde tek amacım "ne kadar çok site, o kadar çok heçkır egosu" idi. Yaş itibari ile de ayrı bir özür dileyerek söylüyorum salaklık vardı. Zaman geçtikçe ve sektörde insanlarla kaynaştıkça ister-istemez geliştik, olgunlaştık. Hikayenin burasında benim kafamı uzun süre karıştıran, bir türlü "bu nasıl mümkün olur, ne saçma arkadaş" dediğim bir güvenlik açığı vardı. Evet, Subdomain Takeover. Uzun, uzun araştırdım. Bir sürü makale okudum, çoğu kez yanlış anladım veya anladığımı sandım.
Sizin de yanlış anladığınızı düşündüğüm için önce o yanlışları düzeltmek istiyorum, çünkü Türkçe kaynaklar konuyu anlatırken her zaman eksik ya da kafa karıştırıcı şekilde anlatmış. Teşekkür ederiz; Türkçe kaynaklar.
ÖNEMLİ NOT: Subdomain Takeover yapmak istediğiniz subdomain ile aynı sağlayıcıda hesabınız olmalı. Örneğin subdomain X sunucusunda ise sizde X sunucusuna ait olan sağlayıcıda hesap açıyorsunuz ve sonra subdomaini hesabınıza ekliyorsunuz. X sunucuda oluşturulmuş bir subdomain, farklı bir sağlayıcının Y sunucusuna ekleyerek elegeçirilmez.
Belki siz Subdomain Takeover'ı hemen anladınız ama inanın benim anlamam uzun ve maddiyatlı sürdü. Gerçekten deneyimleyebilmek için sunucular kiraladım, farklı bir sunucuya kurulmuş subdomaini kendi plesk panelime ekleyip index değiştirmeye çalıştım. Komik komik işler, rezillik ama unutmayın bilmemek değil öğrenmemek ayıptır. Ben bunları derken utanmıyorum çünkü öğreniyorum.
Gelelim nasıl yapıldığına velhasıl kelam ne olduğuna,
Subdomain Takeover Nedir ?
Subdomain Takeover (Alt Alan Adı Ele Geçirme), bir alan adının kullanılmayan veya yanlış yapılandırılmış alt alan adının (subdomain) başka bir kişi tarafından ele geçirilmesi durumudur.
Subdomain Takeover nasıl gerçekleşir ?
Genellikle bir alt alan adının belirli bir bulut hizmetine veya harici bir platforma yönlendirilmesi, ancak o hizmetin kaldırılması veya yanlış yapılandırılması sonucu gerçekleşir. Subdomain'in yönlendirilmesi için çeşitli DNS kayıt türleri kullanılır. En yaygın kayıt türleri arasında A kaydı ve CNAME kaydı bulunur. A kaydı, subdomain'i belirli bir IP adresine yönlendirir. Örneğin, blog.example.com için bir A kaydı oluşturarak, bu subdomain'i bir sunucunun IP adresine yönlendirebilirsiniz. Eğer bu kayıtlar silinirse / devre dışı bırakılırsa domain düzgün bir şekilde IP Adresine yönlendirilemez.
Şimdi bunu senaryolu şekilde bir hedef üzerinden anlatacağım.
Yukarıdaki ekran görüntüsünde gördüğünüz gibi subdomaine erişmek istediğimizde "No such device or address" hatası ile karşılaşıyoruz. Bu demek oluyor ki hizmet ya devre dışı ya da yanlış yapılandırılmış. OK dediğine bakmayın girdiğiniz zaman önünüze hata kodu gelecektir.
Bazı popüler sağlayacıların hataları şu şekildedir:
Öncelikle anadomainin whois kaydına bakacağız, sunucuyu hangi sağlayıcıdan temin ettiğini öğreneceğiz.
IP Adresinden hosting firmasını buluyoruz. // Eğer sunucu AWS bağlıysa siz zaten trial hesap açıp bucket ekleyerek dakikalar içinde subdomaini üstünüze alabilirsiniz. GitHub içinde aynı şekil internetten sadece repo nasıl oluşturulur, aws nasıl bucket oluşturulur bakmanız yeterli. Karmaşık olan şu an anlattığım.
Hesap oluşturuyoruz ve bize domain sorduğunda hedef subdomaini yapıştırıyoruz.
cPanel'e giriş yaptık. Tekrar diyorum burası önemli çünkü bunu Türkçe kaynaklarda atlıyorlar her zaman ve bu bizi yanlışa sürüklüyor, subdomain ve domainin bağlı olduğu hosting şirketinde hesap oluşturup web host alıyoruz ve domain istediğinde subdomainin adresini veriyoruz. Ben ekstrem örneklerden ilerliyorum, konu tekrar etmiş gibi olacak ama dediğim gibi eğer subdomain AWS sunucusu üzerinde ise Amazon AWS de sadece hesap oluşturup bucket oluşturmanız yeterli, Amazon AWS trial aktif edersiniz.
Geçmiş olsun, sağlık olsun
Arkadaşlar, buraya kadar geldiyseniz bir beğeninizi alırım. Umarım faydalı olmuştur ve hatalı / eksik gördüğünüz kısımlar varsa uyarın hem forum üyeleri açısından hem benim açımdan faydalı olur.
Ayrıca ben şarkı paylaşmayı severim, gelmişken bir şarkı paylaşıp konuyu bitireyim

Sizin de yanlış anladığınızı düşündüğüm için önce o yanlışları düzeltmek istiyorum, çünkü Türkçe kaynaklar konuyu anlatırken her zaman eksik ya da kafa karıştırıcı şekilde anlatmış. Teşekkür ederiz; Türkçe kaynaklar.
- Hayır, başka bir hosting şirketinden sunucu kiralayıp domaini sunucumuza eklemiyoruz. (Tecrübe konuşuyor)
- Hayır, DNS Zone kayıtları olan ve halihazırda bir IP Adresine yönlendirilen siteyi sahiplenemeyiz. (Tecrübe...)
- Hayır, sadece A kayıtlarının silinmesi yeterli değil hizmetten tamamen silinmeli.
ÖNEMLİ NOT: Subdomain Takeover yapmak istediğiniz subdomain ile aynı sağlayıcıda hesabınız olmalı. Örneğin subdomain X sunucusunda ise sizde X sunucusuna ait olan sağlayıcıda hesap açıyorsunuz ve sonra subdomaini hesabınıza ekliyorsunuz. X sunucuda oluşturulmuş bir subdomain, farklı bir sağlayıcının Y sunucusuna ekleyerek elegeçirilmez.
Belki siz Subdomain Takeover'ı hemen anladınız ama inanın benim anlamam uzun ve maddiyatlı sürdü. Gerçekten deneyimleyebilmek için sunucular kiraladım, farklı bir sunucuya kurulmuş subdomaini kendi plesk panelime ekleyip index değiştirmeye çalıştım. Komik komik işler, rezillik ama unutmayın bilmemek değil öğrenmemek ayıptır. Ben bunları derken utanmıyorum çünkü öğreniyorum.
Gelelim nasıl yapıldığına velhasıl kelam ne olduğuna,
Subdomain Takeover Nedir ?
Subdomain Takeover (Alt Alan Adı Ele Geçirme), bir alan adının kullanılmayan veya yanlış yapılandırılmış alt alan adının (subdomain) başka bir kişi tarafından ele geçirilmesi durumudur.
Subdomain Takeover nasıl gerçekleşir ?
Genellikle bir alt alan adının belirli bir bulut hizmetine veya harici bir platforma yönlendirilmesi, ancak o hizmetin kaldırılması veya yanlış yapılandırılması sonucu gerçekleşir. Subdomain'in yönlendirilmesi için çeşitli DNS kayıt türleri kullanılır. En yaygın kayıt türleri arasında A kaydı ve CNAME kaydı bulunur. A kaydı, subdomain'i belirli bir IP adresine yönlendirir. Örneğin, blog.example.com için bir A kaydı oluşturarak, bu subdomain'i bir sunucunun IP adresine yönlendirebilirsiniz. Eğer bu kayıtlar silinirse / devre dışı bırakılırsa domain düzgün bir şekilde IP Adresine yönlendirilemez.
Şimdi bunu senaryolu şekilde bir hedef üzerinden anlatacağım.
Yukarıdaki ekran görüntüsünde gördüğünüz gibi subdomaine erişmek istediğimizde "No such device or address" hatası ile karşılaşıyoruz. Bu demek oluyor ki hizmet ya devre dışı ya da yanlış yapılandırılmış. OK dediğine bakmayın girdiğiniz zaman önünüze hata kodu gelecektir.
Bazı popüler sağlayacıların hataları şu şekildedir:
1. AWS S3 Bucket
- Hata: "NoSuchBucket" veya "Access Denied"
- Açıklama: Bucket mevcut değil veya erişim izni yok.
- Güvenlik: Boşta kalan bucket varsa takeover mümkündür.
2. GitHub Pages
- Hata: "404 Not Found" veya "Page Not Found"
- Açıklama: Subdomain, GitHub Pages yönlendirilmiş ama sayfa yok.
- Güvenlik: Aynı isimle yeni bir repository oluşturulursa takeover mümkündür.
3. Heroku
- Hata: "App not found" veya "No such app"
- Açıklama: Subdomain, Heroku uygulamasına yönlendirilmiş ama uygulama kapatılmış.
- Güvenlik: Aynı isimle yeni bir Heroku uygulaması oluşturulursa takeover mümkündür.
4. Azure
- Hata: "The resource does not exist"
- Açıklama: Alt alan adı, Azure’da bir hizmete yönlendirilmiş ama o hizmet mevcut değil.
- Güvenlik: Boşta kalan kaynak varsa takeover mümkündür.
5. Vercel
- Hata: "404 Not Found"
- Açıklama: Subdomain, Vercel projesine yönlendirilmiş ama proje yok.
- Güvenlik: Aynı isimle yeni bir Vercel projesi oluşturulursa takeover mümkündür.
6. Netlify
- Hata: "Site not found"
- Açıklama: Subdomain, Netlify sitesine yönlendirilmiş ama site mevcut değil.
- Güvenlik: Aynı isimle yeni bir Netlify sitesi oluşturulursa takeover mümkündür.
7. Firebase Hosting
- Hata: "404 Not Found"
- Açıklama: Subdomain, Firebase Hosting'e yönlendirilmiş ama site yok.
- Güvenlik: Boşta kalan proje varsa takeover mümkündür.
Öncelikle anadomainin whois kaydına bakacağız, sunucuyu hangi sağlayıcıdan temin ettiğini öğreneceğiz.
IP Adresinden hosting firmasını buluyoruz. // Eğer sunucu AWS bağlıysa siz zaten trial hesap açıp bucket ekleyerek dakikalar içinde subdomaini üstünüze alabilirsiniz. GitHub içinde aynı şekil internetten sadece repo nasıl oluşturulur, aws nasıl bucket oluşturulur bakmanız yeterli. Karmaşık olan şu an anlattığım.
Hesap oluşturuyoruz ve bize domain sorduğunda hedef subdomaini yapıştırıyoruz.
cPanel'e giriş yaptık. Tekrar diyorum burası önemli çünkü bunu Türkçe kaynaklarda atlıyorlar her zaman ve bu bizi yanlışa sürüklüyor, subdomain ve domainin bağlı olduğu hosting şirketinde hesap oluşturup web host alıyoruz ve domain istediğinde subdomainin adresini veriyoruz. Ben ekstrem örneklerden ilerliyorum, konu tekrar etmiş gibi olacak ama dediğim gibi eğer subdomain AWS sunucusu üzerinde ise Amazon AWS de sadece hesap oluşturup bucket oluşturmanız yeterli, Amazon AWS trial aktif edersiniz.
Geçmiş olsun, sağlık olsun
Arkadaşlar, buraya kadar geldiyseniz bir beğeninizi alırım. Umarım faydalı olmuştur ve hatalı / eksik gördüğünüz kısımlar varsa uyarın hem forum üyeleri açısından hem benim açımdan faydalı olur.
Ayrıca ben şarkı paylaşmayı severim, gelmişken bir şarkı paylaşıp konuyu bitireyim





