Subdomain Takeover | Nedir?

Blwe

Uzman üye
17 Şub 2021
1,585
1,645
Green/Moderasyon
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. :)

a3b2jeo.png


dgb2ajx.png


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.

6OfL8I.gif


f5h73p0.png


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.

6OfL8I.gif


8cp88hw.png


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.


6OfL8I.gif


ocw5dbm.png


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

lt21p7u.png


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

2a0chi3.png


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

epvcnji.png


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

in0teek.png


Evet, terminale bu kodları yazdığımızda bulunduğumuz klasöre tarama bittikten sonra bir txt dosyası kaydediyor ve içerisinde taranan subdomainler bulunuyor.

gqklq8z.png


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

2q8cqmt.png


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ı.

a4vy0q3.png


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

2zqjcsp.png


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.


fxa1sim.png


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. :D


Ben burada sadece temel mantığı anlatmak istedim.

6OfL8I.gif


Konu bu kadardı, umarım sizlere bir şey katabilmişimdir. Sağlıcakla kalınız, diğer konularda görüşmek üzere.



MODERASYONaa2a5c0e17b83f26.png
 
Son düzenleme:

THE zoRRo

Uzman üye
26 Tem 2022
1,672
1,608
19
Türk Deniz Kuvvetleri
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. :)

a3b2jeo.png


dgb2ajx.png


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.

6OfL8I.gif


f5h73p0.png


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.

6OfL8I.gif


8cp88hw.png


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.


6OfL8I.gif


ocw5dbm.png


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

lt21p7u.png


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

2a0chi3.png


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

epvcnji.png


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

in0teek.png


Evet, terminale bu kodları yazdığımızda bulunduğumuz klasöre tarama bittikten sonra bir txt dosyası kaydediyor ve içerisinde taranan subdomainler bulunuyor.

gqklq8z.png


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

2q8cqmt.png


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ı.

a4vy0q3.png


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

2zqjcsp.png


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.


fxa1sim.png


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. :D


Ben burada sadece temel mantığı anlatmak istedim.

6OfL8I.gif


Konu bu kadardı, umarım sizlere bir şey katabilmişimdir. Sağlıcakla kalınız, diğer konularda görüşmek üzere.



MODERASYONaa2a5c0e17b83f26.png
Ellerinize sağlık hocam.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.