之前很多人没有关注过DNS方面相关的技术手段,但最近发现很多社区网站、wooyun里有很多人在搞子域名的收集或者其他的DNS相关的技术。

子域名工具我大致看了看不外乎通过第三方网站查询、暴力枚举子域名。这些我之前我也写过相关的工具,但是效果着实不是很好。

通过第三方网站查首先考虑的一个问题就是如果网站改变了一些结构或者函数就要重写,以及每次request包效率着实不太高。

通过暴力枚举对于那些大型网站也许有一些效果(QQ、Alibaba等)因为子域名众多,通过一部分常用字典就可以获取一些比较隐蔽的域名,但是如果对于PC端软件的域名,6位或者3级以上的子域名效果几乎很低效率更低。
说到枚举子域名的效率问题我说下我的经历,我之前写过一个软件是通过并行计算来暴力枚举子域名,带宽什么的就不用考虑啦因为是用的服务器,7位组合排序[a-z0-9_]的子域名我直接枚举了好几个星期,最后着实觉得太蛋疼了。。因为太慢了,直接close。

现在来说说我写这个文章的目的,其实我说的这些只是说了2种方式的缺点,但这2种方式也有各自的有点后续会和大家说~

我最近在看TCP/IP winosock等相关的东西,我发现其实自己写一个DNS服务器就可以解决以上的缺点(以下简称这个软件为SuperDNSR),也就是把本机DNS设置成127.0.0.1,你可以理解成这个SuperDNSR就是Burp(HTTP代理)它就是一个DNS代理,通过你的软件然后你的软件进行记录之后直接转发给其他常用DNS服务器去解析就可以了。

大致流程图如下:



这样大致就可以收集、操作很多东西会方便很多~
上面说到第三方查询以及子域名暴力枚举的缺点,现在来说说优点~

  • 可以短时间获取部分子域名信息

  • 无需本机请求对应DNS只需要HTTP、Https请求第三方数据

  • 精确性较强(a-z0-9_)只要你有时间

至于SuperDNSR的缺点
只能被动(暂时算被动吧)收集、操作相关东西。
如果请求量大估计要做优化~
把第三方查询、子域名枚举和SuperDNSR结合就应该能实现比全面的域名信息收集工作~
至于标题说的欺骗什么的在流程图上也有展现。
说个例子 例如是上网行为管理设备,让你上不了某东或者某宝。直接解析到对应IP就可以了。

大部分上网行为管理设备都是基于域名来阻断的,也有一些基于其他的那些只能通过SuperDNSR在加上其他功能来绕啦~

暂时只能提供一些思路~至于软件嘛~放个截图好啦~(由于某些原因不能放sorry)其实写起来也很简单~



Comments
Write a Comment