Nikto - Kelemahan Aplikasi Web dan Pengimbas CGI untuk Pelayan Web

Nikto - Kelemahan Aplikasi Web dan Pengimbas CGI untuk Pelayan Web

Pengimbas Web Nikto adalah satu lagi yang baik untuk mempunyai alat untuk senjata pentadbir Linux. Ini pengimbas web sumber terbuka yang dikeluarkan di bawah lesen GPL, yang digunakan untuk melakukan ujian komprehensif di pelayan web untuk pelbagai item termasuk 6500 berpotensi berbahaya fail/CGIS.

Cadangan Baca: WPSEKU - Pengimbas Kerentanan untuk Mencari Masalah Keselamatan di WordPress

Ia ditulis oleh Chris Solo dan David Lodge untuk Kelemahan penilaian, ia memeriksa versi yang sudah lapuk 1250 Pelayan web dan ke atas 270 masalah khusus versi. Ia juga mengimbas dan melaporkan perisian dan plugin pelayan web yang sudah lapuk.

Ciri -ciri Pengimbas Web Nikto

  1. Menyokong SSL
  2. Menyokong proksi HTTP penuh
  3. Menyokong teks, HTML, XML dan CSV untuk menyimpan laporan.
  4. Imbas untuk pelbagai pelabuhan
  5. Boleh mengimbas pada pelbagai pelayan dengan mengambil input dari fail seperti output nmap
  6. Sokongan ID LibWhisker
  7. Cukup mampu untuk mengenal pasti perisian yang dipasang dengan tajuk, fail, dan favicons
  8. Log untuk metasploits
  9. Laporan untuk tajuk "tidak biasa".
  10. Pengguna Pengguna Apache dan CGIWRAP
  11. Mengesahkan tuan rumah dengan Asas dan NTLM
  12. Imbasan boleh disebabkan secara automatik pada masa yang ditentukan.

Keperluan Nikto

Sistem dengan asas Perl, Modul Perl, OpenSSL Pemasangan harus membolehkan Nikto untuk berlari. Ia telah diuji dengan teliti Tingkap, Mac OS X dan pelbagai Unix/Linux Pengagihan seperti topi merah, Debian, Ubuntu, Backtrack, dan lain-lain.

Pemasangan Pengimbas Web Nikto di Linux

Sebilangan besar sistem linux hari ini disertakan dengan pra-dipasang Perl, Modul Perl, dan OpenSSL pakej. Sekiranya tidak disertakan, anda boleh memasangnya menggunakan utiliti Pengurus Pakej Sistem lalai yang dipanggil yum atau apt-get.

Pada topi merah/centos/fedora
[[dilindungi e-mel]]# yum memasang perl-perl-net-ssleay openssl
Pada Debian/Ubuntu/Linux Mint
[[dilindungi e-mel]]# apt-get pemasangan perl libnet-ssleay-perl

Seterusnya, klon stabil terkini Nikto fail sumber dari repositori githubnya, bergerak ke dalam Nikto/program/ Direktori dan jalankan menggunakan Perl:

$ git clone https: // github.com/sullo/nikto.git $ cd nikto/program $ perl nikto.PL -H 
Output sampel
Opsyen Host Memerlukan Argumen -Config+ Gunakan Fail Config ini -Display+ Hidupkan/Mati Output Paparan -DBCheck Pangkalan Data dan Fail Utama Lain untuk Kesalahan Sintaks -Format+ Simpan Fail (-O) -HELP Lanjutan Maklumat Bantuan -Host+ Target Host -Id+ Pengesahan Hos untuk Digunakan, Format adalah ID: Lulus atau ID: Lulus: Realm -List -Plugins Senarai Semua Plugin Tersedia -Output+ Tulis Output ke Fail ini -Nossl Melumpuhkan Menggunakan SSL -No404 Melumpuhkan 404 Pemeriksaan -Plugins+ Senarai Plugin untuk Jalankan (Default : Semua) -port+ port untuk digunakan (lalai 80) -root+ prepend nilai root ke semua permintaan, format adalah /direktori -ssl force ssl mode pada port -tuning+ imbasan penalaan -Timeout+ timeout untuk permintaan (lalai 10 saat) dan plugin dari cirt.Plugin cetak bersih dan versi pangkalan data -vhost + host maya (untuk header host) + Memerlukan Nota Nota: Ini adalah output bantuan pendek. Gunakan -h untuk teks bantuan penuh. 

"Tuan rumah pilihan memerlukan hujah"Jelas mengatakan bahawa kami tidak memasukkan parameter yang diperlukan semasa melakukan ujian. Oleh itu, kita perlu menambah parameter asas yang diperlukan untuk melakukan ujian.

