Nikto使用方法

Introduction

Nikto是一款开源的(GPL)网站服务器扫描器,使用Perl基于LibWhisker开发。它可以对网站服务器进行全面的多种扫描,包括6400多个潜在危险的文件/CGI,检查1200多个服务器版本以及270多个服务器上的特定于版本的问题。它还会检查服务器配置项,例如是否存在多个索引文件,HTTP服务器选项,并将尝试识别已安装的Web服务器和软件。扫描项目和插件会经常更新,并且可以自动更新。

Command

1.普通扫描

nikto -h <IP or hostname>

Nikto能够进行扫描SSL和端口443(HTTPS网站使用的端口)(HTTP默认使用端口80)。因此,我们可以扫描使用了SSL的网站。

nikto -h <IP or hostname> -ssl

其实不必指定443端口使用ssl,nikto首先使用HTTP规则,如果失败,接着尝试HTTPS规则。当然,指定-ssl能省去不必要的步骤,节省扫描时间。
同时,nikto也支持多域名/IP扫描,写入到txt文件中,一行一个。

nikto -h host.txt

2.扫描指定端口

nikto -h xx.xx.xx.xx -p 80       #对80端口的扫描

3.与Metasploit配对扫描

Nikto可以将信息导出为Metasploit在执行扫描时可以读取的格式。只需使用上面的命令来执行扫描,但将-Format msf +附加到它的末尾。该格式可以帮助我们使用漏洞库快速配检索数据。

nikto -h -Format msf+

4.目录猜解

-C 扫描CGI目录

nikto -h 192.168.3.111 -C all     # all表示猜解CGI目录

5.漏洞扫描

-T选项包含的小选项解释:
0 检查文件上传页面
1 检查web日志
2 检查错误配置或默认文件
3 检查信息泄露问题
4 检查XSS/Script/HTML问题
5 从根目录检查是否存在可访问的文件
6 检查拒绝服务问题
7 从任意文件检索是否存在可访问文件
8 检查是否存在系统命令执行漏洞
9 检查SQL注入漏洞
a 检查认证绕过问题
b 识别安装的软件版本
c 检查源代码泄露问题
x 反向链接选项

6.使用指定代理扫描

nikto -h localhost -useproxy

代理在nikto.conf文件中配置,也可以在命令行设置

nikto -h localhost -useproxy http://localhost:8080/

7.查看插件

nikto -list-plugins     #列出可运行的插件

8.选择插件运行

nikto -Plugins

9.更新插件和数据库

nikto -update

10.仅用来发现HTTP和HTTPS端口,而不执行检测规则

nikto -findonly

11.控制nikto的输出显示

nikto -Display 3

1 显示重定向
2 显示收到的cookie
3 显示200/OK响应
4 显示需要认证的URLs
D debug信息
E 所有的HTTP ERROR
P 打印进度到stdout
V verbose output

12.IDS逃避技术

nikto -evasion

常用的参数:
1 随机的URI编码(no-UTF8)
2 Directory self-reference (/./)
3 Premature URL ending
4 Prepend long random string
5 Fake parameter
6 TAB as request spacer
7 Change the case of the URL
8 Use Windows directory separator ()
A Use a carriage return (0x0d) as a request spacer
B Use binary value 0x0b as a request spacer

13.指定检测报告输出文件的格式

nikto -Format <csv/txt/html/msf/xml>   #默认是txt文件格式

如果没有定义,会根据-o(-output)的文件的后缀确定


详情见:使用手册

posted @ 2020-04-04 00:33  zha0gongz1  阅读(3255)  评论(0编辑  收藏  举报