Konuyu Okuyanlar: 1 Ziyaretçi

Nikto ve WhatWeb ile Web Sunucu Keşfi: Uygulamalı Rehber

Nikto ve WhatWeb ile Web Sunucu Keşfi: Uygulamalı Rehber
Merhaba TurkTeam,

Bir web hedefine karşı iş yapmadan önce "karşımızda ne var?" sorusunu yanıtlamamız gerekir: Hangi web sunucusu, hangi teknolojiler, hangi sürümler, bilinen yanlış yapılandırmalar ve tehlikeli dosyalar? Bu pasif/aktif keşif için iki klasik araç öne çıkar: teknolojileri parmak izinden tanıyan WhatWeb ve web sunucusunu bilinen sorunlara karşı tarayan Nikto. Bu rehberde ikisini birlikte, resmi kullanımlarına sadık kalarak ele alıyoruz.

Konuda Anlatılacaklar
  1. Web sunucu keşfi nedir, neden ilk adımdır
  2. WhatWeb ve Nikto nedir, farkları
  3. Kurulum
  4. WhatWeb parametre referansı ve uygulama
  5. Nikto parametre referansı ve uygulama
  6. Çıktıları yorumlama ve ileri ipuçları
  7. Sonuç, kaynakça ve yasal uyarı

1. Web Sunucu Keşfi Nedir?
Keşif (reconnaissance), hedef hakkında bilgi toplama aşamasıdır ve bir testin kalitesini doğrudan belirler. Web tarafında bu; sunucu yazılımını (Apache, nginx, IIS), uygulama çatısını (WordPress, Laravel, vb.), kullanılan kütüphaneleri, HTTP başlıklarını, çerez yapılandırmasını ve bilinen riskli dosya/dizinleri ortaya çıkarmayı kapsar. Bu bilgi, sonraki adımları (zafiyet araştırması, hedefli testler) yönlendirir.

2. WhatWeb ve Nikto: Farkları
WhatWeb bir "web teknoloji parmak izi" aracıdır: sayfayı alır, başlıkları ve içerik desenlerini 1800'den fazla eklentiyle eşleştirip hangi teknolojilerin kullanıldığını söyler. Düşük agresiflikte neredeyse pasiftir.

Nikto ise bir "web sunucu zafiyet tarayıcısı"dır: sunucuya binlerce istek göndererek bilinen tehlikeli dosyaları, eski sürümleri, yanlış yapılandırılmış başlıkları ve varsayılan içerikleri arar. Nikto gürültülüdür ve loglarda kolayca görünür; bu yüzden izinli test şarttır.

3. Kurulum
Her ikisi de Kali/Parrot depolarında bulunur:
Kod:
sudo apt update sudo apt install whatweb nikto
Sürümleri doğrulayın:
Kod:
whatweb --version nikto -Version

4. WhatWeb Parametre Referansı ve Uygulama
Temel kullanım:
Kod:
whatweb http://192.168.56.101

-v - Ayrıntılı çıktı (hangi eklenti neyi eşledi):
Kod:
whatweb -v http://192.168.56.101

-a - Agresiflik düzeyi (1 pasif/stealthy, 3 agresif, 4 ağır):
Kod:
whatweb -a 3 http://192.168.56.101

--log-json / toplu tarama:
Kod:
whatweb --log-json=sonuc.json -i hedefler.txt
Örnek bir çıktı satırı şuna benzer:
Kod:
http://192.168.56.101 [200 OK] Apache[2.2.8], PHP[5.2.4], Country[RESERVED][ZZ], HTTPServer[Apache/2.2.8 (Ubuntu) DAV/2]
Buradan sunucunun eski bir Apache ve PHP sürümü çalıştırdığını tek bakışta görürsünüz; bu, bilinen zafiyet araştırması için değerli bir başlangıçtır.
[Resim: attachment.php?aid=232]

5. Nikto Parametre Referansı ve Uygulama
-h - Hedef host/URL:
Kod:
nikto -h http://192.168.56.101

-p - Port (birden çok virgülle):
Kod:
nikto -h 192.168.56.101 -p 80,443,8080

-ssl - HTTPS zorlama:
Kod:
nikto -h https://192.168.56.101 -ssl

-Tuning - Belirli test kategorilerini seçme (örn. 1 dosya, 2 yanlış yapılandırma, 9 SQLi):
Kod:
nikto -h http://192.168.56.101 -Tuning 123b

-o / -Format - Rapor çıktısı:
Kod:
nikto -h http://192.168.56.101 -o rapor.html -Format htm

Örnek bir Nikto bulgusu şöyle görünür:
Kod:
+ Server: Apache/2.2.8 (Ubuntu) DAV/2 + The anti-clickjacking X-Frame-Options header is not present. + /phpinfo.php: Output from the phpinfo() function was found. + OSVDB-3233: /icons/README: Apache default file found.
[Resim: attachment.php?aid=233]
Her satır bir gözlemdir: eksik güvenlik başlıkları, bilgi sızdıran phpinfo.php, varsayılan Apache dosyaları gibi. Bunlar doğrudan "açık" olmayabilir ama saldırı yüzeyini ve yanlış yapılandırmaları gösterir.
[Resim: attachment.php?aid=234]