Ujian asas

Imbasan asas memerlukan tuan rumah yang ingin anda targetkan, secara lalai ia mengimbas pelabuhan 80 Sekiranya tidak ada yang ditentukan. Tuan rumah boleh menjadi Nama Host atau seorang Alamat IP sistem. Anda boleh menentukan hos menggunakan "-h"Pilihan.

Contohnya, saya mahu melakukan imbasan di IP 172.16.27.56 pada port TCP 80.

[[dilindungi e-mel] nikto-2.1.5]# Perl Nikto.PL -H 172.16.27.56
Output sampel
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Sasaran IP: 172.16.27.56 + nama hos sasaran: Contohnya.com + port sasaran: 80 + Mula Masa: 2014-01-10 00:48:12 (GMT5.5) ------------------------------------------------ --------------------------- + Pelayan: Apache/2.2.15 (CentOS) + Header X berkuasa X yang diambil: PHP/5.3.3 + Header X-Frame-Options Anti-Clickjacking tidak hadir. + Pelayan kebocoran inod melalui ETAGS, tajuk yang dijumpai dengan fail /robot.txt, inode: 5956160, saiz: 24, mtime: 0x4d4865a054e32 + fail/dir '/' dalam robot.TXT mengembalikan kod HTTP yang tidak dilarang atau mengalihkan (200) + "Robot.txt "mengandungi 1 entri yang harus dilihat secara manual. + Apache/2.2.15 nampaknya sudah ketinggalan zaman (semasa sekurang -kurangnya Apache/2.2.22). Apache 1.3.42 (pelepasan akhir) dan 2.0.64 juga terkini. + Fail Indeks Pelbagai Ditemui: Indeks.PHP, indeks.HTM, indeks.HTML + DEBUG HTTP VERB Boleh menunjukkan maklumat penyahpepijatan pelayan. Lihat http: // msdn.Microsoft.com/en-us/perpustakaan/e8z01xdh%28vs.80%29.ASPX untuk maklumat lanjut. + OSVDB-877: Kaedah jejak http aktif, mencadangkan tuan rumah terdedah kepada XST + OSVDB-3233: /phpinfo.PHP: Mengandungi maklumat konfigurasi PHP + OSVDB-12184: /Indeks.php?= Phpb8b5f2a0-3c92-11d3-a3a9-4c7b08c10000: PHP mendedahkan maklumat yang berpotensi sensitif melalui permintaan HTTP tertentu yang mengandungi rentetan pertanyaan tertentu. + OSVDB-3092: /Ujian.HTML: Ini mungkin menarik ... + OSVDB-3268: /Ikon /: Pengindeksan Direktori Ditemui. + OSVDB-3233: /Ikon /Readme: Fail lalai Apache dijumpai. + /Sambung.php?jalan = http: // cirt.bersih/rfiinc.txt?: Potensi PHP MySQL Pangkalan Data Sambungan Rentetan Ditemui. + OSVDB-3092: /Ujian.PHP: Ini mungkin menarik ... + 6544 item yang diperiksa: 0 ralat dan 16 item yang dilaporkan pada host jauh + masa akhir: 2014-01-10 00:48:23 (GMT5.5) (11 saat) ------------------------------------------------ ------------------------------- + 1 Host (s) diuji

Sekiranya anda ingin mengimbas nombor port yang berbeza, tambahkan "-p"[-pelabuhan] pilihan. Contohnya, saya mahu melakukan imbasan di ip 172.16.27.56 pada port TCP 443.

[[dilindungi e-mel] nikto-2.1.5]# Perl Nikto.PL -H 172.16.27.56 -P 443
Output sampel
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Sasaran IP: 172.16.27.56 + nama hos sasaran: Contohnya.com + target port: 443 -------------------------------------------- ------------------------------- + SSL Info: Subjek: /O =*.pertengahan hari.com/ou = kawalan domain disahkan/cn =*.pertengahan hari.com ciphers: DHE-RSA-AES256-GCM-SHA384 Penerbit:/C = US/ST = Arizona/L = Scottsdale/O = Starfield Technologies, Inc./Ou = http: // sijil.Starfieldtech.com/repository/cn = Starfield Secure Certification Authority/SerialNumber = 10688435 + Mula Masa: 2014-01-10 01:08:26 (GMT5.5) ------------------------------------------------ --------------------------- + Pelayan: Apache/2.2.15 (CentOS) + pelayan kebocoran inodi melalui ETAGS, header yang ditemui dengan fail /, inode: 2817021, saiz: 5, mtime: 0x4d5123482b2e9 + header anti-clickjacking X-Frame-Options Header tidak hadir. + Apache/2.2.15 nampaknya sudah ketinggalan zaman (semasa sekurang -kurangnya Apache/2.2.22). Apache 1.3.42 (pelepasan akhir) dan 2.0.64 juga terkini. + Pelayan menggunakan sijil wildcard: '*.pertengahan hari.com ' + dibenarkan kaedah HTTP: Dapatkan, kepala, pos, pilihan, jejak + OSVDB-877: Kaedah jejak HTTP aktif, mencadangkan tuan rumah terdedah kepada XST + OSVDB-3268: /ICONS /: Pengindeks Direktori Ditemui Ditemui. + OSVDB-3233: /Ikon /Readme: Fail lalai Apache dijumpai. + 6544 item yang diperiksa: 0 ralat dan 8 item yang dilaporkan pada hos jauh + masa tamat: 2014-01-10 01:11:20 (GMT5.5) (174 saat) -------------------------------------------- ------------------------------- + 1 Host (s) diuji

Anda juga boleh menentukan tuan rumah, pelabuhan dan Protokol menggunakan penuh Url sintaks, dan ia akan diimbas.

[[dilindungi e-mel] nikto-2.1.5]# Perl Nikto.PL -H http: // 172.16.27.56:80

Anda juga boleh mengimbas mana -mana laman web. Contohnya, di sini saya melakukan imbasan Google.com.

[[dilindungi e-mel] nikto-2.1.5]# Perl Nikto.PL -H http: // www.Google.com
Output sampel
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Sasaran IP: 173.194.38.177 + Nama Host Target: www.Google.com + target port: 80 + Mula Masa: 2014-01-10 01:13:36 (GMT5.5) ------------------------------------------------ --------------------------- + Server: GWS + Cookie Pref dibuat tanpa bendera httponly + cookie nid dicipta tanpa bendera httponly + header tidak biasa 'X-Frame-Options' yang dijumpai, dengan kandungan: sameorigin + header yang tidak biasa 'X-XSS-perlindungan' yang dijumpai, dengan kandungan: 1; mod = blok + header yang tidak biasa 'Alternatif-Protocol' dijumpai, dengan kandungan: 80: quic + root page/redirects to: http: // www.Google.co.dalam/?gws_rd = cr & ei = xirouomscoxbraee34dwcq + spanduk pelayan telah berubah dari 'gws' ke 'sffe' yang mungkin mencadangkan WAF, pengimbang beban atau proksi di tempat + header yang tidak biasa 'X-Content-Type-Option' Tiada direktori CGI dijumpai (gunakan '-c semua' untuk memaksa semua yang mungkin dirs) + fail/dir '/kumpulan/' dalam robot.TXT mengembalikan kod HTTP yang tidak dilarang atau mengalihkan (302) .. .

Perintah di atas akan melakukan banyak permintaan HTTP (i.e. lebih daripada 2000 ujian) di pelayan web.

Ujian Pelabuhan Pelbagai

Anda juga boleh melakukan pelbagai port imbasan dalam sesi yang sama. Untuk mengimbas pelbagai port pada tuan rumah yang sama, tambahkan "-p"[-pelabuhan] pilihan dan tentukan senarai port. Pelabuhan boleh ditakrifkan sebagai julat (i.e., 80-443), atau sebagai koma dipisahkan (i.e., 80,443). Contohnya, saya mahu mengimbas pelabuhan 80 dan 443 pada tuan rumah 172.16.27.56.

[[dilindungi e-mel] nikto-2.1.5]# Perl Nikto.PL -H 172.16.27.56 -p 80,443
Output sampel
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Tiada pelayan web yang terdapat di CMSStage.pertengahan hari.com: 88 ----------------------------------------------- ---------------------------- + Sasaran IP: 172.16.27.56 + nama hos sasaran: Contohnya.com + target port: 80 + Mula Masa: 2014-01-10 20:38:26 (GMT5.5) ------------------------------------------------ --------------------------- + Pelayan: Apache/2.2.15 (CentOS) + Header X berkuasa X yang diambil: PHP/5.3.3 + Header X-Frame-Options Anti-Clickjacking tidak hadir. --------------------------------------------------------------------------- + Sasaran IP: 172.16.27.56 + nama hos sasaran: Contohnya.com + target port: 443 -------------------------------------------- ------------------------------- + Maklumat SSL: Subjek: /O =*.pertengahan hari.com/ou = kawalan domain disahkan/cn =*.pertengahan hari.com ciphers: DHE-RSA-AES256-GCM-SHA384 Penerbit:/C = US/ST = Arizona/L = Scottsdale/O = Starfield Technologies, Inc./Ou = http: // sijil.Starfieldtech.com/repository/cn = Starfield Secure Certification Authority/SerialNumber = 10688435 + Mula Masa: 2014-01-10 20:38:36 (GMT5.5) ------------------------------------------------ --------------------------- + Pelayan: Apache/2.2.15 (CentOS) + semua direktori CGI 'dijumpai', gunakan '-c tiada' untuk menguji tiada + apache/2.2.15 nampaknya sudah ketinggalan zaman (semasa sekurang -kurangnya Apache/2.2.22). Apache 1.3.42 (pelepasan akhir) dan 2.0.64 juga terkini .. 

