Nikto - Kerentanan Aplikasi Web dan Pemindai CGI untuk Server Web

Nikto - Kerentanan Aplikasi Web dan Pemindai CGI untuk Server Web

Pemindai Web Nikto adalah alat lain untuk memiliki alat untuk gudang administrator Linux mana pun. Ini adalah pemindai web open source yang dirilis di bawah lisensi GPL, yang digunakan untuk melakukan tes komprehensif di server web untuk beberapa item termasuk lebih dari 6500 berpotensi berbahaya file/CGIS.

Disarankan Baca: WPSEKU - Pemindai Kerentanan untuk Menemukan Masalah Keamanan di WordPress

Itu ditulis oleh Chris Solo Dan David Lodge untuk Kerentanan penilaian, itu memeriksa versi yang sudah ketinggalan zaman 1250 Server web dan lebih 270 Versi Masalah Spesifik. Ini juga memindai dan laporan untuk perangkat lunak dan plugin server web yang sudah ketinggalan zaman.

Fitur Pemindai Web Nikto

  1. Mendukung SSL
  2. Mendukung proxy http penuh
  3. Mendukung Teks, HTML, XML dan CSV untuk menyimpan laporan.
  4. Pindai untuk beberapa port
  5. Dapat memindai beberapa server dengan mengambil input dari file seperti output NMAP
  6. Dukung ID LibWhisker
  7. Cukup mampu mengidentifikasi perangkat lunak yang diinstal dengan header, file, dan favicons
  8. Log untuk Metasploits
  9. Laporan untuk header "tidak biasa".
  10. Enumerasi Pengguna Apache dan CGIWRAP
  11. Host otentikasi dengan dasar dan NTLM
  12. Pemindaian dapat dipenuhi secara otomatis pada waktu yang ditentukan.

Persyaratan nikto

Sistem dengan dasar Perl, Modul Perl, Openssl Instalasi harus memungkinkan Nikto untuk berlari. Itu telah diuji secara menyeluruh Windows, Mac OSX dan berbagai UNIX/Linux distribusi seperti topi merah, Debian, Ubuntu, Mundur, dll.

Instalasi Pemindai Web Nikto di Linux

Sebagian besar sistem Linux saat ini dilengkapi dengan pra-pemasangan Perl, Modul Perl, Dan Openssl paket. Jika tidak termasuk, Anda dapat menginstalnya menggunakan utilitas manajer paket sistem default yang dipanggil yum atau apt-get.

Di Red Hat/Centos/Fedora
[[Email Dilindungi]]# yum instal Perl Perl-Net-Ssleay Openssl
Di debian/ubuntu/linux mint
[[Email Dilindungi]]# apt-get install perl openssl libnet-ssleay-perkl

Selanjutnya, klon kandang terbaru Nikto Sumber file dari repositori gitub, pindah ke Nikto/program/ direktori dan jalankan menggunakan perl:

$ git clone https: // github.com/sullo/nikto.Git $ CD Nikto/Program $ Perl Nikto.PL -H 
Output sampel
Opsi Host memerlukan argumen -config+ Gunakan file konfigurasi ini -display+ nyalakan/off output -output -dbCheck periksa database dan file kunci lainnya untuk kesalahan sintaks -format+ simpan file (-o) format -Help Informasi bantuan diperpanjang -Host+ target host -id+ Otentikasi host untuk digunakan, format adalah ID: Lulus atau ID: Pass: Realm -List -Plugins List Semua plugin yang tersedia -Output+ Tulis output ke file ini -Nossl menonaktifkan menggunakan SSL -NO404 Menonaktifkan 404 Cek -Plugin+ Daftar plugin untuk dijalankan (default : All) -port+ port untuk menggunakan (default 80) -root+ nilai root prepend untuk semua permintaan, format IS /direktori -ssl mode ssl force pada port -tuning+ scan tuning -timeout+ timeout untuk permintaan (default 10 detik) -Pen Update Database pembaruan dan plugin dari cirt.Net -Version Print Plugin dan Versi Database -VHost + Virtual Host (untuk header host) + membutuhkan nilai Catatan: Ini adalah output bantuan singkat. Gunakan -h untuk teks bantuan lengkap. 

The "Host opsi membutuhkan argumen“Dengan jelas mengatakan bahwa kami tidak memasukkan parameter yang dibutuhkan saat melakukan tes. Jadi, kita perlu menambahkan parameter dasar yang diperlukan untuk melakukan test run.

