nikto是一款专业的web服务器扫描工具,軟件采用命令行的执行方式,可以对服务器进行快速的检测,从而发现潜在的危险以及CGI等问题,是网络管理人员的必备工具。需要说明的是小编带来的是nikto是针对windows系统的,欢迎下载!
nikto基本介紹
nikto是基于PERL开发的程序,所以需要PERL环境,支持Windows(使用ActiveState Perl环境)、Mac OSX、多种Linux 或Unix系统。它也使用LibWhiske库,但通常比Whisker更新的更为频繁,是一款非常棒的WEB扫描评估軟件。
nikto功能介紹
1、使用Rain Forest Puppy的LibWhisker实现HTTP功能,并且可以检查HTTP和HTTPS
2、支持基本的端口掃描以判定網頁服務器是否運行在其他開放端口
3、可以使用'update'選項從主版本站點自動更新,以應對新的弱點
4、可以在啓動時加載用戶自定義的檢測規則,當然前提是自定義檢測規則已經放在了
user_scan_database.db文件內(這個文件在插件目錄下),即使使用-update選項升級,自定義的檢測規則也不會被覆蓋
5、具有反入侵探測(IDS)功能
6、Nikto可用来检查网页服务器和其他多个范畴内的项目:错误的配置、默认文件和脚本、不安全的文件和脚本、过时軟件等
nikto使用說明
基本測試
例子1 perl nikto.pl -h 192.168.0.1
-h 指定被扫描的IP或者主机名
-p 指定扫描的端口,没有指定,则默认80
例子2 perl nikto.pl -h 192.168.0.1 -p 443
可以指定協議,如
例子3 perl nikto.pl -h https://192.168.0.1:443/
例子4 perl nikto.pl -h 192.168.0.1 -p 443 –ssl
其實不必指定443端口使用ssl,nikto首先使用HTTP規則,如果失敗,接著嘗試HTTPS規則。當然,指定-ssl能省去不必要的步驟,加快速度。
使用-mutate parameter可以实现更复杂的测试。
例子5 perl nikto.pl -h 192.168.0.1 -mutate 3 -mutata-options user-list.txt
-mutate 變化猜測技術,使用这个选项会产生大量测试。选项数字编号代表含义:
1-使用所有的root目錄測試所有文件
2-猜測密碼文件名字
3-列举apache用户名字 (/~user type requests)
4-列举cgiwrap用户名(/cgi-bin/cgiwrap/~user type requests)
5-暴力嘗試子域名,假設hostname是父域名
6-通過提供字典文件猜測目錄名
-mutate-options 对-mutate选项提供额外信息,如字典文件。
注意:-mutate和-mutate-options在nikto2.1.2版本后,不推荐使用。使用-Plugin parameter代替。如下插件描述代替上面描述的-mutate
tests(all)
tests(passfiles)
apacheusers(enumerate,home[,dictionary:dict.txt])
apacheusers(enumerate,cgiwrap[,dictionary:dict.txt])
subdomain
dictionary(dictionary:dict.txt)
多端口測試
指定多個端口,用逗號分割
例子6 perl nikto.pl -h 192.168.0.1 -p 80,88,443
指定端口範圍
例子7 perl nikto.pl -h 192.168.0.1 -p 80-90
多主機測試
通過主機文件
例子8 perl nikto.pl -h host.txt
host.txt文件,一行一個,如下
192.168.0.1:80
http://192.168.0.1:8080/
192.168.0.3
也可以使用命令行輸出,如下面,這裏"-"代表標准輸入輸出
例子9 nmap -p80 192.168.0.0/24 -oG - | nikto.pl -h -
使用代理
如果我們通過代理運行nikto
例子10 perl nikto.pl -h 192.168.0.1 -p 80 –useproxy
代理在nikto.conf文件中配置
# Proxy settings -- still must be enabled by –useproxy
#PROXYHOST=127.0.0.1
#PROXYPORT=8080
#PROXYUSER=proxyuserid
#PROXYPASS=proxypassword
也可以在命令行設置
例子11 ./nikto.pl -h localhost -useproxy http://localhost:8080/
更新
例子12 perl nikto.pl –update
在連網情況下更新插件和測試庫,當然也可以從
http://www.cirt.net/%E7%9B%B4%E6%8E%A5%E4%B8%8B%E8%BD%BD 下载
與nessus 集成
Nessus (http://www.nessus.org/nessus/)
nikto.pl配置到path中;nikto.nasl在nessus的安装目录下;运行nessusd -R 再重启nessus
在nessus发现web server时,会自动加载nikto
詳細可以參考:http://blog.tenablesecurity.com/2008/09/using-nessus-to.html
交互指令
在掃描期間,按下如下的按鍵
space 报告当前扫描状态
v 打开/关闭verbose模式
d 打开/关闭debug模式
e 打开/关闭错误报告
p 打开/关闭进度报告
r 打开/关闭显示重定向
c 打开/关闭显示cookie
o 打开/关闭OK显示
a 打开/关闭auth信息显示
q 退出
N 下一个HOST
P 暂停
例子13 nikto.pl -host target.txt -Plugins "apache_expect_xss(verbose,debug)"
例子14
nikto.pl -host targets.txt -Plugins "apacheusers(enumerate,dictionary:users.txt);report_xml" -output apacheusers.xml
nikto使用教程
1、nikto在windows系统中使用需要依赖于ActiveState Perl环境,所以大家在操作nikto之前请先下载安装ActivePerl程序。
2、安装完毕ActivePerl之后,添加 Perl到PATH环境中并创建Perl文件关联,打开CMD窗口,检测当前ActivePerl环境是否安装完成,如下图所示:
3、解壓壓縮包文件,在cmd(命令行模式)窗口中,進入nikto.pl路徑。
perl nikto.pl -h x.x.x.x -p 80,8080 -o report.log,指定ip、端口、输出文件,进行操作检测。
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
更新插件和數據庫