声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
前言
Subfinder是一个用于子域枚举的开源工具,这意味着它有助于识别特定域名的子域。子域名是大域名的一部分,由点来进行分隔。例如:在域名“blog.example.com”
中,“blog”就是子域。
攻击者经常使用子域名发起攻击,例如网络钓鱼和恶意软件攻击。通过识别与某个域关联的所有子域,安全人员可以主动保护它们并防止潜在的攻击。子域枚举还可以帮助识别可能存在安全隐患的被遗忘或放弃的子域,并帮助识别在主网站上可能不可见的域中托管的新的web应用程序或服务。
安装
在 Debian/Ubuntu上面,想要安装请使用以下命令(其他发行版本类似,从官方存储库下载二进制文件,并使用包管理器安装它):
sudo apt-get update && sudo apt-get install subfinder
在mac系统上面:
首先在终端中执行以下命令安装Homebrew包管理器:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装完Homebrew后,执行以下命令安装subfinder:
brew install subfinder
在Windows上面:
从官方存储库下载最新的二进制版本。 解压缩下载的存档文件,并将解压缩的文件夹添加到系统的PATH环境变量中。
如何使用subfinder
安装subfinder后,可以从命令行界面(CLI)使用它。下面是subfinder的基本用法:
subfinder -d example.com
上面这个命令将枚举“example.com”域的子域,并将结果输出到终端。
如果想要保存结果,请使用以下命令:
subfinder -d example.com -o output.txt
上面这个命令将把结果保存到“output.txt”文件中。
要枚举多个域的子域,用逗号分隔:
subfinder -d example.com,example.net
这将列举“example.com”和“example.net”域的子域。
使用" -t "标志可以使用多个线程来实现更快的枚举:
subfinder -d example.com -t 10
这将使用10个线程来枚举“example.com”域的子域。
要使用不同的输出格式,请使用" -o "标记:
subfinder -d example.com -o json
这将以JSON格式输出结果。
要查看完整的选项信息,可以运行subfinder -h
命令。
一些高级功能
先来看下面这个命令:
subfinder -d example.com --set-config SHODAN_API_KEY=your_api_key
在这个例子中,我们使用--set-config
标志来指定SHODAN_API_KEY配置选项。这个选项是用来指定你的Shodan API密钥的。
其他类似的有:
subfinder -d example.com --set-config CENSYS_API_ID=your_api_id CENSYS_API_SECRET=your_api_secret
subfinder -d example.com --set-config SECURITYTRAILS_API_KEY=your_api_key
subfinder -d example.com --set-config VIRUSTOTAL_API_KEY=your_api_key
下面是一个如何使用subfinder作为库的例子:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
0
在Python脚本中导入:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1
使用subfinder的run函数枚举子域:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2
高级过滤选项
--exclude-sources
:此选项允许你从枚举过程中排除特定的数据源。例如,如果你不想包含Shodan的结果,你可以使用下面的命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
3
--exclude-subdomains
:该选项允许您从结果中排除特定的子域。例如,如果你想排除所有包含字符串"test"的子域,你可以使用以下命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
4
--exclude-resolvers
:该选项允许你从枚举过程中排除特定的DNS解析器。例如,如果不想使用谷歌的DNS解析器,可以使用以下命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
5
--include-sources
:该选项允许在枚举过程中只包含特定的数据源。例如,如果你只想包含来自Censys和Shodan的结果,你可以使用以下命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
6
--timeout
:该选项设置HTTP请求的超时时间,单位为秒。可以使用如下命令将超时时间设置为10秒。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
7
福利
笔者自己录制的一套php视频教程(适合0基础的),感兴趣的童鞋可以看看,基础视频总共约200多集,目前已经录制完毕,后续还有更多视频出品
https://space.bilibili.com/177546377/channel/seriesdetail?sid=2949374
技术交流
技术交流请加笔者微信:richardo1o1 (暗号:growing)
往期回顾
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...