安全扫描工具nikto简单使用

安全扫描工具nikto简单使用

简介

Nikto是一款开源的(GPL)网页服务器扫描器,它可以对网页服务器进行全面的多种扫描,包含超过3300种有潜在危险的文件/CGIs;超过625种服务器版本;超过230种特定服务器问题。扫描项和插件可以自动更新(如果需要)。基于Whisker/libwhisker完成其底层功能。

站点
https://cirt.net/Nikto2

github源码
https://github.com/sullo/nikto

使用手册
https://cirt.net/nikto2-docs

docker极速安装

官方说安装程序之前要装好Perl, Perl Modules, OpenSSL, LibWhisker 或者其他依赖,对于使用者来说最麻烦的就是安装环境依赖了,最近一直在尝试docker部署各种公共服务,果断看下docker上有没有现成环境拿来用

# docker search nikto
NAME                  DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
k0st/alpine-nikto     Nikto web scanner on Alpine (size: ~50 MB)      2                    [OK]
kenney/nikto          Image with nikto-2.1.5 that is useful for ...   2
activeshadow/nikto                                                    0                    [OK]
infoslack/nikto                                                       0                    [OK]
adamoss/nikto         this is nikto with ssl support for X86          0
awilson/hydra-nikto   Built on Ubuntu Trusty, has THC-Hydra and ...   0 
 

选了kenney/nikto拿来用,在装有docker的机器上拉取镜像

docker pull kenney/nikto
docker inspect kenney/nikto

发现这个镜像的启动命令是bash,说明是一个脚本型的镜像,而不是服务型的镜像。

        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "FILES=nikto-2.1.5"
        ],
        "Cmd": [
            "bash"
        ],
 

这个镜像实际上提供好了环境和安装好的脚本,使用者要做的就是直接将执行命令传过去,如下简单示例,指定host和端口进行默认的扫描

docker run --rm -t kenney/nikto:latest nikto -h www.163.com -p 443
 

这里的–rm指的是执行完清理容器,这样就不会有日志什么的残留在主机上

等待一会可以看到结果输出

