Osprey漏洞檢測(cè)與利用框架
Osprey 是由 TCC (斗象能力中心)出品并長(zhǎng)期維護(hù)的開源漏洞檢測(cè)框架。
簡(jiǎn)介
Osprey 是一個(gè)可擴(kuò)展的開源漏洞檢測(cè)與利用框架(Python3 開發(fā)),是 TCC 長(zhǎng)期的安全能力與經(jīng)驗(yàn)的積累形成的一個(gè)可用工具,目前被集成應(yīng)用于企業(yè)級(jí)安全產(chǎn)品 網(wǎng)藤風(fēng)險(xiǎn)感知-CRS 中。 Osprey 框架可供使用者在滲透測(cè)試、漏洞檢測(cè)、漏洞掃描等場(chǎng)景中應(yīng)用??蚣芴峁┝嗣钚薪涌诤?Web 接口,可供靈活調(diào)用,也可用于構(gòu)建自己的掃描器。
Osprey —— 魚鷹,一種善于捕魚的猛禽,取此命名漏洞盒子 PoC 框架,寓意快、精、準(zhǔn)。
安裝
從 Git 上獲取最新版本的 osprey 代碼
$ git clone https://github.com/TophantTechnology/osprey.git
推薦在 Linux 環(huán)境下使用,并用 virtualenv 搭建獨(dú)立的 python3 環(huán)境
$ python3 -m venv venv $ source venv/bin/activate
最小化安裝
最小化安裝僅提供命令行和一個(gè)交互式的 Console 接口,可滿足大多數(shù)場(chǎng)景下的使用。
$ python setup.py install
完全安裝
安裝 osprey 的完整功能,包括命令行工具、 交互式 Console 接口、 Web API 接口。
-
安裝配置 RabbitMQ
-
安裝配置 MongoDB
-
配置
settings.py-
使用 MongoDB 作為數(shù)據(jù)庫(kù):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
-
最簡(jiǎn)單的用法,針對(duì)一個(gè)目標(biāo) URL,發(fā)起一個(gè) PoC 做檢測(cè):
$ 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 -Ofair
Docker 使用
可以使用 docker-compose 快速搭建完整的 Osprey 環(huán)境(需安裝 docker 和 docker-compose)
編譯 docker 環(huán)境
$ cd docker $ docker-compose build
運(yùn)行完整的 osprey 環(huán)境
$ docker-compose up -d
訪問http://YOUR-IP:5000/,可以看到 osprey Web 部署已完成
利用 docker 搭建 osprey 的 Web 接口下發(fā)任務(wù)和獲取執(zhí)行結(jié)果
$ 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 進(jìn)入容器中(不啟用 osprey-web),然后使用命令行工具或交互式 Console 接口
$ docker run -it -v pocs:/opt/osprey/pocs tophant/osprey bash
相關(guān)文檔
基于 Osprey 編寫 PoC,請(qǐng)參考 osprey編寫規(guī)范和要求說明
要使用 Osprey Web 接口,請(qǐng)參考 osprey-web接口使用說明文檔
參考鏈接
