Merhabalar arkadaşlar, Ben Blwe, Bu konuyu @Enistein 'in ricası üzerine sizler için yapmak istedim, kendisine teşekkürlerimi sunarım. Bu konu'da Subdomain Takeover'ı ele alacağım. İyi okumalar dilerim.
Subdomain Nedir ?
Dostlar öncelikle şunu bilmeniz gerekiyor, subdomain oluşturmak için, hosting hesabınızın, subdomain oluşturmak için izinli olması gerekiyor. Eğer subdomain oluşturmayı destekliyor ise, web siteniz adına bir tane subdomain oluşturabilirsiniz. Subdomain dediğimiz şey, bir alt alan adı'dır. Örnek: "blwesite.com" diye bir sitemiz var diyelim. Ben bu site için subdomain oluşturmak istiyorum. Subdomain'im şu şekilde olucak: "cpanel.blwesite.com" Gördüğünüz gibi site alan adımızın bir önüne subdomain alan adımızı girdik. Ben subdomain alan adını "cpanel" olarak ayarladım. Ve subdomain üçüncü alan adı olarak geçiyor domain sıralamasında. "com" birinci derece alan adı iken, "blwesite" ikinci derece alan adıdır. ve üçüncü kısımda'ki "cpanel" ise üçüncü derece domain'dir.
Subdomain Takeover Nedir ?
Subdomain takeover kısaca şundan oluşur dostlar: Subdomain takeover, servis sağlayacılarını uzun süre güncellemedikten sonra oluşan bir açıktır. Uzun süre servisleri güncellemedikten sonra, servis üzerinde'ki kontrolünüzü kaybediyorsunuz, ve böylelikle karşı taraf, yani saldırgan taraf, sizin subdomaininizi böylelikle devr alıyor. (Takeover) Yani dostlar, burada ki asıl açık. İnsanlardır, servisinizi güncellemezseniz, bakımsız tutarsanız. Saldırganlar'da sizin subdomainlerinizi zaman'ı geldiğinde Devr alma yetkisini kazanır.
CNAME Kaydı Nedir ?
CNAME veya Kanonik Ad Kaydı, bir sistemin veya bir bilgisayarın, daha fazla cihaz adı tarafından algılanmasını sağlıyor. Öncelikli olarak bir "A" kaydı mutlaka olmalıdır CNAME Kaydın'da ki bu bir resmi bir isim olmalıdır. ÖRNEK: blweismi.com A 111.111.111.111 CNAME Kaydını kullanarak, diğer host adlarını bir resmi A kaydına yönlendirebilirsiniz. ÖRNEK: blwebasvur.net. CNAME blwebasvur.com. blwebasvur.org. CNAME blwebasvur.com. blwebasvur.biz. CNAME blwebasvur.com.
CNAME kayıtları, domaininizi isimkayit.net, isimkayit.org gibi vasıtalar görüntülemenize yardımcı olur.
Takeover Yapılmaya Müsait Olan Subdomainleri Nasıl Buluruz ?
Burada aslında işler ikiye ayrılıyor. Birinci kısmı subdomainleri bulmak. Ve ikinci kısmı ise, subdomainleri taramak. Artı bir şey yapmamıza gerek yok.
Peki bu subdomainleri nasıl bulup tarayacağız ? Subdomainleri bulmak için: "subfinder" Aracını kullanacağız. Subdomainleri taramak için ise: "subjack" Aracını kullanacağız.
Ama bundan önce ise, linux'umuza "Go" dilini yüklememiz gerekiyor. Bahsettiğim toolları kullanabilmeniz için.
Go dilini linuxumuza indirmek için şu kodları Terminalimize yazıyoruz(Ben Kali Linux kullandım siz herhangi bir debian tabanlı Linux kullanabilirsiniz.) :
Evet, Go dilimizi linuxumuza yükledik. Şimdi sıra, subfinder aracımızı kurmakta.
Subfinder aracımızı kurmak için, terminale şu kodları terminalimize yazıyoruz:
Evet, bu kısımda'da subfinder aracımızı kurduk. Son olarak subjack aracımızı kuracağız.
Subjack aracımızı kurmak için şu kodları terminalimize yazıyoruz:
Evet, go dilimizi ve araçlarımızı linuxumuza yükledik. Sıra, bu araçları kullanmakta, ve takeover ağılrıklı subdomainleri bulup taramakta.
İlk olarak, subfinder aracını kullanacağız. Subdomainleri bulmak için.
Subfinder aracının kullanımı:
Ben örnek site olarak Mercedes'in sitesini kullandım.
subfinder aracının -d parametresinde, bize domain ismi girmemizi istiyor. Bu domain ismini girerken, http ve https protokollerini girmememiz gerekiyor. Aksi taktirde subdomain taraması yapmaz.
Bu normal standart kullanımıdır. Tüm subdomainleri terminal'e yansıtır. Lakin, txt dosyasına kaydetmez. Txt dosyasına kaydetmesi için, -o parametresini kullanmamız gerekir.
Örnek:
Evet, terminale bu kodları yazdığımızda bulunduğumuz klasöre tarama bittikten sonra bir txt dosyası kaydediyor ve içerisinde taranan subdomainler bulunuyor.
Ve görüyorsunuz, 3393 tane subdomain bulmuş subfinder aracımız. Şimdi burada, yapmamız gereken, bu subdomainleri subjack aracını kullanarak taramak.
Subjack Aracının kullanımı:
subjack aracının -w parametresi, wordlist'e giden yolu belirler. Yani taranacak wordlist'i belirlememizi sağlıyor.
Yanlız girdiğim bu parametreler'de sadece takeover'a yatkın olan subdomainleri terminale çıkarıyor. Yatkın olmayan subdomainleri terminale çıkarmıyor.
Biraz bekliyorum ben, bakalım karşımıza takeover'a yatkın subdomain çıkaracak mı.
Evet, biraz beklediğim'de karşıma takeover'a yatkın olan bir tane subdomain çıkardı. Unutmayın, belki bir tane bile subdomain çıkmaz, belki'de 20 tane subdomain çıkar. Bu kısımda Beklemek gerekiyor.
Başka parametre deneyerek yatkın olmayan subdomainleri'de terminal'e çıkarabiliriz.
Evet, -v parametresini kullanarak takeover'a yatkın olmayan subdomainleri'de bu şekilde çıkarıyoruz.
Lakin bu benim tavsiyem değildir. Benim tavsiyem budur:
Bu şekilde az karmaşıklık oluyor çünkü. -v parametresi ile aracı kullandığımızda, not vulnerable ile vulnerable olanlar birbirine karıştığı için, karmaşıklık oluşuyor. O yüzden benim tavsiyem -v parametresi olmadan taramanızdır.
Şimdi subjack ile takeover'a yatkın olan subdomainleri bulduk. Peki bu subdomainlerin sol tarafında çıkan azure,shopify gibi yazılar'da ne oluyor ?
Bu yazılar servis isimleridir. Subdomainlerin hangi servis'de olduğunu gösteriyor araç bize. Biz o servislere göre takeover yapmayı denemeliyiz. Mesela azure servisi çıktı ise, azure servisi satın alıp takeover yapmayı deneyebiliriz. Shopify çıktı ise, shopify servisin'de deneyebiliriz.
Ben maalesef takeover kısmını detaylı pek gösteremeyeceğim. Nedeni ise, elimde şuanda azure servisi yok satın alınmış.
O yüzden maalesef.
Lakin size biraz bile olsa bilgi vereceğim.
Bazı servisler vardır, takeover yapılmaz, bazı servisler'de vardır, takeover yapılabilir.
Biz bu servisleri nasıl tespit edeceğiz diyorsanız. Sizin için bir github sayfası bırakacağım.
Orada tüm subdomain takeover servisleri bulunuyor. Ve hangilerinin, takeover'a yatkın olduğu yazılıyor
GitHub - EdOverflow/can-i-take-over-xyz: "Can I take over XYZ?" — a list of services and how to claim (sub)domains with dangling DNS records.
Evet, bu github sayfasında neredeyse tüm servisler bulunuyor. Servis isimlerinin hemen sağ tarafında "Status" diye bir yazı çıkıyor, o yazı servislerin takeover yapılıp yapılmayacağını gösteriyor.
Status kısmında "Vulnerable" yazan servisler takeover'a yatkın olan servislerdir. "Not Vulnerable" yazan servisler ise, subdomain için yatkın olmayan servislerdir.
Evet, burada gördüğünüz gibi, AWS/S3 Servisi için, "Vulnerable" yazıyor, yani takeovar'a yatkın olan bir servis, lakin "Acquia" Servisi için "Not Vulnerable" yazıyor, yani takeover'a yatkın olmadığı söyleniyor bu servisin.
Peki şimdi diyebilirsiniz, biz nasıl takeover'a yatkın olan servisleri takeover yapacağız diye.
Bunun için youtube üzerinde, internet üzerinde çok fazla kaynak var. Mesela AWS/S3 Servisi için takeover videosu arıyorsanız, youtube'a veya tarayıcınıza yazabilirsiniz.
Ben az önce tarayıcıya yazdım "AWS/S3 Subdomain Takeover" diye ve karşıma hemen örnek bir video geldi.
Video link'i bu : https://www.youtube.com/watch?v=JO3VaB5HVKE
Ben maalesef elimde servis olmadığı için gösteremedim. Kusuruma bakmayın.
Pek bir sorun olacağını sanmıyorum ama internet üzerinde vulnerable servisler için baya bir kaynak var, araştırarak servisler üzerinde takeover nasıl yapılır izleyebilir, ve öğrenebilirsiniz.
Ama şunu'da unutmayınız, vulnerable olan subdomainlerin hepsi alınacak diye bir şey yoktur. Çoğu neredeyse önceden alındığı için, alınması mümkün değildir. Sabır gerekli biraz.
Ben burada sadece temel mantığı anlatmak istedim.
Konu bu kadardı, umarım sizlere bir şey katabilmişimdir. Sağlıcakla kalınız, diğer konularda görüşmek üzere.
Subdomain Nedir ?
Dostlar öncelikle şunu bilmeniz gerekiyor, subdomain oluşturmak için, hosting hesabınızın, subdomain oluşturmak için izinli olması gerekiyor. Eğer subdomain oluşturmayı destekliyor ise, web siteniz adına bir tane subdomain oluşturabilirsiniz. Subdomain dediğimiz şey, bir alt alan adı'dır. Örnek: "blwesite.com" diye bir sitemiz var diyelim. Ben bu site için subdomain oluşturmak istiyorum. Subdomain'im şu şekilde olucak: "cpanel.blwesite.com" Gördüğünüz gibi site alan adımızın bir önüne subdomain alan adımızı girdik. Ben subdomain alan adını "cpanel" olarak ayarladım. Ve subdomain üçüncü alan adı olarak geçiyor domain sıralamasında. "com" birinci derece alan adı iken, "blwesite" ikinci derece alan adıdır. ve üçüncü kısımda'ki "cpanel" ise üçüncü derece domain'dir.
Subdomain Takeover Nedir ?
Subdomain takeover kısaca şundan oluşur dostlar: Subdomain takeover, servis sağlayacılarını uzun süre güncellemedikten sonra oluşan bir açıktır. Uzun süre servisleri güncellemedikten sonra, servis üzerinde'ki kontrolünüzü kaybediyorsunuz, ve böylelikle karşı taraf, yani saldırgan taraf, sizin subdomaininizi böylelikle devr alıyor. (Takeover) Yani dostlar, burada ki asıl açık. İnsanlardır, servisinizi güncellemezseniz, bakımsız tutarsanız. Saldırganlar'da sizin subdomainlerinizi zaman'ı geldiğinde Devr alma yetkisini kazanır.
CNAME Kaydı Nedir ?
CNAME veya Kanonik Ad Kaydı, bir sistemin veya bir bilgisayarın, daha fazla cihaz adı tarafından algılanmasını sağlıyor. Öncelikli olarak bir "A" kaydı mutlaka olmalıdır CNAME Kaydın'da ki bu bir resmi bir isim olmalıdır. ÖRNEK: blweismi.com A 111.111.111.111 CNAME Kaydını kullanarak, diğer host adlarını bir resmi A kaydına yönlendirebilirsiniz. ÖRNEK: blwebasvur.net. CNAME blwebasvur.com. blwebasvur.org. CNAME blwebasvur.com. blwebasvur.biz. CNAME blwebasvur.com.
CNAME kayıtları, domaininizi isimkayit.net, isimkayit.org gibi vasıtalar görüntülemenize yardımcı olur.
Takeover Yapılmaya Müsait Olan Subdomainleri Nasıl Buluruz ?
Burada aslında işler ikiye ayrılıyor. Birinci kısmı subdomainleri bulmak. Ve ikinci kısmı ise, subdomainleri taramak. Artı bir şey yapmamıza gerek yok.
Peki bu subdomainleri nasıl bulup tarayacağız ? Subdomainleri bulmak için: "subfinder" Aracını kullanacağız. Subdomainleri taramak için ise: "subjack" Aracını kullanacağız.
Ama bundan önce ise, linux'umuza "Go" dilini yüklememiz gerekiyor. Bahsettiğim toolları kullanabilmeniz için.
Go dilini linuxumuza indirmek için şu kodları Terminalimize yazıyoruz(Ben Kali Linux kullandım siz herhangi bir debian tabanlı Linux kullanabilirsiniz.) :
Kod:
sudo apt install golang
Evet, Go dilimizi linuxumuza yükledik. Şimdi sıra, subfinder aracımızı kurmakta.
Subfinder aracımızı kurmak için, terminale şu kodları terminalimize yazıyoruz:
Kod:
sudo apt install subfinder
Evet, bu kısımda'da subfinder aracımızı kurduk. Son olarak subjack aracımızı kuracağız.
Subjack aracımızı kurmak için şu kodları terminalimize yazıyoruz:
Kod:
sudo apt install subjack
Evet, go dilimizi ve araçlarımızı linuxumuza yükledik. Sıra, bu araçları kullanmakta, ve takeover ağılrıklı subdomainleri bulup taramakta.
İlk olarak, subfinder aracını kullanacağız. Subdomainleri bulmak için.
Subfinder aracının kullanımı:
Kod:
subfinder -d mercedes-benz.com
Ben örnek site olarak Mercedes'in sitesini kullandım.
subfinder aracının -d parametresinde, bize domain ismi girmemizi istiyor. Bu domain ismini girerken, http ve https protokollerini girmememiz gerekiyor. Aksi taktirde subdomain taraması yapmaz.
Bu normal standart kullanımıdır. Tüm subdomainleri terminal'e yansıtır. Lakin, txt dosyasına kaydetmez. Txt dosyasına kaydetmesi için, -o parametresini kullanmamız gerekir.
Örnek:
Kod:
subfinder -d mercedes-benz.com -o kaydet.txt
Evet, terminale bu kodları yazdığımızda bulunduğumuz klasöre tarama bittikten sonra bir txt dosyası kaydediyor ve içerisinde taranan subdomainler bulunuyor.
Ve görüyorsunuz, 3393 tane subdomain bulmuş subfinder aracımız. Şimdi burada, yapmamız gereken, bu subdomainleri subjack aracını kullanarak taramak.
Subjack Aracının kullanımı:
Kod:
subjack -w merc.txt
subjack aracının -w parametresi, wordlist'e giden yolu belirler. Yani taranacak wordlist'i belirlememizi sağlıyor.
Yanlız girdiğim bu parametreler'de sadece takeover'a yatkın olan subdomainleri terminale çıkarıyor. Yatkın olmayan subdomainleri terminale çıkarmıyor.
Biraz bekliyorum ben, bakalım karşımıza takeover'a yatkın subdomain çıkaracak mı.
Evet, biraz beklediğim'de karşıma takeover'a yatkın olan bir tane subdomain çıkardı. Unutmayın, belki bir tane bile subdomain çıkmaz, belki'de 20 tane subdomain çıkar. Bu kısımda Beklemek gerekiyor.
Başka parametre deneyerek yatkın olmayan subdomainleri'de terminal'e çıkarabiliriz.
Kod:
subjack -w merc.txt -v
Evet, -v parametresini kullanarak takeover'a yatkın olmayan subdomainleri'de bu şekilde çıkarıyoruz.
Lakin bu benim tavsiyem değildir. Benim tavsiyem budur:
Kod:
subjack -w merc.txt
Bu şekilde az karmaşıklık oluyor çünkü. -v parametresi ile aracı kullandığımızda, not vulnerable ile vulnerable olanlar birbirine karıştığı için, karmaşıklık oluşuyor. O yüzden benim tavsiyem -v parametresi olmadan taramanızdır.
Şimdi subjack ile takeover'a yatkın olan subdomainleri bulduk. Peki bu subdomainlerin sol tarafında çıkan azure,shopify gibi yazılar'da ne oluyor ?
Bu yazılar servis isimleridir. Subdomainlerin hangi servis'de olduğunu gösteriyor araç bize. Biz o servislere göre takeover yapmayı denemeliyiz. Mesela azure servisi çıktı ise, azure servisi satın alıp takeover yapmayı deneyebiliriz. Shopify çıktı ise, shopify servisin'de deneyebiliriz.
Ben maalesef takeover kısmını detaylı pek gösteremeyeceğim. Nedeni ise, elimde şuanda azure servisi yok satın alınmış.
O yüzden maalesef.
Lakin size biraz bile olsa bilgi vereceğim.
Bazı servisler vardır, takeover yapılmaz, bazı servisler'de vardır, takeover yapılabilir.
Biz bu servisleri nasıl tespit edeceğiz diyorsanız. Sizin için bir github sayfası bırakacağım.
Orada tüm subdomain takeover servisleri bulunuyor. Ve hangilerinin, takeover'a yatkın olduğu yazılıyor
GitHub - EdOverflow/can-i-take-over-xyz: "Can I take over XYZ?" — a list of services and how to claim (sub)domains with dangling DNS records.
Evet, bu github sayfasında neredeyse tüm servisler bulunuyor. Servis isimlerinin hemen sağ tarafında "Status" diye bir yazı çıkıyor, o yazı servislerin takeover yapılıp yapılmayacağını gösteriyor.
Status kısmında "Vulnerable" yazan servisler takeover'a yatkın olan servislerdir. "Not Vulnerable" yazan servisler ise, subdomain için yatkın olmayan servislerdir.
Evet, burada gördüğünüz gibi, AWS/S3 Servisi için, "Vulnerable" yazıyor, yani takeovar'a yatkın olan bir servis, lakin "Acquia" Servisi için "Not Vulnerable" yazıyor, yani takeover'a yatkın olmadığı söyleniyor bu servisin.
Peki şimdi diyebilirsiniz, biz nasıl takeover'a yatkın olan servisleri takeover yapacağız diye.
Bunun için youtube üzerinde, internet üzerinde çok fazla kaynak var. Mesela AWS/S3 Servisi için takeover videosu arıyorsanız, youtube'a veya tarayıcınıza yazabilirsiniz.
Ben az önce tarayıcıya yazdım "AWS/S3 Subdomain Takeover" diye ve karşıma hemen örnek bir video geldi.
Video link'i bu : https://www.youtube.com/watch?v=JO3VaB5HVKE
Ben maalesef elimde servis olmadığı için gösteremedim. Kusuruma bakmayın.
Pek bir sorun olacağını sanmıyorum ama internet üzerinde vulnerable servisler için baya bir kaynak var, araştırarak servisler üzerinde takeover nasıl yapılır izleyebilir, ve öğrenebilirsiniz.
Ama şunu'da unutmayınız, vulnerable olan subdomainlerin hepsi alınacak diye bir şey yoktur. Çoğu neredeyse önceden alındığı için, alınması mümkün değildir. Sabır gerekli biraz.
Ben burada sadece temel mantığı anlatmak istedim.
Konu bu kadardı, umarım sizlere bir şey katabilmişimdir. Sağlıcakla kalınız, diğer konularda görüşmek üzere.
Son düzenleme: