子域名搜集工具整理

admin 2022年1月6日03:31:10评论241 views字数 3314阅读11分2秒阅读模式

子域名搜集工具整理


目录


- 介绍
- Sublist3r2
- Subfinder
- Amass
- OneforAll
- 暴力破解
- 总结
- 尾


介绍


马上9月份了,见很多SRC都有提交漏洞兑换月饼的活动,就想着趁月底几天去挖一挖,之前虚拟机还原了,所以存的一些搜集子域名的工具都没了,这里我在Github上又重新找了几个星数比较多的,都尝试一下,也欢迎大家有好的工具或者方法进行留言分享。


Sublist3r2


根据介绍,该工具主要是利用情报来搜集子域名,这个工具使用的时候会报一些错误,有人更新了sublist3r2,这里就测试下sublist3r2的效果。


sublist3r2支持子域名暴破,自带了一个十几万的字典,这里不测试暴破,暴破的话可以最后把所有字典整合一下,然后找个高并发的工具去跑。


sublist3r2测试:这个工具在搜集期间,有用到virustotal,会让输入key,key可以登录后在主页获取。


刚开始是在kali中安装的,运行时中间会报一段异常,但不影响结果的输出,异常提示的是googleenum,是因为无法访问谷歌造成的。


子域名搜集工具整理


测试过程中,如果不访问谷歌,域名数量是103个,这里换成云服务器再次尝试,域名找到数量是276个,谷歌的信息搜集影响的结果偏差还是挺大的。


子域名搜集工具整理


Sublist3r2使用总结:建议加上virustotal的key,机器可以访问谷歌。不暴破的情况下,用d参数指定域名即可:


python sublist3r2.py -d xxx.com


暴破的情况下,需要加上b参数,默认线程是7000,可以通过t指定:


python sublist3r2.py -d xxx.com -b -t 5000


Subfinder


subfinder用go写的,所以跨平台支持很好,像windows直接一个exe文件就可以,初步印象给人感觉用起来就很舒服,工具核心是被动搜集域名,主要通过一些网站做信息搜集,所以各个网站的apikey必须有,这种加key和不加key,是两种结果。


它都是从哪些平台搜集信息,可以在github上的readme查看,或者使用ls参数查询,注册这些平台,登录获取key添加到配置文件中就行(能填的填一下,有些注册有门槛)。


子域名搜集工具整理


这里还是测试的同样的域名,找到了2154个,这个结果有点震惊其实,因为之前搜集域名基本没有这样去注册一些平台key,之前用oneforall也需要加key,懒得去搞。


这个结果大概看了下,有很多多级域名,也有很多子域名并不常见,暴破的话总会有疏漏,这种多平台的搜集反而可以弥补下暴破的短板。但也会存在一些问题,比如这些域名都是通过被动搜集来的,没有经过验证,不确定是否可访问。


这里针对subfinder的域名结果进行了url存活检测(github搜索url存活找一些脚本就行),2154大概能检测出来600个左右。


Amass


这个工具首先看是由owasp维护,相对其它一些个人工具的话,维护方面更稳定,有新技术也会及时更新上,看介绍是用来发现资产暴漏面的,比如公司域名、子域名、IP等等,这里看下子域名搜集。


它也有配置文件,可以配置key进去,这里就先不配了,使用最基本的enum模块来搜集域名信息:


amass enum -d xxx.com


即使这样,它去搜集的信息源还是挺多的,同样域名搜集到了342个,相对很不错了,结果看起来的话,感觉质量也很高,配置key,估计结果更优。


为了更好的发掘下这个工具对子域名搜集的能力,这里决定配置下key重新尝试,首先查看amass enum所支持的数据源:


子域名搜集工具整理


不带星号的说明没法用,需要配置,这里把带星号的排去:


子域名搜集工具整理


上面列表中很多之前在subfinder都有,再挑几个比较熟悉的加一下就可以,例如hunter、ipinfo、whoisxmlapi这些,像其它脸书、推特什么的就不要了。


