makefile
复制代码site:*.baidu.com

主动收集子域名

ini
复制代码domain=Your_domain

bash
复制代码echo 'domain="baidu.com"' | base64 - | xargs -I{} curl "https://fofa.info/api/v1/search/all?email=${Your_Mail}&key=${Your_Key}&page=1&qbase64={}"

在执行渗透测试或探索安全漏洞时,安全测试人员会搜集与目标网站域名有关的各种资料。他们与目标系统互动,收集子域名的详细信息。概括来说,通过编写一个小脚本处理反馈信息,便能获取子域名清单。这种做法既方便又快捷。

ini复制代码import requests
from base64 import b64encode
import json
# 配置信息
domain = 'domain="baidu.com"'
domain = str(b64encode(domain.encode("utf-8")), "utf-8")
email = "Your_email"
key = "Your_key"
# end
url = "https://fofa.info/api/v1/search/all?email={email}&key={key}&qbase64={domain}".format(email=email, key=key, domain=domain) + "&page={page}"
page = 1
subdomain = list()
while True:
	url = url.format(page=str(page))
	req = requests.get(url=url).text
	result = json.loads(req)['results']
	if result:
		tmp = [i[0] for i in result]
		subdomain += tmp
	else:
		break
	page += 1
print(set(subdomain))		# 去重

测试中我们注意到,只需向目标系统发送基础请求,脚本运行结束后,便能收集到大量子域名信息。这一发现对于拓宽漏洞检测的覆盖面非常有帮助,同时也为后续测试环节提供了更多的检测对象。

img

VirusTotal的作用

img

img

VirusTotal具备DNS复制的功能。它能记录用户访问网站时进行的DNS查询,并据此建立数据库。这个数据库宛如一个庞大的资料库,详尽地记录了所有域名的相关信息。

img

借助该数据库,安全检测人员能够获取关键数据。在众多渗透测试案例中,他们通过它识别出众多潜在子域名。这显著提升了他们进行深入安全检查的能力。

css
复制代码nmap --script targets-asn --script-args targets-asn.asn=Your_asn > netblocks.txt

排列组合识别子域名

img

通过列出已知区域或其子区域的名称,我们可以辨别出新的子域名,这样的方法相当有效。如果对字典进行有针对性的调整,识别的精确度还能得到进一步提升。

img

img

在安全检测过程中,测试员通过已知子域名的排列组合,意外发现了一些之前未知的子域名。随后,他们顺利地揭露了相关漏洞,并迅速将这一发现通报给了企业。

img

DNS区域传输漏洞

javascript复制代码sed -ne 's/^( *)Subject:/1/p;/X509v3 Subject Alternative Name/{
  N;s/^.*n//;:a;s/^( *)(.*), /12n1/;ta;p;q; }' < <(
  openssl x509 -noout -text -in <(
      openssl s_client -ign_eof 2>/dev/null <<<$'HEAD / HTTP/1.0rnr' 
          -connect baidu.com:443 ) )

DNS区域传输,即把主服务器的DNS数据或记录拷贝至辅助服务器。若DNS服务器配置有误,接收到AXFR请求时,便会自动执行域传送,从而可能造成安全风险。

bash复制代码wget https://scans.io/data/rapid7/sonar.fdns_v2/20170417-fdns.json.gz
cat 20170417-fdns.json.gz | pigz -dc | grep ".Your_Target.org" | jq

传输数据时,子域信息必然会被携带,此外,邮件地址和服务器等数据也会一同传输。若这些信息被不法之徒获取,很容易引发钓鱼攻击,其后果严重,难以预测。

相关工具使用方法

在Linux系统中,使用dig命令可以执行DNS查询操作。若选择axfr查询模式,dig会展示全部的解析记录。但需留意,若系统存在安全漏洞,dig可能会暴露所有的解析数据。Kali系统自带了dnswalk工具,使用时必须正确输入域名。

这两个工具在渗透测试中非常流行,众多测试员借助它们来识别DNS区域传输的漏洞,效果十分明显,它们可以说是安全测试中必不可少的关键工具之一。

shell复制代码# 1.nslookup命令进入交互式shell
$ nslookup
# 2.server命令 参数设定查询将要使用的DNS服务器
$ server xxx.com
# 3.如果漏洞存在的话,可以使用ls命令列出所有域名
$ ls
# 4.退出
$ exit

综合及爆破工具介绍

OneForAll是一款功能齐全的子域名扫描工具,它拥有多个模块和接口,旨在全面搜集子域信息。另一方面,ksubdomain是一款无需建立连接的子域名攻击软件,它兼容多种操作系统,并能快速发送数据包。

css
复制代码dig @Target_DNS_Server_IP axfr 查询的域名

测试员在实际操作中,通常会将这两个工具配合使用。OneForAll能够全面收集所需资料,而ksubdomain则能迅速进行域名爆破。这样的组合运用,显著提升了测试的效率和精确度,有力地帮助企业增强了安全防御能力。

在进行渗透测试或是寻找SRC漏洞的过程中,多数人倾向于采用文中提到的哪一种域名资产搜集技巧?

erlang
复制代码dnswalk your_domain.