本项目是一个网络空间搜索引擎监控平台,本项目聚合了 Fofa、Hunter、Quake、Zoomeye 和 Threatbook 的数据源,并对获取到的数据进行去重与清洗。
该项目可以用于蓝方监控自身资产公网暴露以及 SRC 项目新增资产进行监控。
0x01 工具安装
解压安装包,按照config.demo.yaml 内的注释填写配置项 保存为config.yaml
global: #全局配置 启动时会触发一次所有的任务
hunter_key: ""
zoomeye_key: ""
quake_cookies: ""
threatbook_cookies: "" #微步登陆后 cookies 注意用量 频繁会触发验证码 强制退出登陆
fofa_email: "" # FOFA 邮箱
fofa_key: "" # FOFA KEY
save_path: "./data" #数据保存位置
ip: "127.0.0.1"
port: "12347"
secret_key: "123456"
plus_push_key: "" #推送加 key 有新增资产会推送
ding_push_key: "" #钉钉HOOK推送key
scan_on_start: true #启动时是否触发一次爬取
jobs:
- name: "one-ip" #任务名 推送用
schedule: "@daily" #定时采集 支持cron语法 示例 @daily 每天一次 (半夜0点触发 系统时间和时区一定要设置好) 参考 https://pkg.go.dev/github.com/robfig/cron?utm_source=godoc
hunter_query: "ip="1.1.1.1/24""
hunter_page: 10 #最大爬取页数 每页10条
quake_query: "ip: "1.1.1.1/24""
quake_page: 50
threatbook_query: "ip=1.1.1.1/24"
threatbook_page: 50
zoomeye_query: "1.1.1.1/24"
zoomeye_page: 10 #最大爬取页数 每页20条
fofa_query: "ip="1.1.1.1/24""
fofa_page: 10
- name: "哔哩哔哩-域名"
schedule: "@daily"
hunter_query: "domain="bilibili.com""
hunter_page: 10
quake_query: "domain: "bilibili.com""
quake_page: 50
threatbook_query: "root_domain=bilibili.com"
threatbook_page: 50
zoomeye_query: "site:bilibili.com"
zoomeye_page: 10
fofa_query: "domain="bilibili.com""
fofa_page: 10
启动 ./koko-moni
0x02 工具使用UI
注: web无登陆界面 直接访问 /?key=secret_key 鉴权 secret_key不正确时被RST连接为正常现象 key不正确触发反测绘。
0x03 搜索语法
本项目使用了 ZED 作为结构化数据搜索引擎 可参考zed官方文档 字段见输出文件
简单运算:
int
tlen >= 0
时间
timestamp >= 2023-01-08T05:55:22.200Z
字符串
title=="404"
如果带有特殊符号(中文)的键 根下可以使用 this[""] 引用
this["status-code"] >10
this["content-length"]==158
非根
abc["测试"]=="123456"
多层复杂json结构
{"a":{"b":{"c":"123"}}}
this["a"].b.c=="123"
{"a":{"b":["123","456"]}}
this["a"].b[0]=="123"
强制类型转换:
cast(数据,<类型>)
字符串日期转time
cast("2022-09-19T18:11:05.545961703+08:00",<time>)
字符串ip转ip
cast("1.1.1.1",<ip>)
也可以简写成
time("2022-09-19T18:11:05.545961703+08:00")
ip("1.1.1.1")
用例
cidr_match(1.1.0.0/16,ip(host)) //匹配ip是否在cidr内
time(timestamp) >= 2022-01-08T05:55:22.200Z
常用操作:
升序排序 sort dns_names 降序排序 sort -r dns_names
判断某个值是否在数组内
{"test":[301,200]}
200 in test
聚合查询
count() by key 输出 key,count() 与sort组合使用 count() by title|sort -r count
后台回复:230423,获取工具列表
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白名单。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与本公众号无关。
✦
✦
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...