Web渗透测试中信息收集相关的工具整理

目录导航

项目地址:github

收集域名信息

知道目标域名之后,我们要做的第一件事情就是获取域名的注册信息,包括该域名的DNS服务器信息和注册人的联系信息等。

Whois 查询

Whois 简单来说,就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商、域名注册日期和过期日期、DNS等)。通过域名Whois服务器查询,可以查询域名归属者联系方式,以及注册和到期时间。

Web渗透测试中信息收集相关的工具整理

备案信息查询

国内网站注册需要向国家有关部门申请备案,防止网站从事非法活动,而国外网站不需要备案2333。

Web渗透测试中信息收集相关的工具整理

信用信息查询

Web渗透测试中信息收集相关的工具整理
Web渗透测试中信息收集相关的工具整理

IP反查站点的站

在线网站

Dnslytics

利用Dnslytics反查IP可以得到如下信息

IP information
Network information
Hosting information
SPAM database lookup
Open TCP/UDP ports
Blocklist lookup
Whois information
Geo information
Country information
Update information

利用Dnslytics反查域名可以得到如下信息

Domain and Ranking Information
Hosting Information{
	A / AAAA Record
	NS Record
	MX Record
	SPF Record
}
Web Information
Whois Information

浏览器插件

通过Google、FireFox等插件的使用,收集域名信息

myip.ms

Web渗透测试中信息收集相关的工具整理
Web渗透测试中信息收集相关的工具整理

TCPIPUTILS

Web渗透测试中信息收集相关的工具整理
Web渗透测试中信息收集相关的工具整理

DNSlytics

Web渗透测试中信息收集相关的工具整理
Web渗透测试中信息收集相关的工具整理

收集相关应用信息

微信公众号&微博

天眼查

根据前面获取的企业名称可以获取目标企业的微信公众号、微博、备案站点、软件著作权等信息。

Web渗透测试中信息收集相关的工具整理

微信公众号

Web渗透测试中信息收集相关的工具整理

微博

Web渗透测试中信息收集相关的工具整理

APP

七麦数据

通过当前APP查询同开发商应用,得到目标所有APP应用

Web渗透测试中信息收集相关的工具整理

AppStore

通过当前APP查询同开发商应用,得到目标所有APP应用

Web渗透测试中信息收集相关的工具整理

收集子域名信息

子域名也就是二级域名,是指顶级域名下的域名。假设我们的目标网络规模比较大,直接从主域入手显然是很不理智的,因为对于这种规模的目标,一般其主域都是重点防护区域,所以不如先进入目标的某个子域,然后再想办法迂回接近真正的目标,这无疑是个比较好的选择。那么问题来了,怎样才能尽可能多地搜集目标的高价值子域呢?常用的方法有以下这几种。

在线平台

第三方平台查询

主要是一些第三方网站和一些博主提供的服务

权重综合查询

Web渗透测试中信息收集相关的工具整理

全国政府网站基本数据库

Web渗透测试中信息收集相关的工具整理

IP反查绑定域名网站

IP关联域名,大部分网站一个IP多个域名

资产搜索引擎

google、shodan、FOFA、zoomeye

Google语法查询

搜索子域名 “site:xxxxx”

site:baidu.com
Web渗透测试中信息收集相关的工具整理

FOFA语法查询

搜索子域名 “domain:xxxxx”

domain="baidu.com"
Web渗透测试中信息收集相关的工具整理

工具枚举

常用子域名工具如下(Github上都可搜到)

OneForAll
Layer
Sublist3r
subDomainsBrute
K8
wydomain
dnsmaper
dnsbrute
Findomain
fierce等

个人推荐:OneForAllLayerSublist3rsubDomainsBrute

OneForAll

OneForAll是一款功能强大的子域收集工具,拥有多个模块和接口扫描,收集子域信息很全,包括子域、子域IP、子域常用端口、子域Title、子域Banner、子域状态等。

项目地址:https://github.com/shmilylty/OneForAll

子域名收集:python3 oneforall.py --target=target.com run

Web渗透测试中信息收集相关的工具整理

Layer

Layer子域名挖掘机的使用方法比较简单,在域名对话框中直接输入域名就可以进行扫描,它的显示界面比较细致,有域名、解析IP、开放端口、Web服务器和网站状态等

