【hw必备】信息收集中三级子域名发现方式

admin 2022年8月6日10:14:07评论490 views字数 2749阅读9分9秒阅读模式


【hw必备】信息收集中三级子域名发现方式

戟星安全实验室


    忆享科技旗下高端的网络安全攻防服务团队.安服内容包括渗透测试、代码审计、应急响应、漏洞研究、威胁情报、安全运维、攻防演练等

本文约2718字,阅读约需7分钟。



【hw必备】信息收集中三级子域名发现方式
0x00 前言



某次攻防项目中,发现友商是从一个(https)三级子域名打点进入系统,而我们的信息收集却没有发现
授权目标及其关联公司,总资产数是3k+



【hw必备】信息收集中三级子域名发现方式
0x01 常规收集方式


先说常用的子域名收集方式


  • fofa

其实fofa更偏向于资产收集,不适合拿来做子域名收集对比

使用子域名语法发现bing资产2259条


【hw必备】信息收集中三级子域名发现方式


使用证书序列号发现资产1336条,因为只有https的


【hw必备】信息收集中三级子域名发现方式


  • zoomeye

使用zoomeye的子域名查询功能,支持单次免费导出2w,完全够用

速度快,存活率较高,适合攻防时人手不够,又需要抢速度拿分的情况

搜索子域名bing发现子域名13561条,毕竟老牌引擎确实给力,不过对少数小厂商的资产收集效果没这么好


【hw必备】信息收集中三级子域名发现方式


对批量查询需求,我以前写了个小脚本,自用

https://github.com/moyuwa/zoomeye-subdomianapi


  • oneforall

oneforall作为一个综合信息收集工具,常规项目中表现一直不错,目前用它作为一个补充,用于合并去重

不连网的情况

python3 oneforall.py --target bing.com run

新环境使用报错了,不管了

Counting IP cname appeartimes File "C:toolsSubdomainsOneForAll-mastervenvlibsite-packagesfirecore.py", line 466,in _Fire
component,remaining_args = _CallAndUpdateTrace( File"C:toolsSubdomainsOneForAll-mastervenvlibsite-packagesfirecore.py", line 681,in _CallAndUpdateTrace component =fn(*varargs, **kwargs) File"oneforall.py", line 254, in run self.main() File"oneforall.py", line 171, in main brute.run() File"C:toolsSub domainsOneForAll-masterbrute.py", line 477, in run valid_subdomains = self.main(self.domain) File"C:toolsSub domainsOneForAll-masterbrute.py", line 450, in main appear_times= stat_appear_times(output_path) File"C:toolsSub domainsOneForAll-masterbrute.py", line 204, instat_appear_times withopen(result_path) as fd:FileNotFoundError: [Errno 2] No such file ordirectory: 'C:\tools\Sub domains\OneForAll-master\results\temp\resolved_result_bing.com_20220520_155653.json'


  • subfinder

subfinder是已经配置了第三方接口的apikey的,子域名发现数量也比较满意

一般用它来收集第三方平台来源的子域名,存活率比其他方式要高一些,速更快

subfinder.exe -d bing.com -o bing.txt

无代理网络,windows本地运行(推荐香港云服务器上运行),花费31秒,发现1561个子域名


【hw必备】信息收集中三级子域名发现方式


  • 子域名爆破

这种方式已经被我压箱底了,只有部分域名收集较少时会进行爆破,作为一个补充,速度慢而且没法发现多级子域名和云资产域名

Sublist3r、子域名挖掘机等工具,一般都是爆破一级、二级子域名

其成功数量取决于字典,而字典基本都是常见单词、拼音组合,我们平常用的是 灯塔+xray+github 的域名字典合集爆破

因此不可能发现这个三级的子域名


  • 又快又好

之前团队内部有过一次子域名收集测试,小厂资产仅供参考,不接受反驳

以发现总数、存活总数进行对比,只需要subfinder+zoomeye的组合就可以快速收集大量域名,当然依旧会有一丢丢遗漏


【hw必备】信息收集中三级子域名发现方式


【hw必备】信息收集中三级子域名发现方式
0x02 两级证书发现子域名


再来分析目标子域名,样式中abc部分均是长度不一且不同的拼音首字母,test是目标根域单词

abc.abc-abc.abc.test.biz

在fofa、subfinder、zoomeye都没收集到的情况下,第一时间去搜索引擎找了关键字abc.test.biz,依旧没有发现

第一时间猜测只可能由证书发现,如图,在证书的使用者可选名称部分,我们可以看到一些子域(为了演示效果,以下用百度举例)


【hw必备】信息收集中三级子域名发现方式


发现目标属于*.bce.baidu.com这个子域,这时可以直接爆破或者根据证书收集,我选择先去crt.sh查一下看看

https://crt.sh/?q=bce.baidu.com

对通过查询到的二级子域去访问测试,一般挑证书信息不同的去看


【hw必备】信息收集中三级子域名发现方式


查看二级子域的证书信息,在查看了几个域名的证书,成功发现了我们未收集到的三级子域名

ps:截图只是演示过程,最终的域名样式为glxt.bjdq-yhgl.bce.baidu.com(管理系统.北京地区-用户管理.bce.baidu.com)


【hw必备】信息收集中三级子域名发现方式


最后猜测应该是最近新增加的资产,不然资产测绘引擎不应该遗漏的



【hw必备】信息收集中三级子域名发现方式
0x03 fofa的拓展测试


在研究过程中发现一个新姿势


【hw必备】信息收集中三级子域名发现方式


比起使用证书序列号查询,使用 证书使有者 或颁发者 查询资产更多

查组织为百度

cert.subject="Beijing Baidu Netcom Science Technology Co., Ltd"


【hw必备】信息收集中三级子域名发现方式


百万资产尽在掌控!


【hw必备】信息收集中三级子域名发现方式


对bing这种,查颁发者,如果全称太少,就只看关键字


【hw必备】信息收集中三级子域名发现方式


五个百万!


【hw必备】信息收集中三级子域名发现方式


虽然看着量很大,但这种方式只适用于目标授权范围包含全部资产的情况,hw中防守方更需要它,可能 


 声明

    由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,戟星安全实验室及文章作者不为此承担任何责任。

    戟星安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经戟星安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。


【hw必备】信息收集中三级子域名发现方式

戟星安全实验室

# 长按二维码 关注我们 #



原文始发于微信公众号(戟星安全实验室):【hw必备】信息收集中三级子域名发现方式

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月6日10:14:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【hw必备】信息收集中三级子域名发现方式http://cn-sec.com/archives/1224205.html

发表评论

匿名网友 填写信息