Nikto Kullanımı – Web Taraması (İleri Seviye)
Nikto Nedir?
Nikto, açık kaynaklı bir web sunucusu ve uygulama tarayıcısıdır. 6700’den fazla potansiyel tehlikeli dosya/CGI, eski yazılım sürümleri, yanlış yapılandırmalar ve bilinen güvenlik açıklarını tespit etmek için kullanılır. Perl tabanlı olan bu araç, özellikle sızma testi (pentest) ve web güvenliği değerlendirmelerinde güçlü bir seçenektir.
Bu yazı da Nikto aracının ileri seviye kullanımını, çeşitli komut örneklerini ve özelleştirme örneklerini ele alacağız. Bu aracı Metasploitable 2 sanal makinesi üzerinde test edeceğim.
Temel Nikto Komutları ve Kullanımı
Temel Nikto tarama komutu aşağıdaki gibidir:
nikto -h
-h: Hedef URL veya IP adresi (örn. http://example.com veya 192.168.1.1).

Nikto ile tarama yaptığımızda farklı formatlarda rapor çıktıları alabiliriz. Daha okunaklı ve kullanışlı çıktılar elde edebiliriz.
nikto -h
-o: Çıktı dosyasını belirtir.-Format: Çıktı formatı (htm, csv, txt, xml, json).

Görüldüğü üzere Nikto temel olarak port belirtmediğimizde 80 portunu taramaktadır. Bu konuya aşağıda değineceğiz.
Nikto İleri Seviye Kullanım
Nikto’nun ileri düzey özelliklerini kullanarak taramaları özelleştirmek, performans ve doğruluk açısından kritik öneme sahiptir. Aşağıda, uzman seviyesinde kullanılan bazı önemli seçenekler ve senaryoları ele alacağız.
Özel Port ve Protokol Taraması
Örneğin web sunucusu standart olmayan bir 8080 gibi bir portta çalışıyorsa aşağıdaki komutu kullanabiliriz:
nikto -h
https için ise aşağıdaki komutu kullanabiliriz:
nikto -h
Senaryo: Bir şirketin test ortamında, geliştirme sunucusu 8443 portunda HTTPS ile çalışıyor. Taramayı şu şekilde yapabiliriz:
nikto -h
CGI Dizinlerini Tarama
CGI dizinlerinde olabilecek açıkları taramak için aşağıdaki komutu kullanabiliriz:
nikto -h
-C all: Olası tüm CGI dizinlerini zorla tarar. Alternatif olarak belirli dizinler de belirtilebilir: -C /cgi-bin/

Senaryo: Eski bir web uygulamasında `/cgi-bin/` dizininde unutulmuş bir script bulmak için aşağıdaki komutu kullanabiliriz:
nikto -h
-Tuning b: Yalnızca yanlış yapılandırılmış dosya ve dizin testlerini çalıştırır.

IDS/IPS Kaçınma Teknikleri
Nikto’nun LibWhisker tabanlı kaçınma teknikleri, taramaların tespit edilmesini zorlaştırabilir:
nikto -h
Kaçınma seçenekleri:
- `1`: Rastgele URI kodlaması.- `2`: Kendine referanslı dizin (`/./`).- `7`: URL kasası değiştirme (örn. `/AdMiN/`).- `8`: Windows dizin ayırıcı (`\`).

Senaryo: Bir IDS’nin aktif olduğu bir sunucuda gizli tarama için aşağıdaki komutu kullanabiliriz:
nikto -h
-Pause 5: Her test arasında 5 saniye bekler, trafiği daha az dikkat çekici yapar.
Eklenti (Plugin) Kullanımı
Nikto, özelleştirilmiş testler için eklentiler sunar. Mevcut eklentileri listelemek için aşağıdaki komutu kullanabiliriz:
nikto -list-plugins

Belirli bir eklenti çalıştırmak (örn. headers analizi) için aşağıdaki komutu kullanabiliriz:
nikto -h

Senaryo: Bir web sitesinin `robots.txt` dosyasını analiz ederek gizli dizinleri bulmak için aşağıdaki komutu kullanabiliriz:
nikto -h
Taramaya İnce Ayar Yapma (Tuning)
`-Tuning` seçeneği, tarama kapsamını daraltır:

nikto -h
- – `
1`: İlginç dosyalar/dizinler. - – `
2`: Yanlış yapılandırmalar. - – `
3`: Bilgi ifşası (örn. sunucu başlıkları).

Senaryo: Yalnızca XSS ve SQL Injection açıklarını test etmek için aşağıdaki komutu kullanabiliriz:
nikto -h
`x`: XSS ve SQL Injection testleri.
Kimlik Doğrulama ile Tarama
Korumalı bir web alanını taramak için aşağıdaki komutu kullanabiliriz:
nikto -h
Senaryo: Bir admin paneline erişim testi için aşağıdaki komutu kullanabiliriz:
nikto -h
`-Tuning 4`: Kimlik doğrulama gerektiren URL’leri test eder.
Çıktı ve Raporlama
Nikto’nun raporları farklı formatlarda dışa aktarılabilir:

nikto -h
Senaryo: Metasploit ile entegrasyon için aşağıdaki komutu kullanabiliriz:
nikto -h
Performans Optimizasyonu
Zaman Sınırı: Maksimum tarama süresi belirleme için aşağıdaki komutu kullanabiliriz:
nikto -h
Zaman Aşımı: İstek zaman aşımını ayarlamak için aşağıdaki komutu kullanabiliriz:
nikto -h
Thread Ayarı: Daha hızlı tarama için (dikkatli kullanın) için aşağıdaki komutu kullanabiliriz:
nikto -h
Kapsamlı Bir Web Sunucusu Taraması Örneği
Hedef: Bir şirketin eski bir WordPress sitesini (`http://example.com`) tarayarak zafiyetleri bulma ve raporlama.
Adımlar:
1. Veritabanı Kontrolü ve Güncelleme:
nikto -dbcheck
nikto -update
2. Temel Tarama ve HTML Rapor:
nikto -h
3. Özel Port ve SSL Taraması:
nikto -h
4. Kimlik Doğrulamalı Admin Panel Taraması:
nikto -h
5. IDS Kaçınma ile Gizli Tarama:
nikto -h
6. Eklenti ile Robots.txt Analizi:
nikto -h
Nikto ile Entegrasyon ve Diğer Araçlar
Burp Suite: Nikto taramalarını Burp proxy üzerinden geçirerek manuel doğrulama:
nikto -h
Nmap: Nikto ile birlikte açık portları tarama:
nmap -p 80,443 192.168.1.1 -oG nmap.txt
nikto -h nmap.txt
Metasploit: Nikto bulgularını Metasploit’e aktarma:
nikto -h
Nikto, web güvenliği taramalarında güçlü ve esnek bir araçtır. Sızma testlerinde ve diğer güvenlik testlerinde kullanılması gereken bir araçtır. Nikto’nun daha farklı kullanım senaryolarını test ortamınızda deneyerek pratik yapabilirsiniz.
Başka yazılarda görüşmek üzere.

