进行渗透测试之前,最重要的一步就是进行信息收集,在这个阶段我们要尽可能地收集目标组织的信息。其中包括域名及子域名信息、目标网站系统、CMS指纹、目标网站真实IP、开放的端口等。
Web安全标准为:OWASP;渗透测试标准为:PTES(Penetration Testing Execution Standard)。
1.1 收集域名信息
1.1.1 Whois查询
Whois是一个标准的互联网协议,可用于收集网络注册信息,注册的域名、IP地址等信息。在Kali系统中,Whois已经默认安装,只需输入要查询的域名即可。
语法:
whois 查询网址
示例如下。查询百度的域名信息。
1.1.2 查询敏感信息
可以通过Google、Shodan等搜索查询。
具体语法这里不作赘述。
1.1.3 查询子域名信息
子域名也就是二级域名,是指顶级域名下的域名。下面介绍的工具是Layer子域名挖掘机。使用方法简单,在域名对话框中直接输入域名就可以进行扫描。
示例如下。搜索百度的子域名信息。
1.2 收集端口信息
在端口渗透信息的收集中,我们最常用的扫描工具就是Nmap。
由于该处所涉知识点过多,这里不再赘述。
1.3 指纹识别
此处的指纹指的是网站CMS(Content Management System,整站系统)指纹识别、计算机操作系统及Web容器的指纹识别等。
常见的CMS有:Dedecms(织梦)、Discuz、PHPWEB、PHPWind、帝国等。
下面介绍御剑Web指纹识别。
1.3.1 御剑Web指纹识别
打开御剑Web指纹识别,右键选择【添加】,输入要识别的域名。
单击【开始】,开始扫描。扫描结束后,若扫描成功添加的项目会变成绿色,失败则变成红色。
从上图分析可得该网址使用是dedecms的应用指纹。
1.3.2 whatweb
whatweb是一款用于识别指纹的软件,kali中已经集成好了。使用起来十分简单,在命令行提示符中输入whatweb 域名
。示例如下。
上图可以看出其主要服务信息等。
1.4 收集敏感目录文件
在渗透测试中,探测Web目录结构和隐藏的敏感文件是一个必不可少的环节,从中可以获取网站的后台管理页面、文件上传界面,甚至可能扫描出网站的源代码。这里介绍DirBuster
和御剑后台扫描珍藏版
。
1.4.1 DirBuster
DirBuster
是OWASP开发的一款基于Java编写的、专门用于探测Web服务器的目录和隐藏文件。在kali中自带DirBuster,只需在命令行提示符中输入dirbuster
即可。
然后弹出软件页面如下。
填写具体内容如下。选择扫描字典为/usr/share/wordlists/dirbuster/
目录下的txt
格式文件。
1.4.2 御剑后台扫描工具
使用步骤简单,输入需要扫描的域名即可。