Web渗透测试中信息收集相关的工具整理

subDomainsBrute

subDomainsBrute的特点是可以用小字典递归地发现三级域名、四级域名,甚至五级域名等不容易被探测到的域名。

项目地址:https://github.com/lijiejie/subDomainsBrute

子域名收集:python subDomainsbrute.py xtarget.com

Sublist3r

Sublist3r也是一个比较常用的工具, 它能列举多种资源,如在Google、Yahoo、 Bing、 Baidu和Ask等搜索引擎中可查到的子域名,还可以列出Netcraft、VirusTotal、ThreatCrowd、 DNSdumpster、SSL Certificates、和Reverse DNS查到的子域名。

项目地址:https://github.com/aboul3la/Sublist3r

子域名收集:python sublist3r.py -d target.com -b -t 50 -p 80,443,21,22

Web渗透测试中信息收集相关的工具整理

证书透明度公开日志枚举

证书透明度(Certificate Transparency, CT)是证书授权机构(CA) 的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名、子域名和邮件地址, 这些也经常成为攻击者非常希望获得的有用信息。查找某个域名所属证书的最简单的方法就是使用搜索引|擎搜索一些公开的CT日志。

在线第三方平台查询

crt:
https://crt.sh/?q=baidu.com
Web渗透测试中信息收集相关的工具整理
censys:
https://www.censys.io/certificates?q=baidu.com
Web渗透测试中信息收集相关的工具整理

工具枚举查询

通过工具可以调用各个证书接口进行域名查询

常用工具

Findomain
Sublist3r(SSL Certificates)等

Findomain

Findomain不使用子域名寻找的常规方法,而是使用证书透明度日志来查找子域,并且该方法使其工具更加快速和可靠。该工具使用多个公共API来执行搜索:

Certspotter
Crt.sh
Virustotal
Sublist3r
Facebook 
Spyse (CertDB)
Bufferover
Threadcrow
Virustotal with apikey 

项目地址:https://github.com/Edu4rdSHL/findomain

子域名收集:findomain -t target.com

使用所有API搜索子域并将数据导出到CSV文件:findomain -t target.com -a -o csv

DNS历史解析

DNS域传送漏洞

目前来看”DNS域传送漏洞”已经很少了。

DNS记录分类

常见的DNS记录有以下几类:

A记录       IP地址记录,记录一个域名对应的IP地址
AAAA记录    IPv6地址记录,记录一个域名对应的IPv6地址
CNAME记录   别名记录,记录一个主机的别名
MX记录      电子邮件交换记录,记录一个邮件域名对应的IP地址
NS记录      域名服务器记录 ,记录该域名由哪台域名服务器解析
PTR记录     反向记录,也即从IP地址到域名的一条记录
TXT记录     记录域名的相关文本信息

DNS注册信息

Whois查询

DNS域传送漏洞原理

DNS服务器分为:主服务器备份服务器缓存服务器。在主备服务器之间同步数据库,需要使用“DNS域传送”。域传送是指备份服务器从主服务器拷贝数据,并用得到的数据更新自身数据库。

若DNS服务器配置不当,可能导致攻击者获取某个域的所有记录。造成整个网络的拓扑结构泄露给潜在的攻击者,包括一些安全性较低的内部主机,如测试服务器。同时,黑客可以快速的判定出某个特定zone的所有主机,收集域信息,选择攻击目标,找出未使用的IP地址,绕过基于网络的访问控制。

DNS域传送漏洞检测

nslookup

基本过程

1) nslookup             #进入交互式shell
2) server dns.xx.yy.zz  #设定查询将要使用的DNS服务器
3) ls xx.yy.zz          #列出某个域中的所有域名
4) exit                 #退出

漏洞检验-不存在漏洞

> nslookup
Server:  lkwifi.cn
Address:  192.168.68.1

*** lkwifi.cn can't find nslookup: Non-existent domain
> server ss2.bjfu.edu.cn
Default Server:  ss2.bjfu.edu.cn
Address:  202.204.112.67

> ls bjfu.edu.cn
[ss2.bjfu.edu.cn]
*** Can't list domain bjfu.edu.cn: Query refused
The DNS server refused to transfer the zone bjfu.edu.cn to your computer. If this
is incorrect, check the zone transfer security settings for bjfu.edu.cn on the DNS
server at IP address 202.204.112.67.

