天天看點

如何使用Nikto漏洞掃描工具檢測網站安全

Nikto是一款開放源代碼的、功能強大的WEB掃描評估軟體,能對web伺服器多種安全項目進行測試的掃描軟體,能在230多種伺服器上掃描出 2600多種有潛在危險的檔案、CGI及其他問題,它可以掃描指定主機的WEB類型、主機名、特定目錄、COOKIE、特定CGI漏洞、傳回主機允許的 http模式等等。它也使用LibWhiske庫,但通常比Whisker更新的更為頻繁。Nikto是網管安全人員必備的WEB審計工具之一。

  Nikto最新版本為2.0版,可以去官方下載下傳

  Nikto是基于PERL開發的程式,是以需要PERL環境。Nikto支援Windows(使用ActiveState Perl環境)、Mac OSX、多種Linux 或Unix系統。Nikto使用SSL需要Net::SSLeay PERL模式,則必須在Unix平台上安裝OpenSSL。具體的可以參考nikto的幫助文檔。

  從官方網站上下載下傳nikto-current.tar.gz檔案,在Linux系統解壓操作:

  tar -xvf nikto-current.tar.gz

  gzip -d nikto-current.tar

  解壓後的結果如下所示:

  Config.txt、docs、kbase、nikto.pl、plugins、 templates

  Nikto的使用說明:

  Nikto掃描需要主機目标IP、主機端口。預設掃描的是80端口。掃描主機目标IP位址可以使用選項-h(host)。下面将掃描IP為192.168.0.1的TCP 80端口,如下所示:

  perl nkito.pl –h 192.168.0.1

  也可以自定義掃描的端口,可以使用選項-p(port),下面将掃描IP為192.168.0.1的TCP 443端口,如下所示:

  perl nikto.pl –h 192.168.0.1 –p 443

  Nikto也可以同時掃描多個端口,使用選項-p(port),可以掃描一段範圍(比如:80-90),也可以掃描多個端口(比如:80,88,90)。下面掃描主機的80/88/443端口,如下所示:

  Perl nikto.pl –h 192.168.0.1 –p 80,88,443

  如果運作Nikto的主機是通過HTTP proxy來通路網際網路的,也可以使用代理來掃描,使用選項-u(useproxy)。下面将通過HTTP proxy來掃描,如下所示:

  Perl nikto.ph –h 192.168.0.1 –p 80 –u

  Nikto的更新:

  Nikto的更新可以通過-update的指令來更新插件和資料庫,如下所示:

  Perl nikto.ph –update

  Nikto的選項說明:

  -Cgidirs

  掃描CGI目錄。

  -config

  使用指定的config檔案來替代安裝在本地的config.txt檔案

  -dbcheck

  選擇文法錯誤的掃描資料庫。

  -evasion

  使用LibWhisker中對IDS的躲避技術,可使用以下幾種類型:

  1.随機URL編碼(非UTF-8方式)

  2.自選擇路徑(/./)

  3.虛假的請求結束

  4.長的URL請求

  5.參數隐藏

  6.使用TAB作為指令的分隔符

  7.大小寫敏感

  8.使用Windows路徑分隔符替換/

  9.會話重組

 -findonly

  僅用來發現HTTP和HTTPS端口,而不執行檢測規則

  -Format

  指定檢測報告輸出檔案的格式,預設是txt檔案格式(csv/txt/htm)

  -host

  目标主機,主機名、IP位址、主機清單檔案。

  -id

  ID和密碼對于授權的HTTP認證。格式:id:password

  -mutate

  變化猜測技術

  1.使用所有的root目錄測試所有檔案

  2.猜測密碼檔案名字

  3.列舉Apache的使用者名字(/~user)

  4.列舉cgiwrap的使用者名字(/cgi-bin/cgiwrap/~user)

  -nolookup

  不執行主機名查找

  -output

  報告輸出指定地點

  -port

  掃描端口指定,預設為80端口。

  -Pause

  每次操作之間的延遲時間

  - Display

  控制Nikto輸出的顯示

  1.直接顯示資訊

  2.顯示的cookies資訊

  3.顯示所有200/OK的反應

  4.顯示認證請求的URLs

  5.Debug輸出

  -ssl

  強制在端口上使用SSL模式

  -Single

  執行單個對目标服務的請求操作。

  -timeout

  每個請求的逾時時間,預設為10秒

  -Tuning

  Tuning 選項控制Nikto使用不同的方式來掃描目标。

  0.檔案上傳

  1.日志檔案

  2.預設的檔案

  3.資訊洩漏

  4.注射(XSS/Script/HTML)

  5.遠端檔案檢索(Web 目錄中)

  6.拒絕服務

  7.遠端檔案檢索(伺服器)

  8.代碼執行-遠端shell

  9.SQL注入

  a.認證繞過

  b.軟體關聯

  g.屬性(不要依懶banner的資訊)

  x.反向連接配接選項

  -useproxy

  使用指定代理掃描

  -update

  更新插件和資料庫

  例子:使用Nikto掃描目标主機10.0.0.12的phpwind論壇網站。

  Perl nikto.pl –h 10.0.0.12 –o test.txt

  通過上面的掃描結果,我們可以發現這個Phpwind論壇網站,是在windows作業系統上,使用Apache/2.2.4版本,Php/5.2.0版本,以及系統預設的配置檔案和路徑等。

  綜上所述,Nikto工具可以幫助我們對Web的安全進行審計,及時發現網站存在的安全漏洞,對網站的安全做進一步的掃描評估。