Nikto Kulanımı

Nikto Hedef sistem üzerinde sql,xss,csrf,lfi gibi açıkları tarayarak bilgi verir.

Kullanımı basittir nikto -h yazarak tool hakkında bilgi alabilirsiniz

En genel kullanım şekli

nikto -h -p -display

Örnek bir kaç kullanım

nikto -h www.xxx.com
Hedef adresi komple tarama yapar. İşlem uzun sürebilir.

nikto -h example.com -nocache
web sitesinin önbelleğe alınmamış bir sürümünü tarar.

nikto -h www.xxx.com -p 80
Burada -h host hedefi -p ise port adresini belirtir. Açık olan diğer portlarda da tarama yapabilirsiniz.

nikto -h www.xxx.com -ssl
SSL taraması yapar ve detaylı bilgi verir.

Aracın farklı parametrtelerle kullanım şekli;

Görüntüleme Seçenekleri Parametreleri

1 –> Show Redirects: Eğer site üzerinde yönlendirme varsa, yönlendirmenin olduğu adresi sonuca döker.
2 –> Show Cookies Received: Siteden cookie çalması durumunda çalınan cookieleri sonuca döker.
3 –> Show all 200/OK messages: Brute-force yaptığı sayfalarda “200 İstek başarılı alınmış ve cevap başarılı verilmiştir” yani dizinde ulaşılabilen bir sayfa varsa bu sayfaları arama sonucunda gösteren seçenektir.
4 –> Shows URLs which require authentication: Kullanıcıdan kullanıcı adı/şifre istenen URL adresleri gösterir.
D –> Debug output: Çıktıyı debug ederek gösterir.
E –> Display HTTP Errors: Arama sonucunda oluşacak HTTP hatalarını sonuca döker.
P –> Print progress to STDOUT: İşlemi stdout’a yazdırır.
S –> Scrub outputs of IP’s and Hostnames: Site üzerindeki ip ve host adreslerini ayıklayarak çıktıyı gösterir.
V –> Verbose: sonuçları ekrana döker.

Evasion (Kaçınma) Seçenekleri

nikto -h -evasion veya -e

1 –> Random URI Encoding(non UTF-8): UTF8 yerine rastgele char kullanarak WAF’lardan kaçışı sağlar.
2 –> Directory self-reference(/./): Dizinde yaptığı taramada kendini /./ şeklinde hedef göstererek WAF’lardan kaçışı sağlar.
3 –> Premature URL Ending: Nikto aslında /../ ile takip eden rasgele klasörleri ekler. 2’de olduğu gibi, IDS sadece web sunucusundaki kanonik URL’yi değil, aynı zamanda iyi bilinen bir teknik olan /../ dizin geçişini de algılar.
4 –> Prepend long random string: Yolladığı requeste çok karakterli rastgele string oluşturarak WAF’lardan kaçışı sağlar.
5 –> Fake Parameter: Kaçış için sahte bir parametre kullanır.
6 –> TAB as a request spacer: Requestte kullanılacak olan boşluk karakteri yerine TAB karakteri kullanır.
7 –> Change the case of URL: URL’nin durumunu değiştirerek kaçış sağlar.
8 –> Use Windows directory separator (): dizinde yaptığı taramada kendini / yerine \ şeklinde hedef göstererek WAF’lardan kaçışı sağlar.
A –> Use a carriage return (0x0d) as a request spacer: Kaçış için 0x0d karakteri kullanır.
B –> Use a binary value(0x0b) as a request spacer: Kaçış için 0x0b karakteri kullanır.

Kaydetme Seçenekleri

nikto -h -o -format

-o seçeneği çıktıyı kaydetmemizi sağlar.
csv –> CSV uzantısıyla kaydeder.
htm –> HTML formatında kaydeder.
nbe –> Nessus NBE formatında kaydeder.
sql –> sql formatında kaydeder.
txt –> txt formatında kaydeder.
xml –> XML formatında kaydeder.

Zaafiyetlere Özel Tarama Seçeneği

nikto -h -Tuning veya -T

1 –> Interesting File / Seen in logs: İçerisinde işe yarayacak bilgiler bulundurma potansiyeli yüksek sayfalara özelik tarama yapar.
2 –> Misconfiguration / Default File: Yanlış yapılandırılmış veya dizini değiştirilmemiş önemli dosyaları aramaya yönelik tarama yapar.
3 –> Information Disclosure: Host ile ilgili bize bilgi verebilecek olan sayfalara/dosyalara yönelik tarama yapar. Örneğin: phpinfo
4 –> Injection(XSS/Script/HTML): Hedefi XSS veya HTML Injection açıklarına yönelik tarar.
5 –> Remote File Retrieval – Inside Web Root Denial of Service: ?
6 –> Denial of Service: DOS saldırısına yönelik tarama yapar.
7 –> Remote File Retrieval – Server Wide: Server genelinde Remote File Retrieval yapar.
8 –> Command Execution / Remote Shell: Hedef üzerinde komut çalıştırılıp çalıştırılmadığını arayan parametredir.
9 –> SQL Injection: Host üzerinde SQL injection bulunup bulunmadığını arayan parametredir.
0 –> File Upload: Hedef üzerindeki bir dizine dosya upload edilip edilmediğini araştırır.
a –> Authentication Bypass: kullanıcı_adı/şifre istenilen yeri bypasslamaya çalışır.
b –> Software Identification:
c –> Remote Source Inclusion:
d –> Webservice:
e –> Administrative Consol:
x –> Tuning options altında belirtilen bütün parametreleri aramaya dahil eder.

Brute-Force Seçeneği

nikto -h -mutate

1 –> Bütün dosyaları üst dizinleriyle birlikte test eder.
2 –> Şifrelerin bulunduğu dosyaların isimlerini tahmin etmeye çalışır.
3 –> Apache ile kullanıcı isimlerini tahmin eder.
4 –> cgiwrap ile kullanıcı isimlerini tahmin eder.
5 –> Subdomain isimlerine brute-force yapıp olup olmadıklarına bakar. (hostun ana domain olduğunu baz alır.)
6 –> Verilen kelime dosyasıyla, kelime dosyasında bulunan kelimelerin alt dizinler olup olmadığına bakar. (bkz. ./nikto.pl -h -mutate {} )

Diğer Parametreler

-proxy –> belirtilen proxy’yi kullanır.
-maxtime –> host başına belirtilen maksimum test zamanını değiştirir.
-until –> belirtilen süreye kadar taramaya devam eder. (Tarama biterse daha erken de bitebilir)
-nossl –> SSL ile iletişime girmeden tarar.
-ssl –> Zorunlu bir şekilde SSL kullanarak tarar.
-no404 –> 404 Not Found dönecek sayfaları tahmin etmeyi önler.
-id –> hedefimizin authentication istediğini biliyorsak ve elimizde authentication yapacak kullanıcı_adı ve şifre varsa -id (kullanıcı_adı:şifre) şeklinde giriş yapmamız için kullanılan parametredir.
-version –> Nikto versiyonunu gösterir.
-help –> Yardım komutu.
-dbcheck –> Nikto’da bulunan scan_database.db ve user_scan_database.db’lerini kullanarak yazım hatalarını (syntax errors) veritabanı ve diğer önemli dosyaları kontrol eder.
-cookie –> Bulunan Cookie’leri (çerezleri) ekrana yansıtır.

Author: Vatan Yiğit
Bilgi Yönetimi | Bilgisayar İşletmenliği | CompTIA A+ | Bilgi Teknolojileri