域名信息收集
主域名信息收集
ICP 备案信息收集
适用范围:仅限于中国境内网站。
背景:根据《互联网信息服务管理办法》,中国境内网站需完成 ICP 备案,记录网站所属公司、负责人等信息,未按规定备案的不得开展服务。
收集步骤:
whois 信息收集
定义:
whois
是一种 查询域名注册信息 的协议,访问 whois 服务器获取域名注册人、注册时间、DNS 服务器等信息,不会与目标网站交互。查询方式:
- 在线工具:如 whois.chinaz.com。
- 命令行:Kali 自带
whois
命令:whois example.com
特点:
- 国内域名:常由代理商如阿里云(万网)、腾讯云(DNSPOD)注册,所以查到的基本都是中间商的信息,个人信息较少。但是国内可以关注域名的
权重
,挖漏洞时,审核员可能会依据域名权重不同定级漏洞危害。 - 国外域名:借助
whois
查询到的信息,可能包含注册人姓名、电话、邮箱等信息。
- 国内域名:常由代理商如阿里云(万网)、腾讯云(DNSPOD)注册,所以查到的基本都是中间商的信息,个人信息较少。但是国内可以关注域名的
注意事项:
- 部分域名启用隐私保护,隐藏注册人信息。
- 频繁查询可能触发 whois 服务器限制。
whois 反查
适用范围:一般适用于境外网站,国内域名多为代理商信息,无意义。
步骤:
- 通过 whois 查询目标域名的注册人、邮箱或注册机构等信息。
- 使用反查工具(如 ggcx.com)查找同一注册人、注册机构或邮箱关联的其他域名。
IP 反查域名
旁站定义:通过目标域名的 IP 地址,查询同一 IP 上托管的其他域名(即“旁站”),有 CDN 的网站一般无旁站。
步骤:
- 获取目标域名对应的 IP 地址
- 使用 IP 反查域名工具查询是否有“旁站”。
子域名信息收集
爆破子域名
定义:通过字典拼接子域名(如
[字典].baidu.com
),访问验证是否存在。特点:主动收集,需要访问网站检测子域名是否存在,可能触发目标防御机制。
步骤:
- 准备子域名字典。
- 使用工具对目标域名进行爆破。
工具:
Layer 子域名挖掘机:
.NET
编写,自带字典,适合初学者。KSubdomain:
Golang
编写,自带字典,是无状态子域名爆破软件。./ksubdomain e -d [要爆破的域名]
证书透明度收集子域名
定义:通过 SSL/TLS 证书的公开日志(证书透明度,CT)查询目标关联的子域名。
原理:网站申请 SSL 证书时,子域名信息会被记录到 CT 日志中。
工具:
- crt.sh:输入域名查询相关证书。
- Facebook CT Search:批量查询子域名。
优点:被动收集,隐蔽性强。
缺点:仅适用于启用了 SSL 的子域名。
Google 黑客语法
- 定义:利用 Google 搜索引擎的高级语法,挖掘目标网站的敏感信息或子域名。
- 常见语法:
语法 | 用途 | 示例 |
---|---|---|
site: | 搜索特定网站或域名 | site: example.com |
intitle: | 搜索标题中含关键词的页面 | intitle: "login" |
inurl: | 搜索 URL 中含特定字符串的页面 | inurl: admin |
intext: | 搜索网页正文中含特定文本的页面 | intext: "password" |
filetype: | 搜索特定文件类型 | filetype: pdf "confidential" |
ext: | 按文件扩展名搜索 | ext: env DB_PASSWORD |
AND / OR | 逻辑与 / 或 | intitle: login OR intitle: admin |
– | 排除关键词 | intext: password -site: example.com |
* | 通配符(匹配任意字符) | inurl:*.php?id = |
"…" | 精确匹配短语 | "username and password" |
cache: | 查看 Google 缓存的页面 | cache: example.com |
related: | 查找类似网站 | related: example.com |
define: | 查找定义 | define: hacking |
info: | 获取网站信息 | info: example.com |
allintext: | 搜索正文中包含所有关键词的页面 | allintext: "admin" "dashboard" |
allintitle: | 搜索标题中包含所有关键词的页面 | allintitle: "index of" "backup" |
allinurl: | 搜索 URL 中包含所有关键词的页面 | allinurl: admin/login |
应用:
- 发现子域名:
site:baidu.com
、site:edu.cn
。 - 查找管理后台,图书馆等:
site:edu.cn intitle:后台
、site:edu.cn intitle:图书馆
。 - 查询资料并排除某网站:
如何安装vim -site:csdn.net
- 发现子域名:
注意事项:
- 频繁查询可能触发 Google 验证码。
- 结合代理或低频查询提高效率。
网络测绘平台
定义:通过网络空间测绘技术,帮助研究人员或者企业快速匹配目标的网络资产(如 IP、端口、子域名)等。
常见平台:
- 优点:高效、覆盖面广。
- 缺点:需付费。
实例:
- 搜索江苏省的大学域名:
domain.suffix="edu.cn"&&ip.province="江苏"&&(web.title="⼤学"||web.title="学院")
- 搜索江苏省的大学域名:
OneForAll
定义:一款强大的子域名收集工具,整合多种收集方式(如爆破、证书查询、测绘平台)。
特点:
- Python 编写,支持自定义配置。
- 集成第三方接口(如 Shodan、FOFA 等),提升收集效率。
- 输出结果为 CSV 格式,便于分析。
安装
#将项目克隆至本地
get clone https://github.com/shmilylty/OneForAll.git
#启动 python3.9 版本的虚拟环境
conda create --name py39 python=3.9 #使用 miniconda 安装切换 python 版本
conda activate py93
#CD 至 OneForAll 文件目录中,存在文件 requirements.txt
#文件内是作者写好的该脚本需要的一些库,自行下载
pip install -r requirements.txt
#若网络问题,选择国内清华源,命令后增加:
#-i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
启动
#查看 OneForAll 命令
python oneforall.py
#收集子域名
python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./example.txt run
配置
- 第三方接口:编辑
config/api.py
,添加 Shodan、FOFA 等 API 密钥。 - 自定义配置:修改
config/setting.py
。 - 默认规则:
config/default.py
包含默认规则,谨慎修改。
结果
- 输出路径:
results/域名.csv
。 - 内容:子域名、IP 等信息。