Knockpy子域扫描工具:探寻神奇的网络空间

0x01 Knockpy介绍

Knockpy是一个基于Python3的工具,专为通过字典攻击枚举目标域上的子域而设计。

图片[1]-Knockpy子域扫描工具:探寻神奇的网络空间-山海云端论坛

0x02 Knockpy安装

安装前确保已安装python3、pip3、git。

<code>$ git clone https://github.com/guelfoweb/knock.git</code>

选择以下任一方式安装:

全局site-packages目录:

<code># python3 setup.py install</code>

用户site-packages目录:

<code>$ python3 setup.py install --user</code>

使用virtualenv + pip:

<code>$ virtualenv --python=python3 venv3 $ source venv3/bin/activate $ pip3 install -r requirements.txt</code>

0x03 Knockpy帮助


usage: knockpy [-h] [-v] [--no-local] [--no-remote] [--no-http] [--no-http-code CODE [CODE ...]] [-w WORDLIST] [-o FOLDER] [-t SEC] domain

--------------------------------------------------------------------------------
* SCAN
full scan:  knockpy domain.com
fast scan:  knockpy domain.com --no-http
quick scan: knockpy domain.com --no-http --no-local
ignore code:  knockpy domain.com --no-http-code 404 500 530
timeout:  knockpy domain.com -t 2

* REPORT
show report:  knockpy --report knockpy_report/domain.com_yyyy_mm_dd_hh_mm_ss.json
plot report:  knockpy --plot knockpy_report/domain.com_yyyy_mm_dd_hh_mm_ss.json
csv report: knockpy --csv knockpy_report/domain.com_yyyy_mm_dd_hh_mm_ss.json

* SETTINGS
set apikey: knockpy --set apikey-virustotal=APIKEY
set timeout:  knockpy --set timeout=sec
--------------------------------------------------------------------------------

positional arguments:
  domain                target to scan

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  --no-local            local wordlist ignore
  --no-remote           remote wordlist ignore
  --no-http             http requests ignore
                        
  --no-http-code CODE [CODE ...]
                        http code list to ignore
                        
  -w WORDLIST           wordlist file to import
  -o FOLDER             report folder to store json results
  -t SEC                timeout in seconds

0x04 Knockpy用法

全扫描

<code>$ knockpy domain.com</code>

攻击类型:dns + http(s)请求

Knockpy 使用内部文件wordlist.txt。如果要使用外部词典,可以使用-w选项并指定词典文本文件的路径。

Knockpy也尝试从子域google,duckduckgo和virustotal。结果将被添加到通用词典中。

强烈建议使用您可以免费获得的virustotal API_KEY。最好的结果总是来自virustotal。

但是,如果您只想使用本地单词列表,而不需要搜索引擎查询,您可以添加–no-remote绕过远程侦察。

如果要忽略具有特定代码的 http(s) 响应,可以使用–no-http-code后跟代码列表的选项404 500 530

快速扫描

<code>$ knockpy domain.com --no-http</code>

攻击类型:dns

仅DNS请求,不会发出http(s)请求。这样响应会更快,您将获得IP地址和子域。

如果是,子域的颜色将为青色,alias在这种情况下,还将提供真实的主机名。

设置超时

<code>$ knockpy domain.com -t 5</code>

默认超时 =3秒。

病毒总APIKEY

<code>$ knockpy --set apikey-virustotal=APIKEY</code>

免费获得virustotal APIKEY

显示报告

<code>$ knockpy --report knockpy_report/domain.com_yyyy_mm_dd_hh_mm_ss.json</code>

在终端中显示报告。

CSV 报告

<code>$ knockpy --csv knockpy_report/domain.com_yyyy_mm_dd_hh_mm_ss.json</code>

将报告另存为csv文件。

绘图报告

<code>$ knockpy --plot knockpy_report/domain.com_yyyy_mm_dd_hh_mm_ss.json</code>

情节关系。

导出目录

<code>$ knockpy domain.com -o /path/to/new/folder</code>

所有扫描都保存在knockpy_report您可以在config.json文件中编辑的默认文件夹中。

或者,您可以使用该-o选项来定义新文件夹路径。

报告 在每次扫描时,报告将自动json以名称保存在文件中domain.com_yyyy_mm_dd_hh_mm_ss.json。

如果您不喜欢自动保存,您可以config.json通过将值更改为”save”: false.

要以人工格式阅读报告,您可以按照显示报告中的说明进行操作。

报告示例domain.com_yyyy_mm_dd_hh_mm_ss.json:

<code>{ "sub-1.domain.com": { "domain": "host.domain.ext", "alias": ["sub-1.domain.com"], "ipaddr": [ "123.123.123.123" ], "code": 200, "server": "Microsoft-IIS/8.5" }, ................................... -- cut -- ................................... "sub-n.domain.com"{ "domain": "", "alias": [], "ipaddr": [ "123.123.123.124" ], "code": 500, "server": "nginx/1.15.6 " }, "_meta": { "name": "knockpy", "version": "5.1.0", "time_start": 1616353591.2510355, "time_end": 1616353930.6632543, "domain": "domain.com", "wordlist": 2120 } }</code>

_meta 是保留键,包含扫描的基本信息。

0x05 Knockpy获取

Knockpy子域扫描工具:探寻神奇的网络空间-山海云端论坛
隐藏内容,输入密码后查看
在公众号对话框输入:Knockpy,即可获得
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容