配置的时候,把相应选项注释去掉,添加key就可以:


子域名搜集工具整理


使用config参数指定配置文件:


amass enum -d xxx.com -config config.ini -o xxx.com.txt


结果是1156,加key和不加key是两个工具,进行url检测的话,可以筛出来450个左右。


amass其它用法参考文章:


https://securitytrails.com/blog/owasp-amass


OneforAll


相同域名的话,oneforall全部默认配置,结果显示为524个,实际上默认的csv结果是包括存活和不存活的,即所有结果,对csv的active字段进行筛选,大概在350个,包括http和https,只算域名大概在180左右,配置文件中,默认有使用暴力破解,字典使用的是不到两千个的子域名,不过也提供了一个超大字典,这里先进行关闭:


子域名搜集工具整理


这里看了下oneforall的api key配置,使用上大体和subfinder、amass差不多,但也有几个区别,比如国内常用的fofa、站长之家有添加,像bing也有,但也有subfinder存在的,而oneforall没有的,所以这个东西,api key平台大体一样,只是个别平台上的区别。


把oneforall能填的key大体填填再测试,结果大概有500个左右。


这里域名如果是一些比较大型的公司,它可能子域名会多一点,而oneforall有一个enable_finder_module模块默认开启,意思是要从子域的js文件和响应体中再次发现子域名,这种情况很容易导致子域变得过多而且不够准确的情况,如果这种匹配结果过多,就会报错,issue有人提出了这个问题:


https://github.com/shmilylty/OneForAll/issues/199


有人测试超过十万就报此错误,错误最开始提示的是Start Finder module,所以可以先把finder这个模块关掉,需求并不是很大,不关的话,是不会生成csv结果的。


还有个问题就是默认的一些google模块是无法访问的,可以在云服务器上运行,也可以给它设置代理,启用代理,使用代理的模块默认就可以:


子域名搜集工具整理


这里测试代理是成功的,本机v2rayn会有日志记录,但实际oneforall运行时会有一些站点请求显红,报timeout,猜测可能超时原因,超时设置这里没看到具体的调整位置,介意的话完全可以放到云服务器运行。


暴力破解


暴破字典的话,倒没有必要去搜集整理,oneforall自带的那个超大字典挺全面的,有了字典拿支持暴破的工具暴破就可以,之前用的挖掘机会多点,后来发现也会存在一些问题,比如字典大了加载会卡死,或者暴破多级域名、导出结果过多的时候,都会有一段卡死的现象,后来就不用了。


暴破多线程很重要,多线程go支持就很好,但像subfinder主要针对的是信息搜集,没看到暴破相关的用法。但这块oneforall有提供,默认2000的线程,最大推荐不超过10000,还是挺不错的,暴破模块也进行了分离,所以很方便。


使用方法参考:

https://github.com/shmilylty/OneForAll/blob/master/docs/usage_help.md


总结


1,主要是信息搜集和字典暴破,信息搜集主要是靠搜索引擎和平台,字典暴破主要靠字典。


2,sublist3r2的话涉及到的平台相对较少,可以不用。


3,subfinder、amass、oneforall涉及到的平台差不多,但有个别的区别,使用的时候可以结合去重。


4,subfinder国外平台会多点,oneforall国内的会多点,amass整体也不错,amass作为资产暴漏面搜集,也提供了其它一些实用的功能。


5,暴破的话可以把sublist3r2的字典和oneforall的字典整理整理,或者再搜集些其它字典加进去,然后用oneforall的brute进行暴破。


6,上面结果也有误差,一个是结果数验证存活包括了http和https,都是估算,再一个,可能站点在8080上或其它端口,另外,平台key也都不一样,所以不能说哪个好用哪个不好用,



工具试着试着就31号了,还挖个der呀,下个月中秋看别人吃月饼。

本文始发于微信公众号(aFa攻防实验室):子域名搜集工具整理

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月6日03:31:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   子域名搜集工具整理http://cn-sec.com/archives/485887.html

发表评论

匿名网友 填写信息