工具开发 | 子域名爆破的泛解析问题

VSole2023-07-03 09:09:30

声明:本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全。

一、什么是域名泛解析

域名泛化解析是指:利用通配符* (星号)来做次级域名以实现所有的次级域名均指向同一IP地址。在域名前添加任何子域名,均可访问到所指向的IP地址。例如:

(1)常规域名解析

www.wolke.cn   10.10.10.10

(2)域名泛解析

*.wolke.cn     10.10.10.10

访问子域名a.wolke.cn,b.wolke.cn等均指向10.10.10.10

二、为什么要解决子域名泛化问题

在子域名解析中,每个子域名都会解析为一个特定的IP地址。只有被设置解析,用户才能正常进行访问。一旦用户输入错误的子域名,就会造成无法访问。在网站运营中,域名持有者为了避免因为错误输入,而造成用户流失,就会使用泛域名解析。泛域名解析是一种特殊的域名解析方式。它使用通配符形式,设置域名解析。它可以将没有明确设置的子域名一律解析到一个IP地址上。这样,即使用户输入错误的子域名,也可以访问到域名持有者指定的IP地址。

在信息收集中,这会造成请求的所有子域名都能访问的假象,从而收集到一堆无效的子域名。这为我们去做子域名爆破带来了极大的不便,以前子域名爆破常用的是layer子域名挖掘机。不过layer子域名挖掘机在跑具有泛解析的站的时候,就不是那么适用。

三、域名泛解析对抗

这里以淘宝和百度为例子:ping一个绝对随机不可能存在的域名,它解析了,那么说明它大概率使用了泛解析

(1)淘宝可能存在域名泛解析?

(2)百度可能不存在域名泛解析?

针对百度,我们可以直接使用layer子域名挖掘机等子域名爆破工具,而针对淘宝的资产,我们不能使用layer子域名挖掘机等常规工具

1、判断是否使用了泛解析,五次完全随机的域名前缀A记录解析

import asyncioimport aiodnsimport random
loop = asyncio.get_event_loop()resolver = aiodns.DNSResolver(loop=loop)
async def query(name, query_type):    return await resolver.query(name, query_type)
def random_to_A(main_domain):    total = []    # 随机循环五次    for i in range(5):        sub_domain = "".join(random.sample('abcdefghijklmnopqrstuvwxyz', random.randint(8, 12)))        res = query(sub_domain + "." + main_domain, 'A')        result = loop.run_until_complete(res)        total.append(result)    return total
if __name__ == '__main__':    main_domain = input("Please input the main_doamin: ")    print(str(random_to_A(main_domain)).replace("],", "],"))

五次完全A记录解析成功,认为存在泛解析,如果不存在泛解析问题,就常规子域名收集一把梭,如果检测出泛解析,就使用破泛解析的子域名爆破工具。

2、CNAME查询黑名单,维护特定厂商CNAME列表

CNAME查询几个不存在的淘宝域名,也是一样的思路,循环多次不存在的域名,如果访问不存在的域名,CNAME为shop.taobao.com

3、A记录查询命中次数,如果A记录查询,命中相同ip>10,后续的爆破A记录解析的域名就不展示记录

四、脚本源码

