Eğitim Nikto Nedir Nasıl Kullanılır

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.

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
Yüklü olup olmadığını kontrol etmek için şu komutu çalıştırabilirsiniz
Bash:
nikto -Version

Nikto'nun Kullanımı

Nikto'yu kullanmak için temel komut formatı şu şekildedir
Bash:
nikto -h <hedef_adres>
Örneğin, bir hedef sunucuya tarama yapmak için şu komutu kullanabilirsiniz
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.
    Bash:
    nikto -h http://192.168.1.1 -Tuning 2
    Bu komut, yalnızca XSS (cross-site scripting) açıklarını arar.
  • -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
Bu dosya içinde her bir satıra farklı bir hedef yazabilirsiniz.

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
Ve şu komutu ekleyerek tarama haftalık olarak çalıştırılabilir
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
Bu raporlar güvenlik analistleri tarafından incelenip, bulgular detaylandırılabilir.

Sonuç

Nikto, web sunucuları üzerinde hızlı ve kapsamlı bir güvenlik taraması yapmak isteyen güvenlik uzmanları için güçlü bir araçtır. Ancak, Nikto'nun sınırlamalarını göz önünde bulundurarak, daha derinlemesine güvenlik değerlendirmeleri için başka araçlarla kombin edilmesi önerilir.
 
Geri
Üst