Web İçerik Keşfi

Gobuster Kullanımı

Gobuster ile yalnızca kendi web uygulamalarınızda dizin, dosya ve alt alan adı keşfi yapın; sonuçları güvenli şekilde yorumlayın ve gereksiz açık içerikleri kapatın.

17 Temmuz 202620 dk okumaBaşlangıç–Orta Seviye

1. Gobuster Nedir?

Gobuster, web sunucularında dizin ve dosya adlarını, DNS alt alan adlarını ve bazı sanal host yapılarını wordlist kullanarak keşfetmeye yarayan açık kaynaklı bir araçtır.

Web uygulaması envanteri çıkarma ve yanlışlıkla açık bırakılmış içerikleri belirleme çalışmalarında kullanılabilir.

Yetkili kullanım

Gobuster'ı yalnızca size ait sistemlerde veya açıkça izin verilmiş laboratuvar ortamlarında kullanın.

2. Gobuster Modları

Mod Açıklama
dir Web dizinleri ve dosyaları için kelime listesi tabanlı keşif yapar.
dns Alan adına ait alt alan adlarını wordlist ile kontrol eder.
vhost Aynı IP üzerinde barındırılan sanal host adlarını test eder.
fuzz Belirlenen FUZZ noktasında kontrollü içerik denemeleri yapar.

Bu dokümanda ağırlıklı olarak güvenli laboratuvar için dir ve kendi alan adınız için dns modları ele alınır.

3. Kali Linux'ta Gobuster Kurulumu

Paket listesini güncelleyin:

bash
sudo apt update

Gobuster paketini yükleyin:

bash
sudo apt install gobuster -y

Sürüm bilgisini kontrol edin:

bash
gobuster version

4. Yardım Ekranı

Genel yardım ekranı:

bash
gobuster --help

Dir modu seçeneklerini görmek için:

bash
gobuster dir --help

5. Wordlist Nedir?

Wordlist, Gobuster'ın test edeceği olası dizin, dosya veya alt alan adlarını içeren metin dosyasıdır.

Kali Linux'ta bazı listeler şu dizinlerde bulunabilir:

bash
find /usr/share/wordlists -type f | head
Küçük listeyle başlayın

İlk testlerde küçük bir wordlist kullanmak sunucuya gönderilen istek sayısını azaltır.

6. Küçük Laboratuvar Wordlist'i Oluşturma

Kendi yerel test uygulamanız için küçük bir wordlist oluşturabilirsiniz:

bash
cat > lab-dizinleri.txt << 'EOF'
admin
docs
images
css
js
uploads
backup
test
EOF

Dosyayı kontrol edin:

bash
cat lab-dizinleri.txt

7. Temel Dizin Keşfi

Yalnızca kendi yerel web sunucunuzda temel dir taraması:

bash
gobuster dir -u http://127.0.0.1 -w lab-dizinleri.txt

8. Yerel Ağdaki Test Sunucusu

Size ait laboratuvar web sunucusu başka bir sanal makinedeyse:

bash
gobuster dir -u http://192.168.56.101 -w lab-dizinleri.txt

9. Dosya Uzantılarını Kontrol Etme

Belirli dosya uzantılarını da denemek için -x kullanılabilir:

bash
gobuster dir -u http://127.0.0.1 -w lab-dizinleri.txt -x html,txt,php

Yalnızca uygulamanızda gerçekten kullanılan uzantıları seçin.

10. HTTPS Hedefi

Kendi HTTPS sitenizde:

bash
gobuster dir -u https://alanadiniz.com -w lab-dizinleri.txt

11. HTTP Durum Kodlarını Yorumlama

Kod Anlamı
200 İçerik doğrudan erişilebilir.
301 / 302 Başka bir adrese yönlendirme vardır.
401 Kimlik doğrulama gerekir.
403 Sunucu isteği anladı ancak erişimi reddetti.
404 İçerik bulunamadı.
500 Sunucu tarafında hata oluştu.

403 sonucu içeriğe yetkisiz erişim yapılabileceği anlamına gelmez; yalnızca yolun sunucu tarafından tanındığını gösterebilir.

12. Durum Kodlarını Filtreleme

Belirli durum kodlarını göstermek için:

bash
gobuster dir -u http://127.0.0.1 -w lab-dizinleri.txt -s 200,204,301,302,307,401,403

13. Cevap Uzunluğunu Hariç Tutma

Uygulama her bilinmeyen yol için aynı özel sayfayı döndürüyorsa belirli içerik uzunluğu hariç tutulabilir:

bash
gobuster dir -u http://127.0.0.1 -w lab-dizinleri.txt --exclude-length 1234

Hariç tutulacak uzunluğu yalnızca kendi uygulamanızdaki gerçek cevapları inceleyerek belirleyin.

14. Thread Sayısını Sınırlama

Sunucuyu gereksiz yükten korumak için paralel iş sayısını düşük tutun:

bash
gobuster dir -u http://127.0.0.1 -w lab-dizinleri.txt -t 5

15. İstekler Arasına Gecikme Ekleme

Kontrollü laboratuvar taraması için gecikme eklenebilir:

