★★免责声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
1、工具介绍
Kunyu (坤舆)用来全面描述和展示网络空间资产、网络空间各要素及要素之间关系,以及网络空间和现实空间的映射关系。旨在让企业资产收集更高效,使更多安全相关从业者了解、使用网络空间测绘技术。应用场景有:
- 企业内遗忘的,孤立的资产进行识别并加入安全管理。
- 企业外部暴露资产进行快速排查,统计。
- 红蓝对抗相关需求使用,对捕获IP进行批量检查。
- 批量收集脆弱资产(0day/1day) 影响内的设备、终端。
- 新型网络犯罪涉案站点信息进行快速收集,合并,进行更高效的研判、分析。
- 对互联网上受相关漏洞影响的脆弱资产,进行统计、复现。
- …
项目地址:https://github.com/knownsec/Kunyu
使用之前需要先做配置ZoomEye的登录凭证,如果没有账号先进行注册,到账号设置去获取ZoomEye的API-KEY和seebug和Token,如果没有刷新之前两者值一致,有变更时再重新调用命令初始化一下,下文会说明如何使用。
官方说明ZoomEye注册用户每月赠送1w条查询额度,足够日常工作使用。
ZoomEye访问地址:https://www.zoomeye.org/
Seebug访问地址:https://www.seebug.org/
2、安装
官文明确说明需要Python3以上的支持,在安装之前看下自己的Python3版本号是多少,如果是Python3.11版本问题会比较多。我使用环境是kali系统
如果没有kali系统虚拟机,可关注公众号:大象只为你,后台回复:【虚拟机】获取。
# 切换账号为root管理员权限
sudo su
# 查看Python3版本号命令
python3 --version
# 确认是否安装pip3,可用查看pip3版本号
pip3 --version
# 安装pip3命令
sudo apt-get update
sudo apt-get install python3-pip
# 下载源代码
git clone https://github.com/knownsec/Kunyu.git
# 切换目录到Kunyu,注意:外层的目录第一个字母是大写的
cd Kunyu
# 按官方文档导入需要的依赖
pip3 install -r requirements.txt
2.1、Python3.11下安装踩坑
在导入需要依赖时,如果kali或linux的python3版本号是3.11会报错
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
在网上找了一些解决方案,最终采取创建虚拟环境的方式,与系统环境隔离,操作步骤如下:
# 安装python3-venv包,如果还没安装的话
sudo apt install python3-venv
# 创建一个新的虚拟环境,注意:切换到项目目录,也就是Kunyu下,
python3 -m venv myenv
# 激活虚拟环境,当前窗口关闭后就失效,下次需要使用时,注意切换目录到myenv所在目录或者用绝对路径
source myenv/bin/activate
# 现在你可以在虚拟环境中安装【模块】
pip install 模块名
# 退出虚拟环境
deactivate
参考博客:https://blog.csdn.net/iblade/article/details/135002063
激活虚拟环境成功,会在最前面显示虚拟环境名称,如图所示
激活虚拟环境后,继续按官方的命令执行操作,导入需要的依赖成功,在后面会看到关键字:Successfully
# 导入需要的依赖,成功会在后面看到关键字:Successfully
pip3 install -r requirements.txt
# 安装,完成会看到关键字:Finished
python3 setup.py install
然后在初始化配置时发现报错,先是提示少模块:grequests、colorlog、pocsuite3,提示信息如下
from kunyu.core.console import KunyuInterpreter
File "/usr/local/lib/python3.11/dist-packages/kunyu-1.7.2-py3.11.egg/kunyu/core/__init__.py", line 15, in <module>
import grequests
ModuleNotFoundError: No module named 'grequests'
前两个按博客说明的方式apt install成功,但pocsuite3模块使用一直提示:无法定位软件包 python3-pocsuite3,后来修改为pip3 install的方式安装成功了,安装这个3模块后,又发现一个新的问题,
所以,在python3.11下需要再额外安装5个模块,命令如下:
apt install python3-grequests
apt install python3-colorlog
pip3 install pocsuite3
pip3 install lxml
pip3 install lxml_html_clean
2.2、初始化配置
在第一次运行程序时通过输入以下命令进行初始化操作,官方推荐使用API的方式,如果api-key有修改,需要重新执行下该命令
kunyu init --apikey <your zoomeye key> --seebug <your seebug key>
3、使用说明
在python3.11版本下,需要在虚拟环境下激活时使用,也就是说如果系统重启了或新开命令窗口,需要切换到kunyu工具创建虚拟环境env所在目录,使用source命令激活,详细见上文。
# 进入控制台方式一
cd Kunyu
kunyu console
# 进入控制台方式二
cd Kunyu/kunyu
python3 console.py
然后看到列出命令,退出exit。比如查看当前账号还剩下多少查询次数,用info命令
命令选项参数说明
ZoomEye:
page <Number> 查询返回页数(默认查询一页,每页20条数据)
dtype <0/1> 查询关联域名/子域名(设置0为查询关联域名,反之为子域名)
stype <v4/v6> 设置获取数据类型IPV4或IPV6,默认为 ipv4,ipv6 全选
btype <host/web> 设置批量查询的API接口(默认为HOST)
timeout <num> 设置Kunyu HTTP请求的超时时间
thread 设置PupilSearch线程数量(默认为10)
deep 设置PupilSearch递归深度(默认为2)
all PupilSearch Add All Url To Check List
fuzz PupilSearch Add Api To Check List
proxy PupilSearch HTTP Proxy
查询Web和host示例
更多其他用法,可以详细参考官方文档说明https://github.com/knownsec/Kunyu/blob/main/doc/README_CN.md,我就不一一列举了。
4、我的公众号
敬请关注我的公众号:大象只为你,持续更新网安相关知识中…