Siber Güvenlik

Subdomain Keşfi Nasıl Gerçekleştiriliyor?

Bilindiği üzere, domainler web sitelerinin URL'lerindeki tanımlayıcı kısımlardır. Domainler, kullanıcıların web sitelerini görüntülemek için tarayıcılarına yazdıkları web site adreslerini belirlerler.

Ahmet Buğra Demirel |

29.08.2023

Subdomain Keşfi Nasıl Gerçekleştiriliyor?

 

Subdomain'ler, web sitelerinin farklı bölümlerini organize etmek ve bu bölümlerde gezinmek için kullanılırlar. Subdomain'lerin keşfi için birçok araç mevcuttur. Bunlardan bazıları Amass, Sublist3r, Assetfinder ve Subfinder'dır.

 

Subfinder ile Subdomain Keşfi Nasıl Yapılır?

 

Subdomain Keşfi Nasıl Gerçekleştiriliyor?

 

Subfinder, Go programlama dili kullanılarak yazılmış, açık kaynak kodlu bir subdomain tarama aracıdır.Subdomainleri keşfetmek için 4 farklı yöntemden yararlanır. Bu yöntemler,

 

Pasif Keşif: Pasif keşif yöntemi, WHOIS bilgileri, DNS sorguları, arama motorları ve benzeri kaynakları kullanarak subdomain'leri pasif bir şekilde keşfedilmesini sağlar. Bu yöntemde, hedef alan adına ait herhangi bir sorgu gönderilmez ve böylece hedef sisteme herhangi bir etki yapmaz.

 

Aktif Keşif: Aktif keşif yöntemi, hedef alan adlarına DNS sunucularına aktif olarak sorgu göndererek subdomain'leri belirler. Bu yöntemde, DNS sunucusuna doğrudan sorgu gönderildiği için hedef sistemlere etki yapabilir. Ancak, bu yöntem subdomain'leri keşfetmek için oldukça yaygın bir yöntemdir ve birçok subdomain keşif aracı bu yöntemi kullanır. Örneğin, nslookup komutu ile belirli bir DNS sunucusuna A kaydı sorgusu göndererek subdomain'leri keşfedebilirsiniz.

 

nslookup subdomain.bugra.com ns1.bugra.com

 

Bu sorgu, subdomain.bugra.com alt alan adı için ns1.bugra.com DNS sunucusuna A kaydı sorgusu gönderir. Bu sorgu sonucunda, subdomain'e ait IP adresi elde edilebilir.

 

Bruteforce: Bruteforce yöntemi, subdomain'leri keşfetmek için bir listeyi deneme-yanılma yoluyla sistematik olarak bir araç ya da manuel denenmesiyle oluşturur. Bu yöntemde, belirli bir domain altında bulunabilecek olası subdomain'lerin bir listesi oluşturulur ve bu listeye brute-force saldırısı yapılır. Bu saldırıda, farklı subdomain kombinasyonları kullanılarak subdomain'lerin keşfi sağlanır. Bu yöntem için, wfuzz, gobuster, dirb gibi araçlar kullanılabilir.

 

Permutation: Domaine karşı tüm subdomain kombinasyonlarını oluşturarak keşif yapar. Örneğin, "ahmetbugra.com" için permütasyon yöntemi ile alt alan adları oluşturabilir ve bu alt alan adları arasında keşif yapabilir. 

 

Bu işlem için "crunch" gibi bir araç kullanabilirsiniz ve komutu "crunch 4 4 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 -o parola_listesi.txt && sed -i 's/$/@ahmet.com.tr/' parola_listesi.txt" gibi kullanarak subdomain kombinasyonlarını oluşturabilir ve sonuçları "subdomains.txt" dosyasına kaydedebilirsiniz.

 

Subdomain Keşfi Nasıl Gerçekleştiriliyor?

 

  • mail.ahmetbugra.com 
  • ftp.ahmetbugra.com 
  • dev.ahmetbugra.com 
  • test.ahmetbugra.com
  • www.ahmetbugra.com 
  • admin.ahmetbugra.com

 

Subdomain Tarama Aracının Güçlü Parametreleri

 

1-Verilen hedef alan adına karşı yapılan subdomain taraması için  “d” parametresi kullanılır ve hedef alan adı belirtilir.

 

Örnek kullanımı:

 

Subfinder -d hackerone.com

 

Subdomain Keşfi Nasıl Gerçekleştiriliyor?

 

2-Subfinder taraması sonucunda elde edilen subdomainleri bir dosyaya kaydetmek için '-o' parametresi kullanılır. 

 

