目录
– 介绍
– 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其它用法参考文章:
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有人提出了这个问题:
有人测试超过十万就报此错误,错误最开始提示的是Start Finder module,所以可以先把finder这个模块关掉,需求并不是很大,不关的话,是不会生成csv结果的。
还有个问题就是默认的一些google模块是无法访问的,可以在云服务器上运行,也可以给它设置代理,启用代理,使用代理的模块默认就可以:
这里测试代理是成功的,本机v2rayn会有日志记录,但实际oneforall运行时会有一些站点请求显红,报timeout,猜测可能超时原因,超时设置这里没看到具体的调整位置,介意的话完全可以放到云服务器运行。
暴力破解
暴破字典的话,倒没有必要去搜集整理,oneforall自带的那个超大字典挺全面的,有了字典拿支持暴破的工具暴破就可以,之前用的挖掘机会多点,后来发现也会存在一些问题,比如字典大了加载会卡死,或者暴破多级域名、导出结果过多的时候,都会有一段卡死的现象,后来就不用了。
暴破多线程很重要,多线程go支持就很好,但像subfinder主要针对的是信息搜集,没看到暴破相关的用法。但这块oneforall有提供,默认2000的线程,最大推荐不超过10000,还是挺不错的,暴破模块也进行了分离,所以很方便。
使用方法参考:
总结
1,主要是信息搜集和字典暴破,信息搜集主要是靠搜索引擎和平台,字典暴破主要靠字典。
2,sublist3r2的话涉及到的平台相对较少,可以不用。
3,subfinder、amass、oneforall涉及到的平台差不多,但有个别的区别,使用的时候可以结合去重。
4,subfinder国外平台会多点,oneforall国内的会多点,amass整体也不错,amass作为资产暴漏面搜集,也提供了其它一些实用的功能。
5,暴破的话可以把sublist3r2的字典和oneforall的字典整理整理,或者再搜集些其它字典加进去,然后用oneforall的brute进行暴破。
6,上面结果也有误差,一个是结果数验证存活包括了http和https,都是估算,再一个,可能站点在8080上或其它端口,另外,平台key也都不一样,所以不能说哪个好用哪个不好用,
尾
工具试着试着就31号了,还挖个der呀,下个月中秋看别人吃月饼。
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,加站长微信免费获取积分,会员只需38元,全站资源免费下载 点击查看详情
站 长 微 信: thumbxmw