进行渗透测试之前,最重要的一步就是信息收集,在这个阶段,我们要尽可能
地收集目标组织的信息。所谓“知己知彼,百战不殆”,我们越是了解测试目标,测试 的工作就越容易。在信息收集中,最主要的就是收集服务器的配置信息和网站的敏感信 息,其中包括域名及子域名信息、目标网站系统、CMS 指纹、目标网站真实IP、开放 的端口等。换句话说,只要是与目标网站相关的信息,我们都应该去尽量搜集。
1.1 收集域名信息
知道目标的域名之后,我们要做的第一件事就是获取域名的注册信息,包括该
域名的DNS服务器信息和注册人的联系信息等。域名信息收集的常用方法有以下这几 种。
1.1.1 Whois查询
Whois 是一个标准的互联网协议,可用于收集网络注册信息,注册的域名、IP
地址等信息。简单来说,Whois 就是一个用于查询域名是否已被注册以及注册域名的详 细信息的数据库(如域名所有人、域名注册商)。在Whois 查询中,得到注册人的姓名 和邮箱信息通常对测试个人站点非常有用,因为我们可以通过搜索引擎和社交网络挖掘 出域名所有人的很多信息。对中小站点而言,域名所有人往往就是管理员。
在Kali系统中,Whois 已经默认安装,只需输入要查询的域名即可,如图1-1 所示。
图1-1 Kali下的Whois查询
在线Whois查询的常用网站有爱站工具网 (站长工具_whois查询工具_爱站网)、 站长之家 (http:/ /whois.chinaz.com ) 和VirusTotal ( https:/ /
www.virustotal.com), 通过这些网站可以查询域名的相关信息,如域名服务商、域 名拥有者,以及他们的邮箱、电话、地址等。
1.1.2备案信息查询
网站备案是根据国家法律法规规定,需要网站的所有者向国家有关部门申请的
备案,这是国家信息产业部对网站的一种管理,为了防止在网上从事非法的网站经营活 动的发生。主要针对国内网站,如果网站搭建在其他国家,则不需要进行备案。
常用的网站有以下这两个。
●ICP备案查询网: http://www.beianbeian.com。
●天眼查:天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统。
1.2收集敏感信息
Google 是世界上最强的搜索引擎之一,对一位渗透测试者而言,它可能是一
款绝佳的黑客工具。我们可以通过构造特殊的关键字语法来搜索互联网上的相关敏感信 息。下面列举了一些Google 的常用语法及其说明,如表1-1所示。
表1-1 Google 的常用语法及其说明
关键字 | 说 明 |
Site | 指定域名 |
Inurl | URL中存在关键字的网页 |
Intext | 网页正文中的关键字 |
Filetype | 指定文件类型 |
Intitle | 网页标题中的关键字 |
link | link:baidu.com即表示返回所有和baidu.com做了链接的URL |
Info | 查找指定站点的一些基本信息 |
cache | 搜索Google里关于某些内容的缓存 |
举个例子,我们尝试搜索一些学校网站的后台,语法为“site:edu.cn
intext:后台管理”,意思是搜索网页正文中含有“后台管理”并且域名后缀是edu .cn 的网站,搜索结果如图1-2所示。
site edu cn intext 后台管理
全部 图片 新闻 视频 地图 更多
找到约193.000条结果(用时0.40秒)
欢迎登录后台管理系统
www.med tsinghua edu cn/MSLogin?method=18
欢迎登录后台管理界面平台.学院首页.验证码着不清,换一张.版权所有2016诺滨科技有
网 站管 理后 台
gym pku edu.cn/?c=admin
您需要首先登录,才能使用后台管理系统。用户名: .密码:验证码:金方时代○版书 线:010-51654321.
后台管理系统
www.hall tsinghua edu.cn/sys
后台管理系统.账户:密码:登录.○Copyright 2013后台管理系统.
欢迎登录后台管理系统 -MC Lab
mclabeic.hust edu cn/MCWebDisplay/ShowLogin htmi?height=120.width=400 v 欢迎登录后台管理系统,用户名:密码:
欢 迎 登录 后台 管 理 系 统
mce njtecheducnvadmin_login htm
欢迎登录后台管理平台.回善页,最佳分辨车1024°768及以上,需要FLASH, 推荐浏览器E 360,chrome
图1-2搜索敏感信息
可以看到利用Google搜索,我们可以很轻松地得到想要的信息,还可以用它
来收集数据库文件、SQL注入、配置信息、源代码泄露、未授权访问和robots.txt等敏 感信息。
当然,不仅是Google搜索引擎,这种搜索思路还可以用在百度、雅虎、Bing Shodan 等搜索引擎上,其语法也大同小异。
www.qianani.com
另外,通过Burp Suite的Repeater功能同样可以获取一些服务器的信息,如
运行的Server类型及版本、PHP 的版本信息等。针对不同的Server,可以利用不同的 漏洞进行测试,如图1-3所示。
图1-3服务器的配置信息
除此之外,也可以尝试在GitHub上寻找相关敏感信息,如数据库连接信息、 邮箱密码、 uc-key、阿里的osskey, 有时还可以找到泄露的源代码等。
读者可以通过乌云漏洞表 (https://wooyun.shuimugan.com) 查询历史 漏洞信息。
1.3收集子域名信息
子域名也就是二级域名,是指顶级域名下的域名。假设我们的目标网络规模比
较大,直接从主域入手显然是很不理智的,因为对于这种规模的目标, 一般其主域都是 重点防护区域,所以不如先进入目标的某个子域,然后再想办法迂回接近真正的目标, 这无疑是个比较好的选择。那么问题来了,怎样才能尽可能多地搜集目标的高价值子域 呢?常用的方法有以下这几种。
1.子域名检测工具
用于子域名检测的工具主要有Layer子域名挖掘机、K8、wydomain、
Sublist3r、dnsmaper、subDomainsBrute、Maltego CE等。笔者重点推荐Layer子
域名挖掘机、Sublist3r和subDomainsBrute。
Layer子域名挖掘机的使用方法比较简单,在域名对话框中直接输入域名就可
以进行扫描,它的显示界面比较细致,有域名、解析IP 、CDN列表、Web 服务器和网 站状态,如图1-4所示,这些对安全测试人员来说非常重要。
uyr子域名挖理们42记求概
城名:lai 该口:80.40 ☑扫 能 口☑服 务 器 值 息 : F - 1 1 2 2 0 . 2 0 填 程 : 全 速 | ☑秋 章☑口 启动 | |||||
域名 析 D 开修璃口 口服务器 | ||||||
lh 111.206.223.10% mpm/1.4.1 | ||||||
omm haidt.e 111.206.40.12 80 pitt | ||||||
1.kaih ee 60.136.100.115 0 440 e | ||||||
020.hijis 01eaijing | laih s baijis | haide.em | 112.40.240.40,123.125.112. 12.125.112.8112.00.240.40 | 80 40 | e | |
100.tih.s 100wwmi jisse ahm 1111.lsik.a 1118.lsids a 123.laids aa 1230%il 138 jise al 2000griag hal a | 100.140.131.30 122.125.112.90,220.181.67.143,111.13.12.253.110.75.210.104 10.125.112.6.163.37.28.31 1.41.2.0 0.138.109.121.61.136.162.128 100.140.131.1 122.125.112.90,220.181.67.143.111.1212.253,118.8.219.104 180.149.131.30 | 80 00 0 440 0 443 440 80 00 60 | mm/1.4.1 管勒失购 ia Ma Ma/1.0.6. pim/1.4.1 联取失缴 pim/1.4.1 |
min kik a
图1-4 Layer子域名挖掘机
subDomainsBrute 的特点是可以用小字典递归地发现三级域名、四级域名, 甚至五级域名等不容易被探测到的域名。执行该工具的命令如下所示。
python subDomainsbrute.py xxxx.com
Sublist3r也是一个比较常用的工具,它能列举多种资源,如在Google 、
Yahoo、Bing、Baidu 和Ask等搜索引擎中可查到的子域名,还可以列出Netcraft、 VirusTotal、ThreatCrowd、DNSdumpster 和Reverse DNS查到的子域名。