Nikto
簡介
Nikto是一款開源的(GPL)網頁服務器掃描器,實用的操作系統:Linux、FreeBSD、UNIX,軟件大小是162KB,它可以對網頁服務器進行全面的多種掃描,包含超過3300種有潛在危險的文件/CGIs;超過625種服務器版本;超過230種特定服務器問題。掃描項和插件可以自動更新(如果需要)。基於Whisker/libwhisker完成其底層功能。這是一款非常棒的工具,但其軟件本身並不經常更新,最新和最危險的可能檢測不到。
Nikto的作者是Chris Sullo,他是開放安全基金會(Open Security Foundation) 的財務總監。
功能
Nikto用來檢查網頁服務器和其他多個範疇內的項目:
- 錯誤的配置
- 默認文件和腳本
- 不安全的文件和腳本
- 過時軟件
Nikto使用Rain Forest Puppy的LibWhisker實現HTTP功能,並且可以檢查HTTP和HTTPS。同時支持基本的端口掃描以判定網頁服務器是否運行在其他開放端口。 Nikto可以使用'update'選項從主版本站點自動更新,以應對新的弱點。 Nikto可以在啟動時加載用戶自定義的檢測規則,當然前提是自定義檢測規則已經放在了user_scan_database.db文件內(這個文件在插件目錄下);即使使用-update選項升級,自定義的檢測規則也不會被覆蓋。Nikto也具有反入侵探測(IDS)功能。
系統要求
Unix:
Perl、NET::SSLeay、OpenSSL (只在需要SSL掃描時才用到)。
Windows
ActiveState編譯的Net::SSL (只在需要SSL掃描時才用到). 可以考慮使用Cygwin。
Nikto-操作方法
從官方網站上下載nikto-current.tar.gz文件,在Linux系統解壓操作:
tar -xvf nikto-current.tar.gz
gzip -d nikto-current.tar
解壓後的結果如下所示:
Config.txt、docs、kbase、plugins、 templates
Nikto的使用說明:
Nikto掃描需要主機目標IP、主機端口。默認掃描的是80端口。掃描主機目標IP地址可以使用選項-h(host)。下面將掃描IP為 192.168.0.1的TCP 80端口,如下所示:
h 192.168.0.1
也可以自定義掃描的端口,可以使用選項-p(port),下面將掃描IP為192.168.0.1的TCP 443端口,如下所示:
h 192.168.0.1 –p 443....................
Nikto也可以同時掃描多個端口,使用選項-p(port),可以掃描一段範圍(比如:80-90),也可以掃描多個端口(比如:80,88,90)。下面掃描主機的80/88/443端口,如下所示:
h 192.168.0.1 –p 80,88,443..............
如果運行Nikto的主機是通過HTTP proxy來訪問互聯網的,也可以使用代理來掃描,使用選項-u(useproxy)。下面將通過HTTP proxy來掃描,如下所示:
h 192.168.0.1 –p 80 –u.................
Nikto的更新:
Nikto的升級可以通過-update的命令來更新插件和數據庫,如下所示:
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是一個用來發現默認網頁文件、檢查網頁服務器和CGI安全問題的工具。它對遠程主機使用大量請求,這些過量的請求可能會導致遠程主機宕機。Nikto可能會損害主機、遠程主機和網絡。某些選項可能對目標產生超過 70,000個HTTP請求。 同樣從網站更新的插件也不能保證絕對系統無害,選擇權在用戶手中。
視頻
Nikto 相關視頻
參考文獻
- ↑ NIKTO介紹及使用方法,博客園,2018-04-15