freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

再谈信息收集-子域名收集
2023-05-18 21:39:49
所属地 上海

在开始做渗透的时候,也许你经常会听到别人说信息收集是渗透是否成功的关键。信息收集收集真的有这样重要吗?这是当然的。

在甲方呆了一段时间,发现对于信息收集的方法也忘得差不多了,这次在做个总结。

信息收集收集什么

信息收集就是收集一切与目标有关的信息,也许一些在你起来不起眼的信息,就是你胜利的关键。一般我们可以以下几个方面进行收集:

公司信息:分支机构,投资信息

域名信息:公司备案域名,子域名

人员信息:员工姓名,邮箱

1684415415_646623b738a157a4a00f3.png!small?1684415415596

这次先来看看如何去收集公司的域名信息。

公司备案域名

在国内,域名使用以前是需要备案的,因此可以通过收集备案域名来了解公司都有哪些顶级域名。公司的备案域名可以通过一些网站来进行查询,如下面:

https://micp.chinaz.com/Handle/AjaxHandler.ashx?action=GetBeiansl&query={domain}&type=host   站长工具
https://aiqicha.baidu.com/detail/icpinfoajax?p=1&size=20&pid={公司pid}  爱企查上的备案信息

子域名

备案域名收集以后,可以去搜索都有哪些子域名。子域名的收集其实分为被动方式收集以及主动收集。

被动收集:通过搜索引擎或者http证书等方式进行收集,与目标没有交互,不会留下记录。

主动收集:通过爆破,扫描等方式,与目标有交互,可能在日志中查看到相关记录。

主动收集

1)DNS域传送漏洞

如果DNS存在域传送漏洞,可以使用这种方式,这也是收集最全以及最省力的方式,这种漏洞目前已经不多见了。

nslookup -type=ns xxxx.com (查询该域名的DNS)
nslookup server dns服务 ls domain (这种方式可以查询到是否存在DNS域传送漏洞)

1684415702_646624d6ecbc8cb22d8df.png!small?1684415703212

1684415711_646624df9c81b37759a41.png!small?1684415712072

2)爆破子域名

爆破的原理其实是通过枚举的方式来实现的,通过不断的拼接字典中的内容去枚举域名的A记录,但是该方法一般需要解决泛解析问题。比如开源工具oneforall会首先访问一个随机的并不存在的域,通过返回结果判断是否存在泛解析,确定存在泛解析以后,程序会开始不断的循环产生随机域名,去向服务器查询,将每次查询到的IP和TTL记录下来,直到大部分的IP地址出现次数都大于两次,则IP黑名单的收集结束,在得到了IP黑名单以后,oneforall接下来会将自己的字典中的每一项和要指定查询的域名进行拼接。在爆破过程中根据IP黑名单进行过滤。但这种宽泛的过滤容易导致漏报,所以oneforall将 TTL 也作为黑名单规则的一部分,评判的依据是:在权威 DNS 中,泛解析记录的 TTL 肯定是相同的,如果子域名记录相同,但 TTL 不同,那这条记录可以说肯定不是泛解析记录。

这个也是很常用的方法,对于字典的要求比较高。很多工具都实现了这种方法。如subDomainsBrute

1684415751_646625074acef3c1d1e95.png!small?1684415751451

3)站点配置文件

通过扫描站点的一些配置文件来看是否存在其它域名信息。此类文件包括跨域策略文件crossdomain.xml, sitemap文件。

1. crossdomain.xml文件直接访问crossdomain.xml路径
2. sitemap文件直接访问sitemap.xml、sitemap.txt、sitemap.html、sitemapindex.xml、sitemapindex.xml路径

4)从网站中收集

网站的网页,js等可能存在一些信息,可以通过这些去收集域名。可以用下面的工具来进行收集:

jsfinder:https://gitee.com/kn1fes/JSFinder 
Packer-Fuzzer: https://github.com/rtcatc/Packer-Fuzzer SecretFinder:https://gitee.com/mucn/SecretFinder

被动收集

1)通过第三方搜索引擎(包括浏览器以及一些网络空间搜索引擎)

搜索引擎一般会去爬取暴露在公网上的域名,可以在搜索引擎上去搜索相关的子域名信息。如baidu,bing,google。

