工具简介
Nikto是一个开源的WEB扫描评估软件,可以对Web服务器进行多项安全测试,能在230多种服务器上扫描出
2600多种有潜在危险的文件、CGI及其他问题。Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的
http模式等。
官方网站
https://cirt.net/Nikto2
Github源码
https://github.com/sullo/nikto
英文文档
https://cirt.net/nikto2-docs/
功能介绍以下是Nikto的一些主要功能:
SSL支持(带有OpenSSL的Unix或带有ActiveState的Perl / NetSSL的Windows )全面的HTTP代理支持检查过时的服务器组件以纯文本,XML,HTML,NBE或CSV保存报告可使用模板自定义报告扫描服务器上的多个端口,或着通过其他工具的输出(例如nmap)扫描多个服务器LibWhisker的IDS编码技术通过标题,网站图标和文件识别已安装的软件使用Basic和NTLM进行主机身份验证子域名猜测Apache和cgiwrap用户名枚举 安装使用 Kali 安装推荐使用Kali,Kali默认已经安装Nikto
apt-get updateapt-get install nikto Docker容器安装: git clone https://github.com/sullo/nikto.gitcd niktodocker build -t sullo/nikto .# Call it without arguments to display the full helpdocker run --rm sullo/nikto# Basic usagedocker run --rm sullo/nikto -h http://www.example.com# To save the report in a specific format, mount /tmp as a volume:docker run --rm -v $(pwd):/tmp sullo/nikto -h http://www.example.com -o /tmp/out.json 源码安装Nikto使用Perl语言编写运行,请提前安装Perl语言环境
以Ubuntu的举例,启动终端并使用普通用户下载最新版本的Nikto。
wget https://github.com/sullo/nikto/archive/master.zip您可以使用存档管理器工具将其解压缩,也可以将tar和gzip与该命令一起使用。
unzip master.zipcd nikto-master / programperl nikto.pl如果执行时遇到SSL支持错误,需要执行apt install libnet-ssleay-perl安装SSL支持。
使用说明 工具使用打开Kali工具列表,点击02-漏洞扫描,选择nikto LOGO,会打开Terminal终端
Nikto帮助在终端中我们可以使用nikto 命令查看帮助信息,或者通过nikto -H 、man nikto 查看更详细的帮助信息。
Nikto 通过大量插件进行扫描,我们可以通过 nikto -list-plugins 来查看插件信息
并且可以通过nikto -V 来查看工具版本和插件版本
在终端中使用nikto -host/-h http://www.example.com进行扫描
使用命令nikto -h http://xxx.xxx.xxx.xxx -p 端口号可以指定端口进行扫描,同样可以指定SSL协议,进行HTTPS扫描。
有时候我们只要扫描网站下的某个子目录,我们可以使用-c 参数指定扫描的目录,使用-c all 可进行目录爆破,并扫描。
nikto支持多个目标进行扫描,我们将多个地址写入到文本中,通过- host参数+文本的方式进行扫描。
升级更新插件:nikto -update
扫描结果输出Nikto 可以通过下列四种格式对扫描结果进行输出:
具体命令如下:
nikto -host/-h http://www.example.com -o result.html -F htm扫描结果如图:
此外,Nikto的扫描结果可以导出为Metasploit在执行扫描时可以读取的格式,这样我们就可以使用漏洞库快速配检索数据
nikto -host/-h http://www.example.com -Format msf+ 绕过IDS检测Nikto 在扫描过程中可以使用8种规则绕过IDS检测,参数是 - evasion,具体规则如下:
随机url编码自选路径提前结束url优先考虑长随机字符串参数欺骗使用TAB作为命令分隔符使用变化的url 8,使用windows路径分隔符Nikto扫描交互参数
Nikto 在执行命令行扫描过程中提供一些操作,可以了解扫描的一些进度信息,详细参数如下:
Nikto配合Nmap扫描
Nikto 支持配合 Nmap 进行扫描 ,运行命令nmap -p80 x.x.x.x -oG - |nikto -host -
nmap扫描开放80端口的IP并通过oG选项对扫描结果输出并整理),然后通过管道符“|”将上述扫描结果导入至nikto进行扫描
使用代理扫描
扫描目标时,部分目标部署了防护设备,为避免暴露 ip可以使用代理进行扫描,nikto 支持设置代理,参数是 - useproxy。当然,需要配合其他代理工具(比如proxychains)使用,具体命令如下:
组件默认密码
nikto官网还发布了各大组件的默认密码,可以访问https://cirt.net/passwords进行查看。
有时候我们只要扫描网站下的某个子目录,我们可以使用-c 参数指定扫描的目录,使用-c all 可进行目录爆破,并扫描。
nikto支持多个目标进行扫描,我们将多个地址写入到文本中,通过- host参数+文本的方式进行扫描。
升级更新插件:nikto -update
扫描结果输出Nikto 可以通过下列四种格式对扫描结果进行输出:
具体命令如下:
nikto -host/-h http://www.example.com -o result.html -F htm扫描结果如图:
此外,Nikto的扫描结果可以导出为Metasploit在执行扫描时可以读取的格式,这样我们就可以使用漏洞库快速配检索数据
nikto -host/-h http://www.example.com -Format msf+ 绕过IDS检测Nikto 在扫描过程中可以使用8种规则绕过IDS检测,参数是 - evasion,具体规则如下:
随机url编码自选路径提前结束url优先考虑长随机字符串参数欺骗使用TAB作为命令分隔符使用变化的url 8,使用windows路径分隔符Nikto扫描交互参数
Nikto 在执行命令行扫描过程中提供一些操作,可以了解扫描的一些进度信息,详细参数如下:
Nikto配合Nmap扫描
Nikto 支持配合 Nmap 进行扫描 ,运行命令nmap -p80 x.x.x.x -oG - |nikto -host -
nmap扫描开放80端口的IP并通过oG选项对扫描结果输出并整理),然后通过管道符“|”将上述扫描结果导入至nikto进行扫描
使用代理扫描
扫描目标时,部分目标部署了防护设备,为避免暴露 ip可以使用代理进行扫描,nikto 支持设置代理,参数是 - useproxy。当然,需要配合其他代理工具(比如proxychains)使用,具体命令如下:
组件默认密码
nikto官网还发布了各大组件的默认密码,可以访问https://cirt.net/passwords进行查看。