19 Temmuz 2018 Perşembe

Kali ile Pentest Araçları: nikto

Web güvenlik açığı tarayıcısı olup, web sunucularını güvenlik açıkları ve bilinen diğer sorunlar için tarayan bir güvenlik testi aracı olarak da adlandırılabilir. Perl programlama dilinde yazılmış olup Kali Linux dağıtımlarında standart olarak kurulu gelen bir test aracıdır.
Nikto belirlediğimiz hedefe internet ortamında keşfedilmiş web güvenliği açıkları ile sistemi tarar, web güvenliği açıklarınızda tarama yaparken web sunucusunu da taramaya dahil eder. Nikto Hedef Site'de SQL , XSS  vb açıkları tarar.
Program kendi Database’inde bulundurduğu veritabanı tipleri, Hedefin SSL desteği olup olmadığını, Server’ı, Kullanılan İşletim Sistemini ve daha bir çok açığı ve sistem zayıflıklarını taramaktadır. Programın Güncelleme sistemi vardır. Siz Sistemi Tararken Sistem Sizi Loglar fakat IDS’lerle Server’a fake(sahte) datalar göndererek bu tip engelleri aşabilirsiniz.
not: Eğitim içeriğinde oluşabilecek tüm sorumluluğu kullanan kişiye aittir. Bu yazılarda anlatılanlar sadece penetrasyon testleri içindir.
Programı indirmek için Tıklayın1. Tıklayın2
Bilgi İçin  tıklayın.
Programı linux sistemler için indirip kurmak için:
  1. yöntem:Bu yöntem kullanıldığında nikto komutu ilgili dizin (nikto-2.1.5) içinde kullanılabilir
  • wget https://cirt.net/nikto/nikto-2.1.5.tar.gz
  • tar zxvf nikto-2.1.5.tar.gz
  • cd nikto-2.1.5
  • perl nikto.pl
2. yöntem: Bu yöntem kullanıldığında nikto komutu her yerde kullanılabilir.
  • sudo apt-get install nikto
not: Bu kurulumlar Kali Linux dağıtımlarında kurulu olarak gelmektedir.
  1. Basit Tarama:
  • perl nikto.pl -h <hedefsite/ip>
  • nikto -h <hedefsite/ip>
2. Ayrıntılı tarama (test türü belirleme)
  • nikto -Tuning x 6 <hedefsite/ip>
2018-07-06_01-28-02.png
0 - Dosya Yükleme
1 - Günlüklerde İlginç Dosya / Görülen
2 - Yanlış Yapılandırma / Varsayılan Dosya
3 - Bilgilendirme
4 - Enjeksiyon (XSS / Script / HTML)
5 - Uzaktan Dosya Erişimi
6 - Hizmet reddi
7 - Uzak Dosya Erişimi
8 - Komut Yürütme
9 - SQL Enjeksiyonu
a - Kimlik Doğrulama Baypas
b - Yazılım Tanımlaması
c - Uzak Kaynak Ekleme
x - Ters Tuning Seçenekleri
  • nikton -h <hedefsite/ip> -o dosyaadi.uzanti