6. Çıktıları Yorumlama ve İleri İpuçları
  • Önce WhatWeb, sonra Nikto: Teknolojiyi tanıyın, sonra o teknolojiye uygun Nikto ayarlarıyla derinleşin.
  • Yanlış pozitifler: Nikto bulgularını körü körüne "zafiyet" saymayın; her satırı manuel doğrulayın. phpinfo.php varlığı gerçek ve ciddidir, ama bazı OSVDB kayıtları bağlama göre geçersiz olabilir.
  • Gürültü yönetimi: Nikto çok istek üretir; üretim ortamında -Tuning ile kapsamı daraltın ve zamanlamaya dikkat edin.
  • Proxy ile görünürlük: -useproxy ile Burp üzerinden geçirip istek/yanıtları inceleyebilirsiniz.
  • Güncel tutun: Nikto'nun veritabanı güncel olmalı; aracı ve imzalarını güncel tutmak bulgu kalitesini artırır.
İki aracın birlikte verdiği tablo, bir sonraki adıma (örneğin dizin keşfi, CMS'e özel tarayıcılar ya da elle test) sağlam bir zemin oluşturur.

7. Savunma Perspektifi
Keşif araçlarının bulduğu çoğu şey aslında savunma eksiğidir. Sunucu sürüm bilgisini gizlemek (ServerTokens Prod), gereksiz varsayılan dosyaları (README, test sayfaları, phpinfo.php) kaldırmak, güvenlik başlıklarını (X-Frame-Options, Content-Security-Policy, X-Content-Type-Options) eklemek ve yazılımları güncel tutmak, bu araçların döndürdüğü bulguların çoğunu ortadan kaldırır. Yani Nikto/WhatWeb çıktısını bir "yapılacaklar listesi" gibi okumak, savunmacı için en verimli yaklaşımdır.

7.1. İki Aracı Bir İş Akışına Oturtmak
Nikto ve WhatWeb'i tek tek öğrenmek kolaydır; asıl ustalık, onları tutarlı bir iş akışına oturtmaktır. Pratikte sıralama şöyle işler: önce hedefin canlı ve hangi portlarda web servisi sunduğunu bir port taramasıyla (örneğin Nmap) teyit edersiniz. Ardından WhatWeb'i düşük agresiflikle çalıştırıp teknolojiyi, sürümleri ve çatıyı tespit edersiniz. Bu bilgi elinizdeyken Nikto'yu daha bilinçli yaparsınız: HTTPS ise -ssl ekler, standart dışı port varsa -p ile belirtir, ilgisiz test kategorilerini -Tuning ile eler ve raporu dosyaya yazdırırsınız.

Bu araçların en büyük tuzağı, çıktıyı olduğu gibi "bulgu" olarak rapora kopyalamaktır. Profesyonel yaklaşım, her satırı bağlamıyla değerlendirmektir. Örneğin eksik bir X-Frame-Options başlığı gerçek ama düşük önemli bir bulgudur; erişilebilir bir phpinfo.php ise sunucu yolunu, yüklü modülleri ve ortam değişkenlerini sızdırdığı için çok daha ciddidir. Eski bir sunucu sürümü ise tek başına bir açık değildir, ancak o sürüme ait bilinen zafiyetleri araştırmanız için güçlü bir ipucudur. İyi bir testçi, aracın söylediğini doğrulayan, önceliklendiren ve etkisini açıklayan kişidir; aracı yalnızca çalıştıran değil.

Son olarak tekrarlanabilirlik için her taramanın komutunu, zamanını ve çıktısını kaydedin. Bir hedefi haftalar sonra yeniden test ettiğinizde, eski WhatWeb ve Nikto raporlarıyla karşılaştırmak, nelerin düzeltildiğini ve nelerin hâlâ açık olduğunu görmenin en hızlı yoludur. Bu alışkanlık, hem denetim kalitenizi hem de müşteriye sunduğunuz değeri belirgin biçimde artırır.

Sonuç
WhatWeb hedefin "ne" olduğunu, Nikto ise "nerede zayıf olabileceğini" hızlıca gösterir. İkisi birlikte, web keşfinin omurgasını oluşturur. Bulguları her zaman elle doğrulayın, gürültüyü yönetin ve sonuçları ya bir sonraki test adımına ya da savunma iyileştirmelerine dönüştürün. Keşif ne kadar iyi olursa, testin geri kalanı o kadar isabetli olur.

Kaynakça
Yasal Uyarı
Alıntı:Web keşif ve tarama araçları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde kullanılmalıdır. İzinsiz tarama Türk Ceza Kanunu 243-245. maddeleri kapsamında suç oluşturabilir.

Yasal uyarı: Bu içerik eğitim amaçlıdır. Yalnızca kendi sistemlerinizde veya yazılı izin aldığınız hedeflerde uygulayın (TCK 243-245).


Ek DosyalarEkran Görüntüleri
           
Cevapla



Hızlı Menü: