Knock:一款模块化的子域名扫描工具

来源:FreeBuf作者:Alpha_h4ck
关于Knock


Knock是一款功能强大的模块化子域名扫描工具,该工具基于Python开发,旨在通过被动侦察和字典扫描快速枚举目标域上的子域。


图片


Knock支持扫描DNS区域传输,并尝试在启用通配符 DNS 记录的情况下自动绕过它。除此之外,该工具还支持对VirusTotal子域的查询,但是需要在config.json文件中配置API_KEY。


工具要求


requests

dnspython

pyOpenSSL

beautifulsoup4

tqdm


工具安装


由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。


接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:


git clone https://github.com/guelfoweb/knock.git


然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:


cdknock
pipinstall -r requirements.txt


然后执行工具安装即可:


pip install .


可以通过修改knockpy/config.json添加你的VirusTotal API_KEY:


“api”:{
“virustotal”:“您的 VIRUSTOTAL API_KEY 在此”
},

工具帮助



usage: KNOCKPY [-h] [-d DOMAIN] [-f FILE] [-v] [--dns DNS] [--useragent USERAGENT]
               [--timeout TIMEOUT] [--threads THREADS] [--recon] [--bruteforce]
               [--wordlist WORDLIST] [--json-output] [--list] [--report REPORT]

knockpy v.7.0.1 - Subdomain Scan
https://github.com/guelfoweb/knock

options:
  -h, --help            示此帮助消息并退出
  -d DOMAIN, --domain DOMAIN
                       要分析的目标域
  -f FILE, --file FILE    包含目标域名列表的文件路径
  -v, --version         显示程序的版本号并退出
--dns DNS            自定义dns
--useragent USERAGENT
                        自定义用户代理
--timeout TIMEOUT     自定义超时
--threads THREADS    自定义线程
--recon               子域网络侦查
--bruteforce           子域暴力破解
--wordlist WORDLIST   要导入的字典文件
--wildcard             测试通配符
--json                 以JSON格式显示输出
--save FOLDER        保存输出数据的文件夹
  --report REPORT       显示保存的报告

工具使用


完整扫描:


knockpydomain.com


快速扫描:


knockpy domain.com –no-http


设置超时:


knockpy domain.com -t 5

使用--recon和--bruteforce选项开始扫描目标域:


knockpy-ddomain.com--recon--bruteforce


设置VirusTotal 和 Shodan的API密钥:




export API_KEY_VIRUSTOTAL=your-virustotal-api-key
export API_KEY_SHODAN=your-shodan-api-key


将报告保存在文件夹中:


knockpy-ddomain.com--recon--bruteforce--savereport


显示已保存的报告:


knockpy--reportdomain.com_yyyy_aa_dd_hh_mm_ss.json


作为模块导入:














from knock import KNOCKPY

domain = 'domain.com'

results = KNOCKPY(domain, dns=None, useragent=None, timeout=None, threads=None, recon=True, bruteforce=True, wordlist=None)

print (results)

工具运行演示


图片


许可证协议


本项目的开发与发布遵循GPL-3.0开源许可协议。


项目地址


Knock

https://github.com/guelfoweb/knock


|
|
|
|
咨询合作电话:0531-88762231
地址:山东省济南市历下区舜泰广场8号楼西座9层
官方公众号
自媒体平台
添加微信客服报名