在渗透测试中,若我们需要对目标进行数据收集,以期得到目标存在的漏洞时,我们就需要一款优秀的扫描工具了。说到这里,或许会有很多看官会说:“真正的大佬进行渗透测试都不需要扫描器的啊,你这只是给小白说的吧。”其实这是不对的,无论是大佬还是小白,在进行渗透测试时都是需要对目标进行信息收集,这也是渗透测试标准中7个步骤之一,毕竟你总不可能啥都不知道就对着目标一顿输出吧。。。
所以,真正的区别只是工具使用哪一个?使用的频率而已。
nikto是一个基于Perl语言开发的开源web安全扫描器,可以扫描搜索存在安全隐患的文件、服务器配置漏洞、WEB Application层面的安全隐患,能在230多种服务器上扫描出 2600多种有潜在危险的文件、CGI及其他问题。Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的 http模式等。
在渗透测试标准中,我们共有7个步骤前期交互→情报收集→威胁建模→漏洞分析→渗透攻击阶段→后渗透测试阶段→渗透测试报告,而利用扫描器进行扫描则正处于第二个步骤中,你信息收集的结果很大一部分程度将决定你后续步骤的效果,那么这时,一款优秀的扫描器nikto就显得尤为重要了
直接输入 nikto 命令即可查看简单的帮助信息
nikto
# 查看帮助信息
若我们需要查看详细的帮助信息也可以输入nikto -H或 man nikto命令
man nikto
#查看详细帮助信息
nikto -H
#查看详细帮助信息
在每次使用nikto前我们可以使用 nikto -update升级更新一下插件
nikto -update
#升级插件
nikto会通过大量插件来进行扫描,我们可以使用nikto -list-plugins 来查看这些插件的信息
nikto -list-plugins
#查看插件已有信息
使用nikto -V来查看工具和插件的版本
nikto -V
#查看工具和版本信息
我们可以使用nikto -host 目标ip(/文件)进行扫描
nikto -host http://192.168.254.129/dvwa/
#对192.168.254.129下的/dvwa/目录进行扫描
除了常规扫描,也可以在后面接 -port 端口号 指定对应端口进行扫描
nikto -host 192.168.254.129 -port 80
#指定扫描192.168.254.129目标的80端口
同样,可以指定SSL协议,进行HTTPS扫描
nikto -host www.baidu.com -port 443 -ssl
#指定SSL协议对www.baidu.com进行HTTPS的扫描
而如果我们只需要扫描某个网站下的子目录,我们也可以使用-c /目录 进行指定目录的扫描
nikto -host http://192.168.254.129 -c /dvwa
#指定对http://192.168.254.129网站下的dvwa子目录进行扫描
如果我们有多个目标需要扫描,我们可以将这些目标统统放入一个文档中,利用nikto -host +文本的方式进行多个目标的扫描
nikto -host list.txt
#扫描list文档里的目标
同时,我们也可以配合Nmap进行统一网段开放相应端口的目标利用管道进行逐个扫描
nmap -p80 192.168.254.0 -oG - | nikto -host -
#利用nmap扫描192.168.254.0网段下所有开启80端口的ip,并通过管道输出给nikto,使nikto自动扫描这些ip
知道有些很刑的看官有时不想暴露自己真实地址,nikto同样支持使用代理的方式进行扫描只需利用
-useproxy参数即可
nikto -host https://www.baidu.com -useproxy http://localhost:8087
#nikto使用谷歌的某个代理扫描百度站点
nikto在执行扫描任务过程中我们可以通过一些操作,查看扫描的一些进度信息,具体操作如下:
Nikto-interactive :
操作 | 说明 | 注释 |
---|---|---|
V | verbose mode on/off | 显示详细信息(verbose) 再按一次V继续扫描 |
d | debug mode on/off | 调试信息(及其详细信息) |
e | error reporting on/off | 显示错误信息 |
p | progress reporting on/off | 显示扫描进度 |
r | redirect display on/off | 显示重定向信息 |
c | cookie display on/off | 显示cookie |
a | auth display on/off | 身份认证过程显示出来 |
q | quit | 退出 |
N | next host | 扫描下一个目标 |
p | Pause | 暂停扫描 |
我们可以 vi /etc/nikto.conf 通过vi编辑器来修改nikto配置文件,来实现如默认使用代理、自动使用指定cookie等功能
在nikto扫描过程中我们可以通过设置参数 -evasion +参数 来设置规则绕过IDS检测,nikto共提供了8种规则给我们使用,我们可以选择其中一种或多种进行使用
nikto -host http://192.168.254.129/dvwa/ -evasion 167
#使用第一、六、七种规则绕过IDS检测
-evasion参数表:
evasion参数表
参数 | 说明 | 注释 |
---|---|---|
1 | Random URI encoding(non UTF8) | 随机URL编码(非UTF-8方式) |
2 | DireCctorV self-reference(/./) | 自选择路径(/./) |
3 | Premature URL ending | 过早结束的URL |
4 | Prgpend Long random string | 优先考虑长随机字符串 |
5 | Fake parameter | 参数欺骗 |
6 | TAB as request Spacer | 使用TAB作为命令的分隔符 |
7 | Change the case of the URL | 使用变化的URL |
8 | Use Windows directory separator(\) | 使用Windows路径分隔符"\" |
正所谓kali学得好,牢饭少不了,本文章仅为个人学习的一个简单学习记录,在此分享交流而已,还请各位看官学习后务必谨慎使用!该次学习中的一切扫描对象均为自己的靶机,请勿过度解读!重申,本文只为一次学习记录,无任何商业行为!