SecPark   SecPark

Welcome to SecPark!

nikto使用手册

nikto使用手册

第一章 概述

Nikto是一个web server评估工具。开源免费,使用Perl基于LibWhisker开发。

可以与Nessus(http://www.nessus.org/nessus/)集成。

第二章 使用

基本测试

例子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.pl –h

可以查看简单帮助文档

-config

指定一个配置文件代替nikto.conf(在nikto.pl同目录下)

-dbcheck

检查扫描数据库的语法错误

-Display

控制nikto的输出显示

1 显示重定向

2 显示收到的cookie

3 显示200/OK响应

4 显示需要认证的URLs

D debug信息

E 所有的HTTP ERROR

P 打印进度到stdout
V verbose output

-evasion

ids逃避技术

常用的参数

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

-findonly

只发现HTTP(S)端口,不执行安全扫描。2.1.4版本之后,不推荐使用。替代 -Plugins “@@NONE”

-Format

定义输出文件格式,有如下值
csv
htm
msf
txt
xml
如果没有定义,会根据-o(-output)的文件的后缀确定

-host

指定被测主机,就是(-h)

-Help

帮助信息

-id

值的格式“id:password”,用于basic host 认证

-list-plugins

列出nikto会运行的插件

-mutate

-mutate-options

变化猜测技术,前面提到过了。

-nolookup

不执行主机名查找

-nocache

disable response cache

-nointeractive

disable interactive features

-nossl

do not use ssl to connect to the server

-no404

     disable 404(file not found)checking.

-output

指定输出文件

-Plugins

选择哪些插件运行。提供一个分号分隔的插件名列表。插件名字可以用-list-plugins查看

@@ALL 运行所有插件
@@NONE 没有插件运行,参看findonly
默认@@DEFAULT

-port

指定端口

-Pause

单位秒,指定每个测试之间的间隔时间。

-root

每个请求前面添加的值

-ssl

only test ssl

-Single

执行单个测试

-timeout

请求超时时间,默认10秒,单位秒

-Tuing

控制nikto的扫描行为,默认全部执行。如果指定了某个值,则只执行这个内容。如果使用了“x”选项,逻辑刚好相反,不包含指定的扫描。
0 文件上传
1 日志文件
2 默认文件
3 信息泄露
4 注入(XSS/script/html)
5 远程文件检索(web目录中)
6 拒绝服务
7 远程文件检索(服务器)
8 代码执行/远程shell
9 SQL注入
a 认证绕过
b 软件关联
c 远程源代码包含
x 翻转逻辑

-useproxy

-update

-Version

-vhost

第四章 配置文件

位置

nikto会从如下3个地方查找配置文件(如果没有用-config指定),按从上到下顺序查找,后面的会覆盖前面的设置:

/etc/nikto.conf (this may be altered depending on platform)

$HOME/nikto.conf

nikto.conf

第5章 输出报告

报告的模板在templates目录下

第6章 测试库和插件

validate