#原创文章#
前言
上次听了火器的线上分享会议有提到火器的资产关联大概的思路,真的是收获了很多。再夸夸火器,在挖一些项目中的确能省掉很多资产收集的时间。本文主要参考上次会议中提交的一些思路和我自己在实战渗透中信息收集的一些方式给大家分享下根域名的收集方法。
1. 利用ICP备案信息进行收集
在中华人民共和国境内提供非经营性互联网信息服务,应当依法履行备案手续。未经备案,不得在中华人民共和国境内从事经营性互联网信息服务。目前只要是企业在中国境内需要提供互联网服务,都必须通过ICP工商备案才能运行。而ICP备案信息属于公开纰漏的信息,可以在 ICP/IP地址/域名信息备案管理系统 (https://beian.miit.gov.cn/)进行查询,一般我们都是对企业或者政企单位进行渗透测试,这些域名都是需要在该系统中进行备案等级的。
我们以kuaishou.com为例在备案系统中查询该域名的备案信息,发现他的运营单位主体为北京华艺汇龙网络科技有限公司,我们再以 北京华艺汇龙网络科技有限公司 反向查询该公司备案的其他信息就可以查询到属于该公司旗下其他的根域名信息
2. 工商股权信息收集
目前国内所有的企业,无论是私营企业还是国有企业都需要进行工商登记后才能进行企业正常运营。而我们国家在这方面数据是可以通过公开渠道进行查询的,大家可以通过 国家企业信用信息公示系统(http://www.gsxt.gov.cn/index.html)查询指定企业的工商注册信息,国内也有一些企业通过爬虫/数据合作方式将企业相关的数据通过数据分析方法关联在一些,比如企查查、天眼查、启信宝等等,我们可以通过这些平台查询到目标企业旗下其他业务的子公司名称,通过子公司的ICP备案信息再进一步扩展其他的根域名数据
一般来说我们定义控股或者并购关系的公司一般都属于目标企业的所属集团,当然有些并购可能不对对外共识,我们可以关注一些投融资的新闻来获取这部分讯息,比如快手在上市的招股书中有提到进军toB业务轻雀(https://www.qingque.cn/ ,http://app.myzaker.com/news/article.php?pk=5f2cb6128e9f09378e40323b&f=zaker_live ),在第三方媒体中发布收购支付牌照申请商标“老铁支付”(https://page.om.qq.com/page/O7tGusRbwWu2bE4YeqFr_P_A0 ),但是我们在股权关系上看不到任何体现。
从风险上来说企业在被收购或者控股后在IT架构上也会接入集团的IT网络中,相关的业务也会有比较紧密的合作,所有一旦子公司存在比较严重的安全风险,攻击者可将子公司的网络作为跳板进一步的公司集团核心业务系统。获取到子公司的名称后我们再通过 1利用ICP备案信息进行收集 中的ICP备案信息查询获取到公司备案的其他根域名信息。
3. Whois数据信息收集
通过前两个步骤我们已经获取了企业在境内备案的根域名列表了,但是往往在实际的渗透测试过程中我们会遇到企业分公司未经审计私开业务、企业非备案的境外业务无法通过公开的备案信息收集到了。每个域名的注册都必须对外公开Whois数据,但是现在很多域名商默认都会开启域名隐私保护,我们就需要借助一些数据平台查询域名历史的Whois信息来进行关联了,我们可以通过Whois网站(http://whois.chinaz.com/)) 查询 1利用ICP备案信息进行收集 和 2. 工商股权信息收集 收集到的域名的历史Whois信息,比如我们查询huoxian.cn的历史记录可以发现在注册人和邮箱两处我们存在一些关联的特征,我们可以反查注册者(北京安全共识科技有限公司)和邮箱(luzhongyang@secnium.cn、it@huoxian.cn)收集到更多相关联的资产
4. SSL证书扩展
通过前面的步骤我们已经收集到大量的根域名信息了,但是还是有一些域名它没有工商备案信息,域名也是新注册的开启了隐私保护从Whois历史数据中也没办法找到关联方法。那我们就需要通过域名关联到的端口服务资产中去寻找一些关联特征了,但是一般我们在关联前无法确定需要扫描的IP范围,就算要扫描成本也是非常高的,庆幸市面上已经有了一些非常成熟的全网资产工具,比如Fofa、Zoomeye、Shodan、censys等等,我们可以借助这些平台来寻找一些域名关联的特征。
以kuaishou.com举例子,企业在申请证书的时候一般会将同类业务域名的申请成一张成熟,一方面是出于成本考虑,还有一方面也是方面对证书进行同一的管理。我们通过查询证书内容包含kuaishou.com的证书信息发现证书的DNS Names中还会有其他的业务域名。请注意我们要排除一些自签的证书,自签名的证书往往内容都是可以填写的,很容易关联到错误的域名。
通过对证书中的特征进行分析我们又发现在Organization中有快手公司的英文全称,我们可将此特征作为关键词继续进行特征关联扩展更多的根域名,通过这个特征我们又能在DNS Names和CommonName中找到很多其他的根域名数据
5. DNS解析数据关联
同私有DNS服务器关联:
一般大型的企业会自建DNS服务器用于业务域名的解析,一般情况只会对自有业务提供DNS解析服务,比如baidu.com tencent.com
我们可以通过公开的DNS解析数据集rapid7 DNS(https://opendata.rapid7.com/)搭建DNSDB或者使用公开的数据集合(https://hackertarget.com/find-shared-dns-servers/ 、 https://spyse.com/advanced-search/domain?search_params=%5B%7B%22domain_dns_ns%22%3A%7B%22operator%22%3A%22contains%22,%22value%22%3A%22.baidu.com%22%7D%7D%5D) 反向查询ns服务器对应的根域名数据
6. Web配置信息关联
常见来说Web系统需要在响应头的CSP中定义允许跨域资源加载的白名单地址,在Set-Cookie中定义Cookie适用 的可用域范围,有些特殊业务可能还会将业务的特殊标记在Set-Cookie中进行设置,有些厂商会将业务名称自定义在Server中,使用自定义的ICON图标,还有一些企业会将使用一些在线的运营工具(百度统计、53客服、扫描登录等),我们可以将这些独特的业务特征作为关键词进一步进行资产的规则关联
下图是从CSP中提取企业其他的根域名信息,但是企业可能会使用在线的SAAS服务需要开启跨域,在信息收集的时候需要把这类域名排除在外。
使用header特征中的Cookie或Cookie Key作为特征点进行信息收集
使用ICON的mmh3 hash作为关键词进行信息收集,icon特征因为存在大量的非企业业务系统滥用或者仿站的情况,所以会存在非常多垃圾数据的情况;在中小型公司或者特殊业务系统图标上效果上会好很多。
企业的业务中为了方便进行运营数据统计和法规需要,会在页面中也存在一些特定的标识,以火线距离我们可以在页面中发现存在ICP备案编号、百度统计的hash、美洽客服,这些都属于其他的特殊标识,我们可以在fofa上进行搜索,能收集到更多的资产。
目前网上大家主要分享的都是子域名的收集方法,但是在实战中我们如果能获得更多的根域名,那么能获取到的攻击面会更大,也能更多的提高渗透的成功率。本文可能存在些许纰漏,如有错误,欢迎指正。
最后也希望可以和大家一起讨论更多关于根域名资产收集的姿势。
本文迁移自知识星球“火线Zone”