# docker run --rm -t kenney/nikto:latest nikto -h www.163.com -p 443
- Nikto v2.1.5
---------------------------------------------------------------------------
+ Target IP:          122.228.237.158
+ Target Hostname:    www.163.com
+ Target Port:        443
---------------------------------------------------------------------------
+ SSL Info:        Subject: /C=CN/O=Sinorail Certification Authority/OU=\x94\xC1\x8D\xEF[\xA2b7g\x0DR\xA1N-_\xC3/CN=kyfw.12306.cn
                   Ciphers: ECDHE-RSA-AES256-GCM-SHA384
                   Issuer:  /C=CN/O=Sinorail Certification Authority/CN=SRCA
+ Start Time:         2015-11-01 09:19:38 (GMT0)
---------------------------------------------------------------------------
+ Server: Cdn Cache Server V2.0
+ The anti-clickjacking X-Frame-Options header is not present.
+ Uncommon header ‘x-via‘ found, with contents: 1.0 czdx90:88 (Cdn Cache Server V2.0), 1.0 wenzhoudianxin53:10 (Cdn Cache Server V2.0)
+ No CGI Directories found (use ‘-C all‘ to force check all possible dirs)
+ "robots.txt" retrieved but it does not contain any ‘disallow‘ entries (which is odd).
+ Hostname ‘www.163.com‘ does not match certificate‘s CN ‘kyfw.12306.cn‘
+ /kboard/: KBoard Forum 0.3.0 and prior have a security problem in forum_edit_post.php, forum_post.php and forum_reply.php
+ /lists/admin/: PHPList pre 2.6.4 contains a number of vulnerabilities including remote administrative access, harvesting user info and more. Default login to admin interface is admin/phplist
+ /ssdefs/: Siteseed pre 1.4.2 has ‘major‘ security problems.
+ /sshome/: Siteseed pre 1.4.2 has ‘major‘ security problems.
+ /tiki/tiki-install.php: Tiki 1.7.2 and previous allowed restricted Wiki pages to be viewed via a ‘URL trick‘. Default login/pass could be admin/admin
 

简单命令说明

Nikto扫描最基本的就是需要主机目标IP、主机端口。默认扫描的是80端口。扫描主机目标IP地址可以使用选项-h(host),指定端口可以使用选项-p(port)。如下所示:

  perl nikto.pl –h 192.168.0.1 –p 443
 

Nikto也可以同时扫描多个端口,使用选项-p(port),可以扫描一段范围(比如:80-90),也可以扫描多个端口(比如:80,88,90)。下面扫描主机的80/88/443端口,如下所示:

  Perl nikto.pl –h 192.168.0.1 –p 80,88,443
 

如果运行Nikto的主机是通过HTTP proxy来访问互联网的,也可以使用代理来扫描,使用选项-u(useproxy)。下面将通过HTTP proxy来扫描,

Nikto的升级可以通过从http://updates.cirt.net/网站下载来更新插件和数据库,也可以通过-update的命令来更新插件和数据库:如下所示:

Perl nikto.pl –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

      更新插件和数据库

查看结果

将本地目录挂载到容器中,将结果输出到该目录,使得我们能在运行结束后拿到结果

docker run -v /home/root/data/:/root --rm -t kenney/nikto:latest nikto -h c.163.com -p 443 -o /root/result.html -F htm
 

运行完后查看主机目录

/home/root/data# ls -lrt
total 8
drwxr-xr-x 2 root root 4096 Nov  1 16:06 log
-rw-r--r-- 1 root root 3825 Nov  1 19:04 result.html
 

结果如下

时间: 2024-08-06 21:33:23

安全扫描工具nikto简单使用的相关文章

小白学习安全测试(三)——扫描工具-Nikto使用

扫描工具-Nikto #基于WEB的扫描工具,基本都支持两种扫描模式.代理截断模式,主动扫描模式 手动扫描:作为用户操作发现页面存在的问题,但可能会存在遗漏 自动扫描:基于字典,提高速度,但存在误报和触发警告 #参考书:Web_Penetration_Testing_with_Kali_Linux Nikto[纯主动型] http://blog.csdn.net/fly_heart_yuan/article/details/6799043 Nikto 是一款Perl语言开发的开源代码的.功能强大

小白日记28:kali渗透测试之Web渗透-扫描工具-Nikto

扫描工具-Nikto #WEB渗透 靶机:metasploitable 靶场:DVWA[默认账号/密码:admin/password] #新手先将DVWA的安全性,调到最低,可容易发现漏洞 侦察[减少与目标系统交互] Httrack:将WEB可下载的页面下载到本机,再进行本地检查[kali下安装] ##可到此网站获取代理:hidemyass.com[免费代理需小心] 扫描工具-Nikto #基于WEB的扫描工具,基本都支持两种扫描模式.代理截断模式,主动扫描模式 手动扫描:作为用户操作发现页面存

web扫描工具-Nikto介绍与使用

Nikto Perl语言开发的开源Web安全扫描器 web扫描模式:截断代理主动扫描 可以扫描的方面:软件版本搜索存在安全隐患的文件服务器配置漏洞WEB Application层面的安全隐患避免404误判-很多服务器不尊从RFC标准,对于不存在的对象返回200响应码-依据响应文件内容判断,不同扩展名的文件404响应内容不同-去除时间信息后的内容取MD5-no404(考虑速度的话,) 1.Nikto 简单使用2.Nikto-interactive(交互方式)3.设置使用 cookie 自动登录扫描

使用nikto漏洞扫描工具检测网站安全

如何使用Nikto漏洞扫描工具检测网站安全:http://trustsec.blog.51cto.com/305338/58675/ Nikto:http://baike.baidu.com/link?url=pGsl4o3DSTJHIoDT39lidhV6i6yzCxG_djbRcKZY9Wy8tnZj29kzK62S0yGqvZnwTv6upXbX4vrPhgfqOQPqcq

【收藏】十大Webserver漏洞扫描工具

如今有很多消息令我们感到Web的危急性,因此,当前怎样构建一个安全的Web环境成为网管员和安全管理员们义不容辞的责任.可是巧妇难为无米之炊,该选择哪些安全工具呢? 扫描程序能够在帮助造我们造就安全的Web网站上助一臂之力,也就是说在黑客"黑"你之前,先測试一下自己系统中的漏洞.我们在此推荐十大Web漏洞扫描程序,供您參考. 1. Nikto 这是一个开源的Webserver扫描程序,它能够对Webserver的多种项目(包含3500个潜在的危急文件/CGI,以及超过900个server

wwwscan网站目录文件批量扫描工具

准备一个比赛样题里面给的一个扫描的工具: 不知道怎么用就上网百度了一下果然有关于这个软件的两篇介绍(感觉写的很好),第一篇介绍的应该和我的工具一样,也给了例子(现在Google不能访问了)和参数介绍,第二篇作者可能自己"升级"过软件也提供了下载地址.但是有个问题是:我机器上跑感觉那些多进程.端口和超时等参数都是虚设的,我试验的结果是我的软件只要输入ip或域名就可以运行扫描. ps:直接copy 文章来源:http://blog.chinaunix.net/uid-26726420-id

告别脚本小子【编写端口扫描工具】

前言Windows系统默认开放了很多端口,通常这些端口意味着该主机运行着大家都知道的服务,比如TCP端口21-FTP服务,TCP端口80-HTTP服务,有些服务就有可能存在公开的漏洞,因此可以说主机上每一个开放的端口都可能成为一条入侵的捷径.当然,网上存在很多端口扫描工具,但是我们总不能只知道使用别人的工具,一是这些工具别人编写的时候有没有加入后门,二是如果只会用别人的工具,最终也只能是一个脚本小子,所以我们自己来编写一款实用的端口扫描工具. 一.基础知识 1.1.线程 线程,有时被称为轻量级进

端口扫描工具

简单的多线程端口扫描工具 可以接收IP地址作为参数,如果不接参数,则默认扫描本机的端口 1 #!/usr/bin/python 2 3 import socket 4 import time 5 import argparse 6 import threading 7 8 def arg_process(): 9 argparser=argparse.ArgumentParser(description="Port Scaner") 10 argparser.add_argument(

Web安全扫描工具-Arachni

Arachni是一个多功能.模块化.高性能的Ruby框架,旨在帮助渗透测试人员和管理员评估web应用程序的安全性.同时Arachni开源免费,可安装在windows.linux以及mac系统上,并且可导出评估报告. 一.Arachni下载与启动,以LInux环境为例 下载地址:http://www.arachni-scanner.com/download/ 解压文件arachni-1.5.1-0.5.12-darwin-x86_64.tar.gz,然后进入arachni-1.5.1-0.5.12