Pengujian Dasar

Pemindaian dasar membutuhkan host yang ingin Anda targetkan, secara default memindai port 80 Jika tidak ada yang ditentukan. Tuan rumah bisa menjadi nama host atau Alamat IP suatu sistem. Anda dapat menentukan host menggunakan "-H" pilihan.

Misalnya, saya ingin melakukan pemindaian pada IP 172.16.27.56 di port TCP 80.

[[Email Dilindungi] Nikto-2.1.5]# Perl Nikto.PL -H 172.16.27.56
Output sampel
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Target IP: 172.16.27.56 + Target HostName: Contoh.COM + Target Port: 80 + Mulai Waktu: 2014-01-10 00:48:12 (GMT5.5) ------------------------------------------------- --------------------------- + Server: Apache/2.2.15 (centos) + diambil x-powered-by header: php/5.3.3 + Header X-Frame-Options anti-klik tidak ada. + Server bocor inode melalui etags, header ditemukan dengan file /robot.txt, inode: 5956160, ukuran: 24, mtime: 0x4d4865a054e32 + file/dir '/' dalam robot.txt mengembalikan kode http non-forbidden atau redirect (200) + "robot.txt "berisi 1 entri yang harus dilihat secara manual. + Apache/2.2.15 tampaknya sudah ketinggalan zaman (saat ini setidaknya Apache/2.2.22). Apache 1.3.42 (rilis akhir) dan 2.0.64 juga saat ini. + Beberapa file indeks ditemukan: indeks.PHP, indeks.htm, indeks.html + debug kata kerja http dapat menampilkan informasi debugging server. Lihat http: // msdn.Microsoft.com/en-us/library/e8z01xdh%28vs.80%29.ASPX untuk detailnya. + OSVDB-877: Metode HTTP Trace aktif, menunjukkan host rentan terhadap XST + OSVDB-3233: /phpinfo.PHP: Berisi informasi konfigurasi PHP + OSVDB-12184: /Indeks.php?= PHPB8B5F2A0-3C92-11D3-A3A9-4C7B08C10000: PHP mengungkapkan informasi yang berpotensi sensitif melalui permintaan HTTP tertentu yang berisi string kueri spesifik tertentu. + OSVDB-3092: /Tes.HTML: Ini mungkin menarik ... + OSVDB-3268: /Ikon /: Pengindeksan Direktori Ditemukan. + OSVDB-3233: /Ikon /ReadMe: File default apache ditemukan. + /Menghubung.php?path = http: // cirt.net/rfiinc.txt?: Potensial PHP MySQL Database Connection String ditemukan. + OSVDB-3092: /Tes.PHP: Ini mungkin menarik ... + 6544 item diperiksa: 0 kesalahan dan 16 item yang dilaporkan pada host jarak jauh + waktu akhir: 2014-01-10 00:48:23 (GMT5.5) (11 detik) --------------------------------------------- ------------------------------- + 1 Host Diuji

Jika Anda ingin memindai nomor port yang berbeda, lalu tambahkan “-P"[-pelabuhan] pilihan. Misalnya, saya ingin melakukan pemindaian di IP 172.16.27.56 di port TCP 443.

[[Email Dilindungi] Nikto-2.1.5]# Perl Nikto.PL -H 172.16.27.56 -P 443
Output sampel
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Target IP: 172.16.27.56 + Target HostName: Contoh.com + target port: 443 -------------------------------------------- ------------------------------- + Info SSL: Subjek: /o =*.pagi menjelang siang.com/ou = Kontrol domain divalidasi/cn =*.pagi menjelang siang.COM CIPHERS: DHE-RSA-AES256-GCM-SHA384 penerbit:/c = us/st = arizona/l = scottsdale/o = Starfield Technologies, Inc./Ou = http: // sertifikat.StarfieldTech.com/repositori/cn = Starfield Secure Certification Otoritas/SerialNumber = 10688435 + Waktu mulai: 2014-01-10 01:08:26 (GMT5.5) ------------------------------------------------- --------------------------- + Server: Apache/2.2.15 (centos) + server bocor inode melalui etag, header ditemukan dengan file /, inode: 2817021, ukuran: 5, mTime: 0x4d5123482b2e9 + header opti-x-frame anti-klik tidak ada. + Apache/2.2.15 tampaknya sudah ketinggalan zaman (saat ini setidaknya Apache/2.2.22). Apache 1.3.42 (rilis akhir) dan 2.0.64 juga saat ini. + Server menggunakan sertifikat wildcard: '*.pagi menjelang siang.Com ' + Metode HTTP yang Diizinkan: Dapatkan, Kepala, Pos, Opsi, Jejak + OSVDB-877: Metode HTTP Trace aktif, menyarankan host rentan terhadap XST + OSVDB-3268: /Ikon /: Pengindeksan Direktori Ditemukan. + OSVDB-3233: /Ikon /ReadMe: File default apache ditemukan. + 6544 item diperiksa: 0 kesalahan dan 8 item yang dilaporkan pada host jarak jauh + waktu akhir: 2014-01-10 01:11:20 (GMT5.5) (174 detik) --------------------------------------------- ------------------------------- + 1 Host Diuji