2018-07-06_01-35-27.png
csv - virgülle ayrılmış liste
htm - HTML raporu
msf - Metasploit log dosyası
txt - metin raporu
xml - XML raporu
nbe : Nessus NBE formatında kaydeder.
3. Anonim Tarama: Web de güvenlik açıkları için tararken anonim(görünmez) olmak istiyorsanız, IP adresinizi ve diğer bilgilerin gizlediği bir proxy sunucusu kullanabilirsiniz. Nikto için yapılandırma dosyası aşağıda ki gibi olmalıdır.
nano /etc/nikto/config.txt
içeriğini aşağıda ki gibi değiştirin:
PROXYHOST=208.67.222.222
PROXYPORT=8080
Proxyhost & proxyport değerleri ücretsiz proxy sitelerinden alınabilir.
nikto -useproxy -h <hedefsite/ip>
Örnek Kullanımlar:
nikto -H :ayrıntılı yardım listesi.
nikto -h 192.168.0.1 -p 443nikto -h https://192.168.0.1:443/: 443 numaralı port taraması
nikto -h 192.168.0.1 -p 443 -ssl: SSL sunucusu olduğundan eminseniz testi hızlandırma
nikto -h 192.168.0.1 -mutate 3 -mutate-options kullanıcı_listesi.txt, nikto -h 192.168.0.1 -mutate 1234:2018-07-06_01-49-55.png
Nikto'nun testleri birleştirmesine veya değerleri tahmin etmeye çalışmasına neden olur. Bu teknikler, hedefe karşı çok miktarda test başlatılmasına neden olabilir. Çoklu kullanılabilir.
-mutate
1 - Tüm dosyaları tüm kök dizinleriyle sınama
2 -  Şifrelerin bulunduğu dosyaların isimlerini tahmin etmeye çalışır.
3 - Apache ile kullanıcı isimlerini tahmin eder. (/ ~ kullanıcı tipi istekleri)
4 - Kullanıcı isimlerini tahmin eder. cgiwrap (/ cgi-bin / cgiwrap / ~ kullanıcı tipi istekleri)
5 -  Subdomain isimlerine brute-force yapıp olup olmadıklarına bakar.
6 - Verilen sözlük dosyasından dizin isimlerini tahmin etme
-mutate-options: Sözlük dosyası gibi mutasyonlar için ek bilgi sağlar.
nikto -h 192.168.0.1 -p 80,88,443: Çoklu port testi.(birden fazla bağlantı noktası tarama)
nikto.pl -h 192.168.0.1 -display 1:2018-07-06_02-02-33.png
1 – Show Redirects : Eğer site üzerinde yönlendirme varsa, yönlendirmenin olduğu adresi sonuca bastırır.
2 – Show Cookies Received : Siteden cookie çalması durumunda çalınan cookieleri sonuca bastırır.
3 – Show all 200/OK messages : Brute-force yaptığı sayfalarda 200 dönen 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 bastırır.
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.
nikto -h 192.168.0.1 -evasion 1 , nikto -h 192.168.0.1 -e 168:(1,6,8 numaralı evasion’lar aktif)
2018-07-06_02-11-19.png
1 – Random URI Encoding(non UTF-8) : UTF8 yerine rastgele char kullanarak WAF’lardan kaçışı sağlar.
2 – Directory self-reference(/./) : Dizini yaptığı taramada kendini /./ şeklinde hedef göstererek WAF’lardan kaçışı sağlar.
3 –  Premature URL Ending : Başlangıç URL sonu.
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 durumunu değiştir.
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.
nikto -h 192.168.0.1 -ssl -e 1234 -m 12:SSL desteği olup olmadığını, Evasion 1234 ve Mutate 12 tekniklerini kullanarak tarama yapar.
nikto -h 192.168.0.1 -C all, nikto -h 192.168.0.1 -C none, nikto -h 192.168.0.1 -C /taranacakklasor :Klasörleri tarar.
nikto -h www.hedef.com -f: Sadece HTTP(s) tarafından kullanılan portları tarar. Eğer full tarama yapacaksanız önerilmez.
Kısayollar
(Büyük / küçük harfe duyarlı)
  • SPACE - Geçerli tarama durumunu bildir
  • v - Ayrıntılı modu aç / kapat
  • d - Hata ayıklama modunu açma / kapatma
  • e - Hata bildirimini açma / kapatma
  • p - İlerleme raporlamasını aç / kapat
  • r - Yönlendirme ekranını aç / kapat
  • c - Çerez ekranını aç / kapat
  • o - Tamam ekranını aç / kapat
  • a - Auth göstergesini açma / kapatma
  • q - Çık
  • N - Sonraki ev sahibi
  • P - Duraklat
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 syra:canyoupwnme(kullanıcı_adı:şifre) şeklinde giriş yapmamız için kullanılan parametredir.
-help : Yardım komutu.
-cookie: Bulunan Cookie’leri (çerezleri) ekrana yansıtır
-nolookup: Nolookup anlamında, tarama öncesi lookup yapmaz (Server’a whois çekmeden tarama yapar. Yani IP almaz, Name Server’ları kontrol etmez vs.
-VersionKısa komutu -V’dir Nikto’nun içinde olan; kullanılan database, plugin ve dosyaların versiyonlarını listeler.
-timeout:Kısa komutu -t’dir. Türkçesi; zaman aşımıdır. Eğer tarayacağınız serverdan sizin belirleyeceğiniz sürede cevap gelmezse zaman aşımına uğrar. Varsayılan 2 saniyedir.

-useproxy: Serverı proxy kullanarak tarar. Proxy’leri Nikto’nun bulunduğu dizindeki nikto.conf dosyasını düzenleyerek belirleyebilirsiniz.

-vhost: Gerçek olan (asıl) Host’u tarar. Eğer site üzerinden tarama yapıyorsanız yani bir örnek verecek olursak; 1.2.3.4 IP’li server’da barınan www.hedef.com olsun. Eğer www.hedef.com’da tarama yaptırıyorsak bunun Serverı yani 1.2.3.4 IP’de taramasını yapar.

-404: 404 hata sayfalarına ne tür işlem yapılacağını belirleyebilirsiniz.
Örnek;
perl nikto.pl -h 192.168.0.1 -404+deger

-config: Belirleyeceğiniz ayar dosyasını kullanır.

-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.

Hiç yorum yok :

Yorum Gönder