Nikto
来源:互联网 发布:cctv5高清无插件软件 编辑:程序博客网 时间:2024/06/05 13:31
Nikto
转载请注明,原文转自 http://blog.csdn.net/fly_heart_yuan/article/details/6799043
一 简介
Nikto 是一款开放源代码的、功能强大的WEB扫描评估软件,能对web服务器多种安全项目进行测试的扫描软件,去寻找已知有名的漏洞,能在230多种服务器上扫描出 2600多种有潜在危险的文件、CGI及其他问题,它可以扫描指定主机的WEB类型、主机名、特定目录、COOKIE、特定CGI漏洞、返回主机允许的 http模式等等。它也使用LibWhiske库,但通常比Whisker更新的更为频繁。Nikto是网管安全人员必备的WEB审计工具之一。
二 安装
a 安装LibWhiske
wget http://sourceforge.net/projects/whisker/files/libwhisker/2.5/libwhisker2-2.5.tar.gz/download?_test=goal
tar -xzf libwhisker2-2.5.tar.gz
b 安装nikto
wget --no-check-certificate https://cirt.net/nikto/nikto-2.1.4.tar.gz
tar -xf nikto-2.1.4.tar
cd nikto-2.1.4
三 使用
1. 快速入门
进行最基本的nikto扫描,你只需要指定目标的host(通过 -h 参数指定),也可以指定要扫描的端口号(通过 -p 来指定),默认是80
<span style="font-size: 16px;">perl nikto.pl -h 192.168.0.1</span>2 多端口扫描
<span style="font-size: 16px;">#扫描80,88,443三个端口</span>
<span style="font-size: 16px;">perl nikto.pl -h 192.168.0.1 -p 80,88,443</span>
<pre class="screen" name="code" style="white-space: pre-wrap; word-wrap: break-word;"><span style="font-size: 16px;">#扫描80~90共10个端口</span>
<span style="font-size: 16px;">perl nikto.pl -h 192.168.0.1 -p 80-90</span>3 多host扫描
-h 参数的值为一个文件,该文件存一系列的host或者ip,文件的格式要求是,每个host必须占一行,端口号放行末,端口号通过冒号或者逗号和host,其他端口号区分开,给一个文件示例
<span style="font-size: 16px;">192.168.0.1:80http://192.168.0.1:8080/192.168.0.3</span>4 交互功能
在扫描期间,按下下面任意键,可开启或关闭相关功能,注意这些命令是区分大小写的
空格报告当前扫描状态v详细模式的开启/关闭d调试模式的开启/关闭e开启/关闭错误报告p进展情况报告的开启/关闭四 命令行参数
-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扫描目标主机10.0.0.12的phpwind论坛网站。
Perl nikto.pl –h 10.0.0.12 –o test.txt
五 配置文件
1.配置文件所在位置
加压后文件根目录下的nikto.conf
2.格式
类似于unix标准配置文件格式
3.参数
CLIOPTS:设置默认的命令后缀,例如
CLIOPTS=-output results.txt -Format text这样设置过后,以后敲命令时,就不用再写这些参数了
NIKTODTD:指定nikto.dtd文件的相对路径,此文件是什么角色,我猜想应该是测试用例数据库
RFIURL: 远程文件包含漏洞。此值设为你想要远程包含的文件
SKIPPORTS:掠过端口配置
SKIPIDS:掠过的ID,用于测试数据库的
六 输出报告
七 示例报告分析
在谷歌搜索nikto reports 有了这样一份报告,我就拿他来试试我的小牛刀
http://www.ruben-alves.com/ficheiros/nikto-AT-localhost.html
tip:这是一份html格式的报告,生成命令为 perl nikto.pl -h xxxx -o result.html -F htm
个人认为,html格式的报告比txt格式的报告清晰多了的说,建议使用html报告格式
首先,告诉了我们关于nikto的信息,你使用的是nikto软件,版本号,命令行参数
localhost / 127.0.0.1Target IP127.0.0.1Target hostnamelocalhostTarget Port80HTTP ServerApache/2.2.4 (Ubuntu) PHP/5.2.3-1ubuntu6Start Time2007-11-14 0:09:00End Time2007-11-14 0:09:00Elapsed17 SecondsSite Link (Name)http://localhost:80/Site Link (IP)http://127.0.0.1:80/Items Tested4342Items Found8
上面的表格告诉我们的是目标服务器相关的信息,ip,域名,端口号,web服务器等等
下面的表格厉害了,注意看description
( 这是相对于host的路径)HTTP MethodGETDescriptionphpMyAdmin is for managing MySQL databases, and should be protected or limited to authorized hosts.
(phpmyadmin是负责管理mysql数据库的页面,应该限制访问权限)Test Linkshttp://localhost:80/phpmyadmin/
http://127.0.0.1:80/phpmyadmin/OSVDB EntriesOSVDB-3092URI/icons/HTTP MethodGETDescriptionDirectory indexing is enabled: /icons indexing
(目录遍历漏洞)Test Linkshttp://localhost:80/icons/
http://127.0.0.1:80/icons/OSVDB EntriesOSVDB-3268URI/HTTP MethodTRACEDescriptionTRACE option appears to allow XSS or credential theft. See http://www.cgisecurity.com/whitehat-mirror/WhitePaper_screen.pdf for detailsTest Linkshttp://localhost:80/
http://127.0.0.1:80/OSVDB EntriesOSVDB-877URI/index.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000HTTP MethodGETDescriptionPHP reveals potentially sensitive information via certain HTTP requests which contain specific QUERY strings.
(访问上面的url,我们发现其实是phpinfo页面啊,确实包含了很多敏感信息)Test Linkshttp://localhost:80/index.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
http://127.0.0.1:80/index.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000OSVDB EntriesOSVDB-12184URI/phpinfo.phpHTTP MethodGETDescriptionContains PHP configuration informationTest Linkshttp://localhost:80/phpinfo.php
http://127.0.0.1:80/phpinfo.phpOSVDB EntriesOSVDB-3233URI/server-statusHTTP MethodGETDescriptionThis reveals Apache information. Comment out appropriate line in httpd.conf or restrict access to allowed hosts.Test Linkshttp://localhost:80/server-status
http://127.0.0.1:80/server-statusOSVDB EntriesOSVDB-561URI/readmeHTTP MethodGETDescriptionThis might be interesting...Test Linkshttp://localhost:80/readme
http://127.0.0.1:80/readmeOSVDB EntriesOSVDB-3092URI/doc/HTTP MethodGETDescriptionThe /doc/ directory is browsable. This may be /usr/doc.Test Linkshttp://localhost:80/doc/
http://127.0.0.1:80/doc/OSVDB EntriesOSVDB-48
八 后记
同许多渗透测试工具一样,nikto提供给你的信息有局限性,如果nikto确定一个问题,很值得我们深究到底,因为全世界的每个黑客都可以轻易的找到相同的问题,另一方面,如果nikto什么也没找到,也不代表就不存在安全问题
随着你的安全测试变的成熟,你从nikto的扫描中得到的收益将越来越少。
转载请注明,原文转自 http://blog.csdn.net/fly_heart_yuan/article/details/6799043
九 参考资料
http://cirt.net/nikto2-docs/
- Nikto
- Nikto
- Nikto
- Nikto使用方法
- nikto 使用
- Nikto Tutorial
- Nikto Can't locate nikto.pl line89
- nikto 2.1 coming
- [网站扫描]Nikto
- nikto源码分析
- nikto扫描网站漏洞
- Nikto web server scanner
- Nikto+Wapiti自动化扫描
- nikto使用方法笔记
- kali nikto的漏洞扫描
- 漏洞扫描工具—nikto
- Web服务评估工具Nikto
- 漏洞扫描工具nikto使用心得
- pnp4nagios的安装和配置
- (一)Android框架中的设计模式(读书笔记)
- freemarker凌乱的知识点
- js伪分页
- 正确使用#include和前置声明(forward declaration)
- Nikto
- _BLOCK_TYPE_IS_VALID
- 使用JCShell创建/删除辅助安全域
- leetcode之 median of two sorted arrays
- hibernate缓存:一级缓存和二级缓存
- 微信公众号接口权限表汇总
- 项目时间管理中活动与工作包的区别
- Linux下安装Moodle2.8
- Linux下软件安装方法总结