Menggunakan proksi

Katakan sistem di mana Nikto berjalan hanya mempunyai akses ke hos sasaran melalui Http proksi, ujian masih boleh dilakukan dengan menggunakan dua cara yang berbeza. Seseorang menggunakan Nikto.Conf fail dan cara lain adalah berjalan terus dari baris arahan.

Menggunakan Nikto.fail conf

Buka Nikto.Conf fail menggunakan mana -mana editor baris arahan.

[[dilindungi e-mel] nikto-2.1.5]# VI Nikto.Conf

Cari pemboleh ubah "Proksi"Dan tidak dapat dielakkan '#'Dari awal garis seperti yang ditunjukkan. Kemudian tambah Hos Proksi, pelabuhan, Pengguna Proksi dan kata laluan. Simpan dan tutup fail.

# Tetapan Proksi -Masih mesti diaktifkan oleh -Useproxy ProxyHost = 172.16.16.37 Proxyport = 8080 Proxyuser = PG Proxypass = PG

Sekarang, laksanakan Nikto Menggunakan "-Useproxy"Pilihan. Sila ambil perhatian semua sambungan akan disampaikan melalui Http proksi.

[dilindungi e-mel] Nikto-2.1.5]# Perl Nikto.pl -h localhost -p 80 -Useproxy
Output sampel
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Sasaran IP: 127.0.0.1 + Nama Hos Sasaran: Localhost + Port Target: 80 + Mula Masa: 2014-01-10 21:28:29 (GMT5.5) ------------------------------------------------ --------------------------- + Server: Squid/2.6.Stabil6 + diambil melalui tajuk: 1.0 NetServ: 8080 (sotong/2.6.Stabil6) + Header X-Frame-Options Anti-Clickjacking tidak hadir. + Header yang tidak biasa 'X-Squid-ERROR' dijumpai, dengan kandungan: err_cache_access_denied 0 + header yang tidak biasa 'X-Cache-Lookup' dijumpai, dengan kandungan: Tiada dari NetServ: 8080
Menggunakan baris arahan

Untuk menjalankan Nikto terus dari baris arahan menggunakan "-Useproxy"Pilihan dengan menetapkan proksi sebagai hujah.

[dilindungi e-mel] Nikto-2.1.5]# Perl Nikto.pl -h localhost -Useproxy http: // 172.16.16.37: 8080/
Output sampel
- Nikto v2.1.5 ------------------------------------------------- -------------------------- + Sasaran IP: 127.0.0.1 + Nama Hos Sasaran: Localhost + Port Target: 80 + Mula Masa: 2014-01-10 21:34:51 (GMT5.5) ------------------------------------------------ --------------------------- + Server: Squid/2.6.Stabil6 + diambil melalui tajuk: 1.0 NetServ: 8080 (sotong/2.6.Stabil6) + Header X-Frame-Options Anti-Clickjacking tidak hadir. + Header yang tidak biasa 'X-Squid-ERROR' dijumpai, dengan kandungan: err_cache_access_denied 0 + header yang tidak biasa 'X-Cache-Lookup' dijumpai, dengan kandungan: Tiada dari NetServ: 8080

Mengemas kini Nikto

Anda boleh mengemas kini Nikto kepada yang terkini plugin dan pangkalan data Secara automatik, hanya jalankan "-Kemas kini"Perintah.

[[dilindungi e-mel] nikto-2.1.5]# Perl Nikto.PL -update

Sekiranya kemas kini baru tersedia, anda akan melihat senarai kemas kini baru yang dimuat turun.

+ Mengambil semula 'nikto_report_csv.plugin ' + mengambil semula' nikto_headers.plugin ' + mengambil semula' nikto_cookies.plugin ' + mengambil' db_tests ' + mengambil' db_parked_strings ' + mengambil' perubahan.txt ' + cirt.Mesej Bersih: Sila hantar bug Nikto ke http: // trac2.Assembla.com/nikto_2/laporan/2

Anda juga boleh memuat turun dan mengemas kini plugin dan pangkalan data Nikto secara manual dari http: // cirt.bersih/nikto/kemas kini/.

Pautan rujukan

Nikto Homepage