> exit

漏洞检验-存在漏洞

> nslookup
> server dns1.xxx.edu.cn
> ls xxx.edu.cn
Web渗透测试中信息收集相关的工具整理
Web渗透测试中信息收集相关的工具整理

nmap

利用nmap漏洞检测脚本”dns-zone-transfer”进行检测

nmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=xxx.edu.cn -p 53 -Pn dns.xxx.edu.cn
--script dns-zone-transfer 表示加载nmap漏洞检测脚本dns-zone-transfer.nse,扩展名.nse可省略

--script-args dns-zone-transfer.domain=xxx.edu.cn 向脚本传递参数,设置列出某个域中的所有域名

-p 53 设置扫描53端口

-Pn 设置通过Ping发现主机是否存活
Web渗透测试中信息收集相关的工具整理

dig

使用说明 dig -h

漏洞测试

dig @dns.xxx.edu.cn axfr xxx.edu.cn

axfr 是q-type类型的一种: axfr类型是Authoritative Transfer的缩写,指请求传送某个区域的全部记录。

Web渗透测试中信息收集相关的工具整理

查找真实IP

如果挖掘的目标购买了CDN服务,可以直接ping目标的域名,但得到的并非真正的目标Web服务器,只是离我们最近的一台目标节点的CDN服务器,这就导致了我们没法直接得到目标的真实IP段范围。

CDN简介

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

国内外CND

国内常见CDN

阿里云
腾讯云
百度云
网宿科技(ChinanNet Center)
蓝汛
金山云
UCloud
网易云
世纪互联
七牛云
京东云等

国外常见CDN

Akamai(阿卡迈)
Limelight Networks(简称LLNW)
AWS Cloud(亚马逊)
Google(谷歌)
Comcast(康卡斯特)

判断目标是否存在CDN

由于CDN需要代价,一般小企业很大几率不会存在CDN服务。

假如一些企业存在CDN服务,那该如何寻找其真实IP呢,往下看,常见几种手法

Ping目标主域

通常通过ping目标主域,观察域名的解析情况,以此来判断其是否使用了CDN

对京东和阿里还有一家电器企业进行ping测试,观察域名的解析情况,可以看到京东和阿里都采用了自家CDN,而那个电器企业没有CDN服务

C:\Users\Qftm>ping www.jd.com

C:\Users\Qftm>ping www.alibaba.com

C:\Users\Qftm>ping www.dfle.com.cn
Web渗透测试中信息收集相关的工具整理

Nslookup

不同DNS域名解析

不同DNS域名解析情况对比,判断其是否使用了CDN

不同DNS解析结果若不一样,很有可能存在CDN服务

C:\Users\Qftm>nslookup www.dfle.com.cn 8.8.8.8

C:\Users\Qftm>nslookup www.dfle.com.cn 114.114.114.114
Web渗透测试中信息收集相关的工具整理
λ  Qftm >>>: nslookup www.baidu.com 8.8.8.8

λ  Qftm >>>: nslookup www.baidu.com 114.114.114.114
Web渗透测试中信息收集相关的工具整理

nslookup默认解析

若解析结果有多个,很有可能存在CDN,相反,若解析结果有一个,可能不存在CDN(不能肯定)

Web渗透测试中信息收集相关的工具整理

全国Ping

利用全国多地区的ping服务器操作,然后对比每个地区ping出的IP结果,查看这些IP是否一致, 如果都是一样的,极有可能不存在CDN。如果IP大多不太一样或者规律性很强,可以尝试查询这些IP的归属地,判断是否存在CDN。

在线网址

站长工具

测试目标:www.jd.com

Web渗透测试中信息收集相关的工具整理

17CE

测试目标:www.baidu.com

Web渗透测试中信息收集相关的工具整理

IPIP

Web渗透测试中信息收集相关的工具整理

工具查询

这里工具只能作为辅助,有一定误报的概率,只能作为参考

Cdnplanet

Web渗透测试中信息收集相关的工具整理

绕过CDN查找真实IP

在确认了目标确实用了CDN以后,就需要绕过CDN寻找目标的真实IP,下面介绍一些常规的方法。