Nikto, web sunucularını güvenlik açıkları açısından taramak için kullanılan açık kaynaklı bir web sunucu tarayıcısıdır. OWASP Top 10 güvenlik açıklarını bulmak için idealdir ve web uygulamalarında temel güvenlik denetimi yapmak için sıkça tercih edilir. Kali Linux'ta varsayılan olarak gelir ve birçok güvenlik testi ortamında kullanılır.
Yüklü olup olmadığını kontrol etmek için şu komutu çalıştırabilirsiniz
Örneğin, bir hedef sunucuya tarama yapmak için şu komutu kullanabilirsiniz
Bu dosya içinde her bir satıra farklı bir hedef yazabilirsiniz.
Ve şu komutu ekleyerek tarama haftalık olarak çalıştırılabilir
Nikto'nun Özellikleri
- Web sunucuları üzerinde bulunan 6700'den fazla güvenlik açığını tanıyabilir.
- Zayıf yapılandırmalar, varsayılan dosyalar ve potansiyel tehlike taşıyan dosyaları tespit eder.
- Farklı web sunucuları için modüller içerir.
- HTTP sunucusu başlık bilgilerini toplar ve raporlar.
- SSL/TLS protokolleri üzerindeki güvenlik açıklarını tarar.
- Farklı HTTP başlıklarını, cookie bilgilerini ve oturum yönetimiyle ilgili riskleri inceleyebilir.
- Proxy desteği ile çalışabilir.
Nikto'nun Avantajları
- Hızlı ve etkili taramalar gerçekleştirebilir.
- Detaylı raporlar üretebilir.
- Komut satırı tabanlı olması, betiklerle kolayca entegre edilebilmesine olanak tanır.
- Nikto, düşük düzeyde karmaşıklık ve büyük bir topluluk desteği ile basit kullanım sağlar.
Nikto'nun Kurulumu
Kali Linux üzerinde Nikto genellikle önceden yüklü gelir. Yüklü değilse, aşağıdaki komutla kurulabilir
Bash:
sudo apt-get install nikto
Bash:
nikto -Version
Nikto'nun Kullanımı
Nikto'yu kullanmak için temel komut formatı şu şekildedir
Bash:
nikto -h <hedef_adres>
Kod:
nikto -h http://192.168.1.1
Önemli Parametreler
- -h: Hedef sunucu adresi. IP adresi veya domain belirtilebilir.
- -p: Hedef sunucuya erişim yapılacak portu belirtir. Varsayılan olarak 80 (HTTP) portu kullanılır. SSL taramaları için 443 portu kullanılabilir.
Bash:
nikto -h 192.168.1.1 -p 443 - -ssl: SSL/TLS desteği olan web sunucuları için kullanılır. HTTPS bağlantısı gerçekleştirilir.
Bash:
nikto -h https://example.com -ssl - -output: Sonuçları bir dosyaya kaydetmek için kullanılır. Çıktı formatı HTML, XML, CSV olabilir.
Bash:
nikto -h http://192.168.1.1 -output tarama_sonucu.html - -Tuning: Tarama optimizasyonu sağlar. Belirli güvenlik açıklarına odaklanmak için kullanılabilir. Farklı numaralarla belirli tarama tiplerini etkinleştirir.
Bu komut, yalnızca XSS (cross-site scripting) açıklarını arar.Bash:
nikto -h http://192.168.1.1 -Tuning 2 - -id: HTTP kimlik doğrulaması (Basic Auth) gerektiren sayfaları taramak için kullanıcı adı ve parola belirtilir.
Bash:
nikto -h http://example.com -id admin:password
Tarama Türleri
Nikto'nun farklı tarama tipleri ve zafiyet testlerine odaklanabilen özellikleri bulunur.- Zayıf Dosya Taramaları: Hedef web sunucusunda varsayılan, yedekleme veya tehlikeli olabilecek dosyaları tarar.
Bash:
nikto -h http://example.com -Tuning 6 - CGI Taraması: CGI betikleriyle ilgili açıkları kontrol eder.
Bash:
nikto -h http://example.com -Tuning 3 - XSS ve SQL Injection: XSS ve SQL Injection gibi güvenlik açıklarını tarar.
Bash:
nikto -h http://example.com -Tuning 9 - SSL Güvenlik Açıkları: SSL/TLS üzerinde zayıflıkları inceler.
Bash:
nikto -h https://example.com -ssl
İleri Düzey Nikto Kullanımı
Proxy Desteği
Nikto, bir proxy sunucusu üzerinden tarama gerçekleştirebilir. Örneğin
Bash:
nikto -h http://example.com -useproxy http://proxyserver:port
Hedefte Özel Yolları Tarama
Belirli bir URL yolunu hedef alarak tarama yapmak için şu komut kullanılabilir
Bash:
nikto -h http://example.com/admin
Çoklu Hedeflerle Çalışma
Birden fazla hedefi aynı anda taramak için IP adreslerini veya domainleri bir dosyada belirtebilirsiniz
Bash:
nikto -h targets.txt
WAF Geçişi
Web Application Firewall (WAF) arkasındaki hedefleri taramak için zamanlama ve veri boyutlarını değiştirerek WAF'ı atlatmaya çalışabilirsiniz. Örneğin
Bash:
nikto -h http://example.com -randomize
Otomatik Tarama
Nikto, zamanlanmış görevlerde veya otomatize edilmiş tarama süreçlerinde kullanılabilir. Cron ile taramalar belirli aralıklarla çalıştırılabilir
Bash:
crontab -e
Bash:
0 0 * * 1 /usr/bin/nikto -h http://example.com -output /var/logs/nikto_scan.log
Nikto'nun Raporlama Özellikleri
Nikto'nun en güçlü yönlerinden biri detaylı raporlama kabiliyetidir. Çıktılar JSON, CSV, HTML ve XML gibi çeşitli formatlarda alınabilir.- HTML Raporu
Bash:
nikto -h http://example.com -output scan_report.html - XML Raporu
Bash:
nikto -h http://example.com -Format xml -output scan_report.xml