戟星安全实验室
本文约2718字,阅读约需7分钟。
先说常用的子域名收集方式
其实fofa更偏向于资产收集,不适合拿来做子域名收集对比
使用子域名语法发现bing资产2259条
使用证书序列号发现资产1336条,因为只有https的
使用zoomeye的子域名查询功能,支持单次免费导出2w,完全够用
速度快,存活率较高,适合攻防时人手不够,又需要抢速度拿分的情况
搜索子域名bing发现子域名13561条,毕竟老牌引擎确实给力,不过对少数小厂商的资产收集效果没这么好
对批量查询需求,我以前写了个小脚本,自用
https://github.com/moyuwa/zoomeye-subdomianapi
oneforall作为一个综合信息收集工具,常规项目中表现一直不错,目前用它作为一个补充,用于合并去重
不连网的情况
python3 oneforall.py --target bing.com run
新环境使用报错了,不管了
Counting IP cname appear
times File "C:\tools\Sub
domains\OneForAll-master\venv\lib\site-packages\fire\core.py", line 466,
in _Fire
component,
remaining_args = _CallAndUpdateTrace(
File
"C:\tools\Sub
domains\OneForAll-master\venv\lib\site-packages\fire\core.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:\tools\Sub domains\OneForAll-master\brute.py", line 477, in run
valid_subdomains = self.main(self.domain)
File
"C:\tools\Sub domains\OneForAll-master\brute.py", line 450, in main
appear_times
= stat_appear_times(output_path)
File
"C:\tools\Sub domains\OneForAll-master\brute.py", line 204, in
stat_appear_times
with
open(result_path) as fd:
FileNotFoundError: [Errno 2] No such file or
directory: 'C:\\tools\\Sub domains\\OneForAll-master\\results\\temp\\resolved_result_bing.com_20220520_155653.json'
subfinder是已经配置了第三方接口的apikey的,子域名发现数量也比较满意
一般用它来收集第三方平台来源的子域名,存活率比其他方式要高一些,速更快
subfinder.exe -d bing.com -o bing.txt
无代理网络,windows本地运行(推荐香港云服务器上运行),花费31秒,发现1561个子域名
这种方式已经被我压箱底了,只有部分域名收集较少时会进行爆破,作为一个补充,速度慢而且没法发现多级子域名和云资产域名
Sublist3r、子域名挖掘机等工具,一般都是爆破一级、二级子域名
其成功数量取决于字典,而字典基本都是常见单词、拼音组合,我们平常用的是 灯塔+xray+github 的域名字典合集爆破
因此不可能发现这个三级的子域名
之前团队内部有过一次子域名收集测试,小厂资产仅供参考,不接受反驳
以发现总数、存活总数进行对比,只需要subfinder+zoomeye的组合就可以快速收集大量域名,当然依旧会有一丢丢遗漏
再来分析目标子域名,样式中abc部分均是长度不一且不同的拼音首字母,test是目标根域单词
abc.abc-abc.abc.test.biz
在fofa、subfinder、zoomeye都没收集到的情况下,第一时间去搜索引擎找了关键字abc.test.biz,依旧没有发现
第一时间猜测只可能由证书发现,如图,在证书的使用者可选名称部分,我们可以看到一些子域(为了演示效果,以下用百度举例)
发现目标属于*.bce.baidu.com这个子域,这时可以直接爆破或者根据证书收集,我选择先去crt.sh查一下看看
https://crt.sh/?q=bce.baidu.com
对通过查询到的二级子域去访问测试,一般挑证书信息不同的去看
查看二级子域的证书信息,在查看了几个域名的证书,成功发现了我们未收集到的三级子域名
ps:截图只是演示过程,最终的域名样式为glxt.bjdq-yhgl.bce.baidu.com(管理系统.北京地区-用户管理.bce.baidu.com)
最后猜测应该是最近新增加的资产,不然资产测绘引擎不应该遗漏的
在研究过程中发现一个新姿势
比起使用证书序列号查询,使用 证书使有者 或颁发者 查询资产更多
查组织为百度
cert.subject="Beijing Baidu Netcom Science Technology Co., Ltd"
百万资产尽在掌控!
对bing这种,查颁发者,如果全称太少,就只看关键字
五个百万!
虽然看着量很大,但这种方式只适用于目标授权范围包含全部资产的情况,hw中防守方更需要它,可能
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,戟星安全实验室及文章作者不为此承担任何责任。
戟星安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经戟星安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
戟星安全实验室
# 长按二维码 关注我们 #