Örneğin, 'hackerone.com' alan adına yapılan subdomain taraması sonucu elde edilen çıktılar '-o' parametresi ile 'hacker subdomains.txt' dosyasına kaydedilebilir:

 

Subfinder -d hackerone.com -o hacker-subdomain.txt

 

3-Subfinder taramalarında hızlı sonuçlar elde etmek için "-t" parametresi kullanılır ve bu parametre ile tarama işlemi sırasında aynı anda çalışacak thread sayısı belirlenir.Yüksek thread sayısı, tarama işleminin daha hızlı tamamlanmasını sağlar. Ancak, çok yüksek thread sayısı kullanmak hedef sunucuda istenmeyen yük oluşmasına neden olabilir. Bu nedenle, thread sayısı seçimi, hedef sunucunun kapasitesi ve performansı göz önünde bulundurularak dikkatli bir şekilde yapılmalıdır.

 

Örneğin,tarama işlemi için kullanılan thread sayısı 20 olarak belirtilir. Bu işlem aynı anda çalışacak thread sayısnı belirtir.

 

Subfinder -d hackerone.com -o hacker-subdomain.txt -t 20 

 

4- Subdomain taraması işleminde kullanılan '-v' (verbose) modu, daha fazla ayrıntılı bilgi almak için kullanılır. Bu mod ile hangi DNS sunucusunun ve hangi IP adreslerinin kullanıldığı hakkında bilgi sahibi olunabilir.

 

Subfinder -d hacker.com  -o hacker-subdomain.txt -t 20 -v 

 

Örnek Çıktı:

 

Subdomain Keşfi Nasıl Gerçekleştiriliyor?


5-Subdomain taraması işleminde, Subfinder'ın bir çıktı veya hata mesajı vermeden arka planda çalışmasını sağlamak için "-silent" parametresi kullanılır. Bu, Subfinder'ın arka planda bir işlem olarak çalışmasına izin verir. Aşağıdaki örnek kullanımda, tarama işlemi için kullanılacak thread sayısı 20 olarak belirtilmiştir ve "-silent" parametresi kullanılarak Subfinder sessiz modda çalıştırılmıştır:

 

Subfinder -d hackerone.com -o hacker-subdomain.txt -t 20 -silent

 

Silent mod (-silent) ve verbose mod (-v) aynı anda kullanılamamaktadır. Bu iki mod birbiriyle çelişmektedir.

 

Örnek Subfinder Kullanımları:

 

Subfinder -d hackerone.com  -o hacker-subdomain.txt -t 20 -v  
Subfinder -d hackerone.com  -o hacker-subdomain.txt -t 20  -silent

 

Subfinder ve Shodan API'sini Kullanarak Subdomainleri Keşfetme

 

Subfinder'ın Shodan API anahtarını kullanarak Shodan'ı entegre etmesi, subdomain taramalarında daha kapsamlı sonuçlara ulaşmak için önemlidir. Shodan, internet üzerinde açık cihazları, portları, protokolleri ve hizmetleri tarayarak, bu cihazların veya hizmetlerin alt alanlarını da keşfedebilir. Subfinder, Shodan API anahtarını kullanarak daha fazla alt alan keşfetme potansiyelini artırır.

 

1- Shodan hesabınıza giriş yaptıktan sonra, kullanıcı panelinde "API" sekmesini bulabilir ve buradan API anahtarınızı alabilirsiniz. API anahtarı, Shodan API'sine erişim sağlar.

 

Subdomain Keşfi Nasıl Gerçekleştiriliyor?

 

2- Subfinder'ın konfigürasyon dosyasını düzenleyerek Shodan API anahtarınızı eklemeniz gerekmektedir

 

Subdomain Keşfi Nasıl Gerçekleştiriliyor?

 

Bu adımları takip ederek, Shodan'ın Subfinder ile entegre edilmesini sağlayabilir ve daha kapsamlı subdomain taramaları gerçekleştirebiliriz.

 

Subfinder ve HTTPX Subdomain Taramasında Güçlü Bir İkili

 

HTTPX, Go programlama dili kullanılarak geliştirilmiş ,açık kaynak kodlu bir HTTP istemcisi ve analiz aracıdır. HTTPX kullanmak için, hedef web sitelerinin URL'lerini liste şeklinde sağlamanız gerekir. Bu URL'ler, HTTP veya HTTPS protokollerini kullanarak sunuculara yapılacak istekler için temel adresleri sağlar. 

 