import asyncioimport aiodnsimport randomimport optparse
loop = asyncio.get_event_loop()resolver = aiodns.DNSResolver(loop=loop)
async def query(name, query_type):    return await resolver.query(name, query_type)
def random_to_A(main_domain):    total = []    # 随机循环五次    for i in range(5):        sub_domain = "".join(random.sample('abcdefghijklmnopqrstuvwxyz', random.randint(8, 12)))        res = query(sub_domain + "." + main_domain, 'A')        result = loop.run_until_complete(res)        total.append(result)    return total
def random_to_cname(sub_domain):    res = query(sub_domain, 'CNAME')    result = loop.run_until_complete(res)    return result
if __name__ == '__main__':    parser = optparse.OptionParser("%prog " + "[options] [domain]")    parser.add_option('-a', action="store", dest='main_domain', type='string', help='')    parser.add_option('-c', action="store", dest='sub_domain', type='string', help='')    (options, args) = parser.parse_args()    main_domain = options.main_domain    sub_domain = options.sub_domain    if main_domain:        print(str(random_to_A(main_domain)).replace("],", "],"))    elif sub_domain:        print(str(random_to_cname(sub_domain)).replace("<", "<"))
子域名百度域名
本作品采用《CC 协议》,转载必须注明作者和本文链接
持续化挖掘漏洞的思考和SRC资料分享
思路:钓鱼演练核心是gophish,此平台联动邮件服务器可以做到对邮件的统筹下发,如果邮件中包含钓鱼链接,他还能够锁定个人并跟踪监测到该员工:“是否查看邮件”,“是否点击链接”,“是否输入数据”,并且图形化得展示出来,非常直观,平台需要对外可访问,涉及beian问题,所以还需要一台外网vps。
国内外很多厂商都把SMTP对应的25端口毙掉了,也是为了限制垃圾邮件泛滥,我这里用一台虚拟机搭建邮件服务器,再通过frp把25映射到vps上,这样我们邮件服务器问题就解决了环境:一台国外的vps,我这边选用了Ubuntu一台新的centos虚拟机,因为ewomail邮件服务器要求搭建环境干净。工具:gophish、ewomail邮件服务器frpmip22域名一枚,用了godaddy二、工具安装与调试:1.gophish搭建 下载解压缩,解压缩到当前一个叫gophish文件夹中wget?
关于 DNS TXT 记录的意义可以参考下面两篇文章:TXT 记录值 - Google Workspace 管理员帮助https://support.google.com/a/answer/2716802?hl=zh-HansDNS中TXT记录是做什么用的?既然输出没有问题了,可以进行转换了,这里又涉及一个问题:certutil 只能对文件进行转换,
在广域网中,很多IP地址都和域名进行关联。通过分析对应的域名,可以获取更多的主机信息。本文介绍使用Maltego工具对域名进行分析。
红队之信息收集
2021-09-22 12:30:38
企业信息收集拿到一个目标,不考虑钓鱼的情况下。如果正常从web入手,至少需要收集以下的信息。一般经过上面的收集以后,我们能够获取到一系列的ip,域名信息。此时需要针对这些进行排除。碰到过一次有个队伍打供应链下载源码审计的这种属于非常态暂不讨论。用户级别主要是涉及拿到一些用户的用户名等。便于进行暴力破解。利用app查询公司的域名。是在于跑一下子域名。先不要急着跑域名
CDN绕过技术总汇
2022-05-06 15:41:45
在HVV培训以及面试中,有人问了CDN该如何绕过找到目标真实IP,这向来是个老生常谈的问题,而且网上大多都有,但是有些不够全面,今天把绕过CDN全理一理。
信息搜集
2021-12-31 14:25:34
信息收集1.系统的信息收集1.1.CDN什么是CND?内容分发式服务CDN的优势?隐藏源主机ip,降低延迟,
常用的网络空间搜索引擎:fofa、shodan、zoomeye、censys常见网络空间搜索引擎介绍网络空间搜索引擎有哪些目前国内外的网络空间搜索引擎有 shodan、zoomeye、cnesys、fofa,下面一一介绍。shodanShodan 是目前最为知名的黑客搜索引擎,它是由计算机程序员约翰·马瑟利于 2009 年推出的,他在 2003 年就提出了搜索与 Internet 链接的设备的想法。发展至今已经变成搜索资源最全,搜索性能最强,TOP1 级别的网络资产搜索引擎。# 搜索指定的主机或域名,例如 hostname:"google"
域名泛化解析是指:利用通配符* (星号)来做次级域名以实现所有的次级域名均指向同一IP地址。在域名前添加任何域名,均可访问到所指向的IP地址。例如:
VSole
网络安全专家