Anda juga dapat menentukan tuan rumah, Ports Dan protokol menggunakan penuh Url sintaks, dan itu akan dipindai.

[[Email Dilindungi] Nikto-2.1.5]# Perl Nikto.PL -H http: // 172.16.27.56:80

Anda juga dapat memindai situs web apa pun. Misalnya, di sini saya melakukan pemindaian Google.com.

[[Email Dilindungi] Nikto-2.1.5]# Perl Nikto.PL -H http: // www.Google.com
Output sampel
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Target IP: 173.194.38.177 + nama host target: www.Google.com + target port: 80 + waktu mulai: 2014-01-10 01:13:36 (GMT5.5) ------------------------------------------------- --------------------------- + Server: GWS + Cookie Pref dibuat tanpa bendera httponly + cookie nid dibuat tanpa httponly flag + header yang tidak umum 'X-Frame-Options' ditemukan, dengan konten: Sameorigin + tidak umum header 'X-XSS-Proteksi' ditemukan, dengan konten: 1; mode = blok + header tidak umum 'alternatif-protocol' ditemukan, dengan konten: 80: quic + root page/pengalihan ke: http: // www.Google.bersama.di dalam/?gws_rd=cr&ei=xIrOUomsCoXBrAee34DwCQ + Server banner has changed from 'gws' to 'sffe' which may suggest a WAF, load balancer or proxy is in place + Uncommon header 'x-content-type-options' found, with contents: nosniff + Tidak ada direktori CGI yang ditemukan (gunakan '-c all' untuk memaksa memeriksa semua kemungkinan dir) + file/dir '/grup/' dalam robot.txt mengembalikan kode http non-forbidden atau redirect (302)… .

Perintah di atas akan melakukan banyak permintaan HTTP (i.e. lebih dari 2000 tes) di server web.

Beberapa pengujian port

Anda juga dapat melakukan pemindaian beberapa port di sesi yang sama. Untuk memindai beberapa port pada host yang sama, tambahkan "-P"[-pelabuhan] opsi dan tentukan daftar port. Port dapat didefinisikan sebagai rentang (i.e., 80-443), atau sebagai koma terpisah (i.e., 80.443). Misalnya, saya ingin memindai port 80 Dan 443 di tuan rumah 172.16.27.56.

[[Email Dilindungi] Nikto-2.1.5]# Perl Nikto.PL -H 172.16.27.56 -p 80.443
Output sampel
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Tidak ada server web yang ditemukan di CMSStage.pagi menjelang siang.com: 88 ----------------------------------------------- ---------------------------- + Target IP: 172.16.27.56 + Target HostName: Contoh.com + target port: 80 + waktu mulai: 2014-01-10 20:38:26 (GMT5.5) ------------------------------------------------- --------------------------- + Server: Apache/2.2.15 (centos) + diambil x-powered-by header: php/5.3.3 + Header X-Frame-Options anti-klik tidak ada. --------------------------------------------------------------------------- + Target IP: 172.16.27.56 + Target HostName: Contoh.com + target port: 443 -------------------------------------------- ------------------------------- + Info SSL: Subjek: /o =*.pagi menjelang siang.com/ou = Kontrol domain divalidasi/cn =*.pagi menjelang siang.COM CIPHERS: DHE-RSA-AES256-GCM-SHA384 penerbit:/c = us/st = arizona/l = scottsdale/o = Starfield Technologies, Inc./Ou = http: // sertifikat.StarfieldTech.com/repositori/cn = Starfield Secure Certification Otoritas/SerialNumber = 10688435 + Waktu mulai: 2014-01-10 20:38:36 (GMT5.5) ------------------------------------------------- --------------------------- + Server: Apache/2.2.15 (centos) + semua direktori CGI 'ditemukan', gunakan '-c tidak ada' untuk menguji tidak ada + apache/2.2.15 tampaknya sudah ketinggalan zaman (saat ini setidaknya Apache/2.2.22). Apache 1.3.42 (rilis akhir) dan 2.0.64 juga saat ini… 