bash
gobuster dir -u http://127.0.0.1 -w lab-dizinleri.txt --delay 250ms

16. Özel User-Agent Kullanma

Loglarda taramayı kolay ayırt etmek için:

bash
gobuster dir -u http://127.0.0.1 -w lab-dizinleri.txt -a "Kemal-Lab-Gobuster"

17. Sonuçları Dosyaya Kaydetme

Tarama çıktısını metin dosyasına kaydetmek için:

bash
gobuster dir -u http://127.0.0.1 -w lab-dizinleri.txt -o gobuster-sonucu.txt

18. DNS Alt Alan Adı Keşfi

Yalnızca size ait alan adı için küçük bir alt alan adı listesi hazırlayın:

bash
cat > lab-subdomains.txt << 'EOF'
www
docs
blog
mail
status
dev
EOF

DNS modu:

bash
gobuster dns -d alanadiniz.com -w lab-subdomains.txt

19. VHost Modu

Aynı laboratuvar sunucusunda size ait sanal host adlarını kontrol etmek için:

bash
gobuster vhost -u http://lab.example.local -w lab-subdomains.txt

Bu kullanım yalnızca kendi DNS ve web sunucusu yapılandırmanız için yapılmalıdır.

20. Sunucu Loglarını İzleme

Nginx erişim logu:

bash
sudo tail -f /var/log/nginx/access.log

Özel User-Agent ile filtreleme:

bash
sudo grep "Kemal-Lab-Gobuster" /var/log/nginx/access.log

21. Bulguları Yorumlama

Bulgu Savunma açısından kontrol
/admin Yönetim paneli internete açık mı, MFA ve IP kısıtı var mı?
/backup Yedek dosyalar web kökünde tutuluyor mu?
/uploads Dosya yükleme izinleri ve içerik türleri güvenli mi?
/test Test ortamı üretimde yanlışlıkla açık mı?
403 dizin Dizin gerçekten gerekli mi, erişim politikası doğru mu?

22. curl ile Manuel Doğrulama

Kendi sunucunuzda bulunan bir yolu doğrulamak için:

bash
curl -I http://127.0.0.1/docs

Yönlendirmeyi takip etmek için:

bash
curl -I -L http://127.0.0.1/docs

23. Web Sunucusu Savunma Önlemleri

  • Gereksiz dosya ve dizinleri kaldırın.
  • Yedek dosyaları web kökü dışında saklayın.
  • Yönetim panellerini VPN veya IP kısıtı arkasına alın.
  • Dizin listelemeyi kapatın.
  • Test ve geliştirme ortamlarını üretimden ayırın.
  • Dosya yükleme dizinlerinde çalıştırma iznini kapatın.
  • Güvenlik başlıklarını ve HTTPS'i etkinleştirin.
  • Log ve alarm mekanizması kullanın.

24. Uygulamalı Güvenli Laboratuvar

  1. Kendi yerel web sunucunuzu başlatın.
  2. Küçük bir laboratuvar wordlist'i oluşturun.
  3. Gobuster dir taramasını düşük thread sayısıyla başlatın.
  4. Özel User-Agent kullanın.
  5. Sonuçları dosyaya kaydedin.
  6. Nginx veya Apache loglarını inceleyin.
  7. Bulunan yolları curl ile doğrulayın.
  8. Gereksiz içerikleri kaldırın veya erişimi sınırlandırın.
  9. Aynı taramayı yeniden çalıştırın.
  10. Önceki ve sonraki sonuçları karşılaştırın.

25. Sık Karşılaşılan Hatalar

gobuster komutu bulunamadı

bash
sudo apt update
sudo apt install gobuster -y

Wordlist bulunamadı

Dosya yolunu ve okuma izinlerini kontrol edin:

bash
ls -lh lab-dizinleri.txt

Wildcard response hatası

Sunucu bilinmeyen her yol için aynı cevabı dönüyor olabilir. Cevap kodu veya içerik uzunluğu filtrelerini dikkatle ayarlayın.

Çok fazla 403 sonucu

403 bulgularını erişim atlatma amacıyla kullanmayın; kendi sunucunuzda yapılandırma ve gereklilik açısından inceleyin.

26. Komut Özeti

İşlem Komut
Temel dir taraması gobuster dir -u http://127.0.0.1 -w lab-dizinleri.txt
Uzantı kontrolü -x html,txt,php
Thread sınırı -t 5
Gecikme --delay 250ms
Sonuç kaydetme -o gobuster-sonucu.txt
DNS modu gobuster dns -d alanadiniz.com -w lab-subdomains.txt

27. Sonuç

Bu dokümanda Gobuster kurulumu, dir ve dns modları, wordlist hazırlama, dosya uzantıları, durum kodları, thread ve gecikme ayarları, çıktı kaydetme ve bulguların manuel doğrulanması ele alındı.

Gobuster en güvenli şekilde, kendi web uygulamanızın içerik envanterini çıkarmak ve gereksiz açık dosya veya dizinleri kapatmak amacıyla kullanılmalıdır.

© 2026 Kemal Tokmak — Gerçek Deneyimler, Gerçek Dokümantasyon