Oluşturulan her istek, belirtilen protokol (HTTP veya HTTPS) kullanılarak ilgili sunucuya gönderilir. Sunucu her isteği aldığında, yanıt olarak bir dizi bilgi gönderir. Bu yanıt HTTPX tarafından alınır ve analiz edilerek HTTPX, sunucudan gelen yanıtları kullanıcının belirlediği şekilde işler ve sonuçları HTTPX kullanıcısına döndürür.

 

HTTPX Kullanımında İhtiyaç Duyulan Anahtar Parametreler

 

HTTPX ile kullanabileceğiniz birçok parametre vardır, ancak en çok kullanılanlar aşağıda listelenebilir:

 

1- Daha önce elde etmiş olduğumuz subdomainleri listesini httpx aracımıza bir liste olarak vermek için -list parametresini kullanırız. Örneğin aşağıda bir subfinder sonuçlarından elde etmiş olduğumuz subdomin listesini (hacker-subdomains.txt) veriyoruz. 

 

2- httpx'te -status-code parametresi, belirtilen subdomainler için yalnızca belirtilen HTTP durum kodlarını filtrelemek için kullanılır. Örneğin, -status-code 200,301 gibi bir komut kullanarak, yalnızca subdomainlerin HTTP durum kodu 200 veya 301 olanları listelemek mümkündür.

 

httpx-toolkit -list hacker-subdomains.txt -status-code 

 

Subdomain Keşfi Nasıl Gerçekleştiriliyor?


3- httpx -tech-detect parametresi verilen hedef web subdomainlerinin web sunucusu teknolojileri hakkında bilgi almak için kullanılır. Aşağıdaki örnek kodda, belirtilen subdomainlerin teknolojilerini tespit etmek için -tech-detect parametresi kullanılmıştır:

 

httpx-toolkit -list hacker-subdomains.txt -status-code -tech-detect

 

Subdomain Keşfi Nasıl Gerçekleştiriliyor?

 

4- httpx -title parametresi, belirtilen subdomainlerin web sayfalarının başlık bilgilerini almak için kullanılır. Başlık bilgileri, web sayfasının içeriği hakkında bilgi verir ve saldırganlar için atak yüzeyini geliştirmek için önemli bir bilgidir.

 

httpx-toolkit -list -hacker-subdomains.txt -status-code -title 

 

Subdomain Keşfi Nasıl Gerçekleştiriliyor?

 

5-httpx -probo parametresi her subdomain için bir HTTP(S) isteği gönderir ve bu isteğin başarılı ya da başarısız olduğunu belirtir.

 

httpx -response-time parametresi bizim http isteğimizin web uygulamasının süresini ölçmek için kullandığımız bir parametredir. Ölçülen bu süre bize milisaniye cinsinden değerini ifade eder. 

 

Örnek kullanım:

 

httpx-toolkit -list hacker-subdomains.txt -status-code -probe -response-time

 

Subdomain Keşfi Nasıl Gerçekleştiriliyor?

 

6-httpx -ip parametresi ile belirlenen subdomainlerin hedef ip adreslerinin tespiti için kullanılır. Ayrıca öğrenilen bu ip adresleri sayesinde hedefte bulunan servislerin sayısının tespit etmek için de kullanırız. Örneğin aşağıdaki gibi bir kod çalıştırırsak 162.159 ile başlayan ip adreslerini filtrelemek için kullanabiliriz.

 

httpx-toolkit -list hacker-subdomains.txt -status-code -probe -response-time -status-code -title -ip |grep 162.159 

 

Subdomain Keşfi Nasıl Gerçekleştiriliyor?

 

Httpx ve Subfinder'ı Kullanarak Web Sitelerindeki Bilgileri Nasıl Toplayabiliriz?

 

Öncelikle tarama yapmak istediğimiz domain belirlenir daha sonra subfinder ile bu domain için gerekli parametreleri kullanarak bir tarama gerçekleştirebiliriz. Örneğin aşağıda hackerone.com için bir subdomain taraması gerçekleştirelim. Daha sonra tarama sonucu oluşan hacker-subdomains.txt dosyamızı httpx-toolkit aracımıza input olarak verelim.

 

subfinder -d hackerone.com -o hacker-subdomains.txt | httpx-toolkit -list hacker-subdomains.txt -status-code -probe -response-time -status-code -title -ip |grep SUCCESS 

 

Aktarılan sonuçlar arasından bize “SUCCESS" dönenlerin listeleyip bu subdomainler üzerinden testlere devam edebiliriz.


Subdomain Keşfi Nasıl Gerçekleştiriliyor?