Menggunakan proxy

Katakanlah sistem di mana Nikto hanya berjalan memiliki akses ke host target melalui Http proxy, tes masih dapat dilakukan dengan menggunakan dua cara berbeda. Satu menggunakan Nikto.conf file dan cara lain adalah berjalan langsung dari garis komando.

Menggunakan nikto.file conf

Membuka Nikto.conf file menggunakan editor baris perintah apapun.

[[Email Dilindungi] Nikto-2.1.5]# VI Nikto.conf

Cari variabel "Proxy”Dan Batalkan Komentari '#'Dari awal garis seperti yang ditunjukkan. Lalu tambahkan Host Proxy, pelabuhan, pengguna proxy Dan kata sandi. Simpan dan tutup file.

# Pengaturan Proxy -Masih Harus Diaktifkan oleh -Useproxy ProxyHost = 172.16.16.37 Proxyport = 8080 ProxyUser = PG Proxypass = PG

Sekarang, jalankan Nikto menggunakan "-Gunakan proxy" pilihan. Harap dicatat semua koneksi akan disampaikan melalui Http proxy.

[Email Dilindungi] Nikto-2.1.5]# Perl Nikto.PL -H LOCALHOST -P 80 -Useproxy
Output sampel
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Target IP: 127.0.0.1 + Target HostName: LocalHost + Target Port: 80 + Mulai Waktu: 2014-01-10 21:28:29 (GMT5.5) ------------------------------------------------- --------------------------- + Server: Squid/2.6.Stabil6 + diambil melalui header: 1.0 NetServ: 8080 (Squid/2.6.Stabil6) + header X-frame-options anti-klik tidak ada. + Header yang tidak umum 'X-Squid-error' ditemukan, dengan konten: err_cache_access_denied 0 + header yang tidak umum 'x-cache-lookup' ditemukan, dengan konten: tidak ada dari netserv: 8080
Menggunakan baris perintah

Untuk menjalankan Nikto langsung dari baris perintah menggunakan “-Gunakan proxyOpsi dengan mengatur proxy sebagai argumen.

[Email Dilindungi] Nikto-2.1.5]# Perl Nikto.PL -H LocalHost -Useproxy http: // 172.16.16.37: 8080/
Output sampel
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Target IP: 127.0.0.1 + Target HostName: LocalHost + Target Port: 80 + Mulai Waktu: 2014-01-10 21:34:51 (GMT5.5) ------------------------------------------------- --------------------------- + Server: Squid/2.6.Stabil6 + diambil melalui header: 1.0 NetServ: 8080 (Squid/2.6.Stabil6) + header X-frame-options anti-klik tidak ada. + Header yang tidak umum 'X-Squid-error' ditemukan, dengan konten: err_cache_access_denied 0 + header yang tidak umum 'x-cache-lookup' ditemukan, dengan konten: tidak ada dari netserv: 8080

Memperbarui nikto

Anda dapat memperbarui Nikto untuk yang terbaru plugin Dan database secara otomatis, cukup jalankan “-memperbarui" memerintah.

[[Email Dilindungi] Nikto-2.1.5]# Perl Nikto.pl -update

Jika pembaruan baru tersedia, Anda akan melihat daftar pembaruan baru yang diunduh.

+ Mengambil 'nikto_report_csv.Plugin ' + Retrieving' Nikto_Headers.plugin ' + retrieving' nikto_cookies.plugin ' + mengambil' db_tests ' + mengambil' db_parked_strings ' + mengambil' perubahan '.txt ' + cirt.Pesan bersih: Harap kirimkan bug nikto ke http: // trac2.Assembla.com/nikto_2/laporan/2

Anda juga dapat mengunduh dan memperbarui plugin dan database nikto secara manual dari http: // cirt.net/nikto/pembaruan/.

Tautan referensi

Beranda nikto