Nikto是一款開源的(GPL)網頁伺服器掃描器,它可以對網頁伺服器進行全面的多種掃描,包含超過3300種有潛在危險的檔案CGIs;超過625種伺服器版本;超過230種特定伺服器問題。掃描項和外掛程式可以自動更新(如果需要)。基於Whisker/libwhisker完成其底層功能。這是一款非常棒的工具,但其軟體本身並不經常更新,最新和最危險的可能檢測不到。
Nikto的作者是Chris Sullo,他是開放安全基金會(Open Security Foundation) 的財務總監。
軟體信息
軟體名稱:nikto
軟體大小:162KB
開發公司:開源
軟體功能
錯誤的配置
默認檔案和腳本
不安全的檔案和腳本
過時軟體
Nikto使用Rain Forest Puppy的LibWhisker實現HTTP功能,並且可以檢查HTTP和HTTPS。同時支持基本的連線埠掃描以判定網頁伺服器是否運行在其他開放連線埠。 Nikto可以使用“update”選項從主版本站點自動更新,以應對新的弱點。Nikto可以在啟動時載入用戶自定義的檢測規則,當然前提是自定義檢測規則已經放在了user_scan_database.db檔案內(這個檔案在外掛程式目錄下);即使使用-update選項升級,自定義的檢測規則也不會被覆蓋。Nikto也具有反入侵探測(IDS)功能。
系統要求
Unix:
Perl、NET::SSLeay、OpenSSL (只在需要SSL掃描時才用到)。
ActiveState編譯的Net::SSL (只在需要SSL掃描時才用到). 可以考慮使用Cygwin。
操作方法
從官方網站上下載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
也可以通過從網站下載來更新外掛程式和資料庫:http://updates.cirt.net/...........
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:更新外掛程式和資料庫