为什么学习这节课程
在划定了测试范围之后,就需要进入信息收集阶段。在这个阶段,渗透人员需要使用各种公
共资源尽可能地获取测试目标的相关信息。他们从互联网上搜集信息的渠道主要有:
论坛、公告板、新闻组、媒体文章、博客、社交网络、其他商业或非商业性网站、GitHub 等
此外,他们也可以借助各种搜索引擎中获取相关数据,如谷歌、雅虎、MSN 必应、百度等。
收集信息主要包括 DNS 服务器、路由关系、whois 数据库、电子邮件地址、电话号码、个
人信息以及用户账户。收集信息越多,渗透测试成功的概率越高。
本课程以[testfire.net]为目标,testfire.net 是 IBM 公司为了演示旗下比较有名的 Web 漏洞
扫描器 AppScan 的强大功能所搭建的模拟银行网站,所以上面会有很多常见的 Web 安全
漏洞
类似的测试网站,http://wwww.vulnweb.com
一、DNS 信息
在收集 DNS 信息的时候,主要关注域名或注册商,管理员联系方式,电话和邮箱,子域名
等信息。
1.1 whois 查询
whois 是一个集成在 kali 虚拟机中的小工具
whois 工具可以用来查询域名注册信息。
whois domain
whois testfire.net
也可以通过站长之家进行 whois 查询[http://whois.chinaz.com]
除了 whois 查询以外,还可以进行反查。
邮箱反查、注册人反查、电话反查
1.2 子域名查询
可以查询子域名的网站[https://searchdns.netcraft.com/],这种方法查询大型网站比较有优势
浏览器的证书中也能查到子域名
1.3 域传送漏洞
DNS 区域传送指的是一台备用服务器使用来自主服务器的数据刷新自己的域数据库。这为
运行中的 DNS 服务提供了一定的冗余度,其目的是为了防止主域名服务器因为意外故障变
得不可用时影响到整个域名的解析。一般来说,DNS 区域传送操作只在网络中真的有备用
域名服务器的时候才有必要用到,但是许多 DNS 服务器却被错误的配置成只要有 client 发
出请求,就会像对方提供一个 zone 的数据库的详细信息,所以说允许不受信任的英特网用
户执行 DNS 区域传送操作是后果最为严重的错误配置之一。
可以使用 dig 工具来检测域传送漏洞,命令如下
代码语言:javascript复制dig axfr @dns.example.com example.com
通过域传送漏洞,得到子域名信息、子域名对应的 IP 地址
1.4 子域名爆破
准备一个字典写上所有的域名(4 个字母左右别超过 10 个)。字典中的每个单词,依次去尝
试。工具不重要,重要的是字典
工具:
1、layer(子域名挖掘机)
2、dnsrecon(kali)
代码语言:javascript复制dnsrecon -d vulnweb.com -D /root/tmp/dic/dns.dic -t brt
-d 指定域名 -D 指定字典 -t 指定模式
二、DNS2IP
通过 DNS 解析找到 IP 地址
2.1ping
非权威解答
ping testfire.net
ping baidu.com
ping www.baidu.com
2.2 nslookup
2.3 dig
dig testfire.net
dig @8.8.8.8 testfire.net 指定 dns 服务器
dig trace testfire.net 获取域名的详细解析过程
2.4 dnsenum
dnsenum testfire.net
此处推荐 dnsenum,此工具在解析域名的时候,会自动检测域传送漏洞
2.5 利用站长工具
http://tool.chinaz.com/dns/
路由追踪
2.6 CDN 加速问题
CDN 是内容分发网络
本意是进行节点缓存,是网站访问速度加快。一般情况下是没办法得到目标的网站的真实 IP
的。关于 CDN 加速可以作为一个课题。
参考资料如下:
https://www.t00ls.net/
http://www.91ri.org/6233.html
http://www.91ri.org/3563.html
三、IP 查询
3.1ip 查询
http://ip.chinaz.com/65.61.137.117
3.2 同 IP 网站查询
同一个 IP 上的网站
1.1.1.1
A B
旁站(同一个服务器上的两个网站)
1.1.1.* C 段查询
3.3IP whois 查询
3.4IP2Location
查询 IP 地址经纬度
https://www.maxmind.com/zh/home
例如:得到 IP 地址的大致经纬度(40.9476, -73.8624)
通过 GPS 查询物理位置
http://www.gpsspg.com/maps.htm
四、利用搜索引擎搜集信息
4.1Google hacking
Google 机器人,爬行全世界所有网站的内容。Google hacker 就是利用搜索引擎语法,获
取有关网站的信息。
site 指定网站
"" 包含关键字
inurl 在 url 中出现的关键字
filetype 文件类型
探索网站目录结构
代码语言:javascript复制"parent directory" site:testfire.net
搜索容易存在 sql 注入的页面
代码语言:javascript复制site:testfire.net inurl:login
搜索指定的文件类型
代码语言:javascript复制filetype pdf
搜索 phpinfo()
代码语言:javascript复制intext:"PHP Version" exit:php intest:"disabled" intext:"BuildDate" intext:"Syatem"
intext:"allow_url_fopen"
搜索 php 探针
intitle:"php 中文网 探针 2014"
五、钟馗之眼
ZoomEye 支持公网设备指纹检索和 Web 指纹检索。网站指纹包括应用名、版本、前端框
架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据等。
https://www.zoomeye.org/
搜索 iis6.0 组件
app:"Microsoft IIS httpd" ver:"6.0"
搜索开启 3389 端口的 windows 主机
port:3389 OS:windows
六、shodan
https://www.shodan.io/
搜索摄像头设备
例如:
JAWS/1.1
七、网站信息收集
收集指纹信息,Web 服务器信息
火狐插件
代码语言:javascript复制Netcraft Extension
Wappalyzer