百度(https://www.baidu.com/s):intitle=公司名称;site:xxx.com
Google(https://www.google.com/):intitle=公司名称;site:xxx.com
FOFA(https://fofa.so/) title="公司名称" ; domain="xxx.cn"
钟馗之眼(https://www.zoomeye.org/) site=域名即可 ;hostname:xxx.com
shodan(https://www.shodan.io/):hostname:"xxx.com"
360测绘空间(https://quake.360.cn/) :domain:"xxx.cn"

2)线上网站

一些线上网站有子域名的功能,可以通过这些网站去查询子域名。

站长之家:https://tool.chinaz.com/subdomain?domain=
dnsdumpster:https://dnsdumpster.com/
查询网:https://site.ip138.com/
爱站:http://dns.aizhan.com

3)威胁情报平台

威胁情报平台一般也都会收集各个网站的子域名,可以通过查询这些平台去收集子域名。常见的威胁情报平台如下:

微步查询:https://x.threatbook.com/
alienvault查询:https://otx.alienvault.com/
riskiq查询:https://community.riskiq.com/
threatminer查询:https://www.threatminer.org/
pentest-tools查询:https://pentest-tools.com/
奇安信威胁情报中心:https://ti.qianxin.com/
启明星辰威胁情报中心:https://www.venuseye.com.cn/

4)第三方DNS服务

第三方DNS服务运行DNS复制功能,通过存储用户访问URL时执行的DNS解析来构建数据库。如VirusTotal。常用的第三方DNS服务如下:

https://decoder.link/
https://searchdns.netcraft.com/
https://dnsdumpster.com/
https://pentest-tools.com/information-gathering/find-subdomains-of-domain
https://www.pkey.in/tools-i/search-subdomains
https://hackertarget.com/find-dns-host-records/
https://findsubdomains.com/
https://spyse.com/

5)github搜索

github上可能保存有目标公司的部分信息,因此可以通过github进行搜索

in:name xxx #仓库标题中含有关键字xxx
in:descripton xxx.com #仓库描述搜索含有关键字xxx
in:readme xxx #Readme文件搜素含有关键字xxx

6)网盘搜索

通过网盘搜索域名信息

凌云搜索 https://www.lingfengyun.com/
盘搜搜:http://www.pansoso.com/

7)whois查询以及关联查询

可以通过whois查询域名的相关信息,并且通过反查手机号或邮箱来获取相关域名。

1684416051_6466263321f4b0daa1425.png!small?1684416051327

8)证书透明度收集

证书:引用谷歌的项目介绍:“要向用户提供加密流量,网站必须先向可信的证书授权中心 (CA) 申请证书。然后,当用户尝试访问相应网站时,此证书即会被提供给浏览器以验证该网站。近年来,由于 HTTPS 证书系统存在结构性缺陷,证书以及签发证书的 CA 很容易遭到入侵和操纵。Google 的证书透明度项目旨在通过提供一个用于监测和审核 HTTPS 证书的开放式框架,来保障证书签发流程安全无虞。”

那么,通过这样的证书透明度项目,我们就可以在其中获取一些有价值的域名。

常用网站如下

(1)crtsh:https://crt.sh/
(2)facebook:https://developers.facebook.com/tools/ct
(3)entrust:https://www.entrust.com/ct-search/
(4)certspotter:https://sslmate.com/certspotter/api/
(5)spyse:https://spyse.com/search/certificate
(6)censys:https://censys.io/certificates
(7)google: https://google.com/transparencyreport/https/ct/

1684416104_64662668955ea9e7edeea.png!small?1684416105437

9)利用DNS查询收集子域

原理:通过枚举常见的SRV记录并做查询来收集子域srv,以及通过查询域名的DNS记录中的MX,NS,SOA,TXT记录来收集子域。

SRV记录: 添加服务记录服务器服务记录时会添加此项,SRV记录了哪台计算机提供了哪个服务。格式为:服务的名字.协议的类型(例如:example-server.tcp)。

以下命令枚举给定域名的SRV记录:

nmap --script dns-srv-enum.nse --script-args "dns-srv-enum.domain='baidu.com'"

1684416131_6466268327ac760243ef5.png!small?1684416131358

10)IP反查域名

通过域名得到服务器IP,可以去查询解析到这个IP的域名记录(历史记录)。还有根据IP去获取旁站以及C段站点。

https://stool.chinaz.com/same
https://site.ip138.com/
工具:https://github.com/Sma11New/ip2domain

子域名收集常用工具

子域名的收集通过手工太慢,就出现了自动化收集子域名的工具。如oneforall,subfinder等等。每个工具都有其优缺点,可以通过多个工具组合使用。

工具名称

描述

优点

缺点

下载地址

oneforall

oneforall是近几年出现的比较优秀的子域名收集工具之一,目前还在不断地进行更新优化。这款工具集成了各种域名信息收集的“姿势”,手段可谓是非常全面了。包括利用证书透明度、常规检查、DNS数据集、DNS查询、威胁情报平台、搜索引擎等

包含的功能全,输出格式多

速度慢,对泛解析处理不是太理想

https://github.com/shmilylty/OneForAll

SubdomainBrute

工具采用协程加快爆破速度,使用114DNS、百度DNS、阿里DNS这几个快速又可靠的公共DNS进行查询。准确率高,效果比较好

速度比较快

收集来源比较单一

https://github.com/lijiejie/subDomainsBrute

Sublist3r

通过爆破进行收集,速度快,字典丰富

输出结果多、基数大、速度快

收集来源比较单一


ShuiZe

一条龙服务,只需要输入根域名即可全方位收集相关资产,并检测漏洞。也可以输入多个域名、C段IP等,

收集的信息比较全,包含公司,IP等信息

运行比较慢,安装麻烦

https://github.com/0x727/ShuiZe_0x727

总结

本篇文章主要记录了一下目标域名的收集方式,方便后续查找使用。各位有什么好的收集方式或者工具吗?一起来交流。

参考链接

https://blog.csdn.net/m0_51581045/article/details/123262008

https://security.tencent.com/index.php/blog/msg/161

https://www.cnblogs.com/bighammerdata/p/13268624.html


# web安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录