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的安全進行審計,及時發現網站存在的安全漏洞,對網站的安全做進一步的掃描評估。