Osprey 漏洞检测与利用框架 项目简介
Osprey 是由 TCC (斗象能力中心)出品并长期维护的开源漏洞检测框架。简介Osprey 是一个可扩展的开源漏洞检测与利用框架(Python3 开发),是 TCC 长期的安全能力与经验的积累形成的一个可用工具,目前被集成应用于企业级安全产品 网藤风险感知-CRS 中。 Osprey 框架可供使用者在渗透测试、漏洞检测、漏洞扫描等场景中应用。框架提供了命令行接口和 Web 接口,可供灵活调用,也可用于构建自己的扫描器。Osprey —— 鱼鹰,一种善于捕鱼的猛禽,取此命名漏洞盒子 PoC 框架,寓意快、精、准。安装从 Git 上获取最新版本的 osprey 代码$ git clone https://github.com/TophantTechnology/osprey.git推荐在 Linux 环境下使用,并用 virtualenv 搭建独立的 python3 环境$ python3 -m venv venv
$ source venv/bin/activate最小化安装最小化安装仅提供命令行和一个交互式的 Console 接口,可满足大多数场景下的使用。$ python setup.py install完全安装安装 osprey 的完整功能,包括命令行工具、 交互式 Console 接口、 Web API 接口。 安装配置 RabbitMQ 安装配置 MongoDB 配置 settings.py 使用 MongoDB 作为数据库:use_mongo = True, use_sqlite = False 填充 RabbitMQ 和 MongoDB 的 URI:mongo_url, CELERY_BROKER 填写你的 Python3 解释器路径:PROGRAM 安装 Python 包: $ pip install -r web/requirements.txt使用 获取帮助列表: $ python osprey.py --help 最简单的用法,针对一个目标 URL,发起一个 PoC 做检测: $ python osprey.py -t URL -v POC_ID 使用交互式 Console 接口: $ python console/osprey-console.py 使用 Web API 接口: $ gunicorn -b 127.0.0.1:5000 osprey-web:app -w 5
$ celery -A osprey-web.celery worker --concurrency=5 -Q poc-queue -n osprey.%h -OfairDocker 使用可以使用 docker-compose 快速搭建完整的 Osprey 环境(需安装 docker 和 docker-compose)编译 docker 环境$ cd docker
$ docker-compose build运行完整的 osprey 环境$ docker-compose up -d访问http://YOUR-IP:5000/,可以看到 osprey Web 部署已完成利用 docker 搭建 osprey 的 Web 接口下发任务和获取执行结果$ curl http://127.0.0.1:5000/api/start -d '{"task_id": "TASK_ID", "vid": "vb_ID", "target": "http://x.com/"}'
$ curl http://127.0.0.1:5000/api/result -d '{"task_id": "TASK_ID"}'osprey 镜像拉取到本地之后,也可以直接通过 docker run 进入容器中(不启用 osprey-web),然后使用命令行工具或交互式 Console 接口$ docker run -it -v pocs:/opt/osprey/pocs tophant/osprey bash相关文档基于 Osprey 编写 PoC,请参考 osprey编写规范和要求说明要使用 Osprey Web 接口,请参考 osprey-web接口使用说明文档参考链接 CyberIVY TCC-Group of CyberIVY Vulbox TCC-Group of Vulbox
$ source venv/bin/activate最小化安装最小化安装仅提供命令行和一个交互式的 Console 接口,可满足大多数场景下的使用。$ python setup.py install完全安装安装 osprey 的完整功能,包括命令行工具、 交互式 Console 接口、 Web API 接口。 安装配置 RabbitMQ 安装配置 MongoDB 配置 settings.py 使用 MongoDB 作为数据库:use_mongo = True, use_sqlite = False 填充 RabbitMQ 和 MongoDB 的 URI:mongo_url, CELERY_BROKER 填写你的 Python3 解释器路径:PROGRAM 安装 Python 包: $ pip install -r web/requirements.txt使用 获取帮助列表: $ python osprey.py --help 最简单的用法,针对一个目标 URL,发起一个 PoC 做检测: $ python osprey.py -t URL -v POC_ID 使用交互式 Console 接口: $ python console/osprey-console.py 使用 Web API 接口: $ gunicorn -b 127.0.0.1:5000 osprey-web:app -w 5
$ celery -A osprey-web.celery worker --concurrency=5 -Q poc-queue -n osprey.%h -OfairDocker 使用可以使用 docker-compose 快速搭建完整的 Osprey 环境(需安装 docker 和 docker-compose)编译 docker 环境$ cd docker
$ docker-compose build运行完整的 osprey 环境$ docker-compose up -d访问http://YOUR-IP:5000/,可以看到 osprey Web 部署已完成利用 docker 搭建 osprey 的 Web 接口下发任务和获取执行结果$ curl http://127.0.0.1:5000/api/start -d '{"task_id": "TASK_ID", "vid": "vb_ID", "target": "http://x.com/"}'
$ curl http://127.0.0.1:5000/api/result -d '{"task_id": "TASK_ID"}'osprey 镜像拉取到本地之后,也可以直接通过 docker run 进入容器中(不启用 osprey-web),然后使用命令行工具或交互式 Console 接口$ docker run -it -v pocs:/opt/osprey/pocs tophant/osprey bash相关文档基于 Osprey 编写 PoC,请参考 osprey编写规范和要求说明要使用 Osprey Web 接口,请参考 osprey-web接口使用说明文档参考链接 CyberIVY TCC-Group of CyberIVY Vulbox TCC-Group of Vulbox