Kali-Nikto

简介 #

Nikto 是一款开放源代码的、功能强大的 WEB 扫描评估软件,能对 web 服务器多种安全项目进行测试的扫描软件,去寻找已知有名的漏洞,能在230多种服务器上扫描出2600多种有潜在危险的文件、CGI 及其他问题,它可以扫描指定主机的 WEB 类型、主机名、特定目录、COOKIE、特定 CGI 漏洞、返回主机允许的 http 模式等等。

主要扫描内容 #

1、软件版本

2、搜索存在安全隐患的文件【如:某些web维护人员备份完后,遗留的压缩包,若被下载下来,则获得网站源码】

3、服务器配置漏洞【组件可能存在默认配置】

4、WEB Application层面的安全隐患【XSS,SQL注入等】

5、避免404误判

很多服务器不遵守RFC标准,对于不存在的对象返回200响应码

依据响应文件内容判断,不同扩展名【jsp、cji】的文件404响应内容不同

去除时间信息后的内容取MD5值

命令详解 #

nikto -update #更新数据库

nikto -list-plugins #查看插件列表

nikto -host http://192.168.1.109/dvwa/ #指定网站目录扫描

nikto -host 192.168.1.1.109 -port 80,443 #可指定多个端口【也可加-output:输出结果】,默认80端口

nikto -host host.txt #扫描指定列表的内容,多条记录

nmap -p80 192.168.1.0/24 -oG - | nikto -host - #结合nmap,对一个网段内开放了80端口的主机进行扫描

nikto -host https://www.baidu.com -useproxy http://localhost:8087 #使用代理,防止IP被封

nikto -vhost 【+域名】 #虚拟IP,区分网站【使用条件:一个ip对应多个网站,拿域名进行区分网站】

Nikto交互性参数【用于扫描过程中】 #

空格:报告当前状态

v:正在扫描的详细信息(路径,结果等) #再按v就停止

d:极其详细的信息,包括传输内容

e:错误信息

p:显示进度

r:重定向

c:cookie

a:身份认证

q:退出

N:下一个主机(用于多个IP)

P:暂停

配置文件 #

大部分需要登录进网站,才能进行扫描。

-id+ #使用http身份认证【但现在很少,现在基本上都是基于表单的一个身份认证】

我们可以通过修改Nikto配置文件,指定cookie(身份认证信息),实现身份认证。

Nikto配置文件:vim /etv/nikto.conf

#修改useagent【使用默认配置(显示Nikto工具在扫描),容易被管理员发现,所以可以进行修改】

USERAGENT=Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)

获取cookie,在配置文件中修改cookie信息【让nikto获得身份认证,进行进一步扫描】

此时,使用Nikto扫描时,都会携带cookie信息进行扫描。

扫描方法 #

普通扫描 #

nikto -host 192.168.1.2

nikto -host url.txt

端口扫描 #

nikto -host 192.168.1.2 -port 80

nito -host https://192.168.1.3 -ssl -port 443

代理扫描 #

nikto -host https://192.168.1.3 -ssl -useproxy http://127.0.0.1:8080

IDS检测绕过 #

-evasion:使用LibWhisker中对IDS的逃避技术,可使用以下几种类型

1、随机URL编码(非UTF-8方式)

2、自选路径(/./)

3、过早结束的URL

4、优先考虑长随机字符串

5、参数欺骗

6、使用TAB作为命令的分隔符

7、使用变化的URL

8、使用windows路径分隔符”\“

A 使用回车0x0d作为请请求分隔符

B 使用二进制0x0b作为请请求分隔符

niketo -host https://192.168.1.4 -ssl -port 443 -evasion 135