Proteus - Axiom 数据库和 API https://github.com/pry0cc/axiom。
最初为使用 ProjectDiscovery 工具构建 ASM 平台而编写。
首先,克隆仓库
git clone https://github.com/pry0cc/proteus ~/.proteus
cd ~/.proteus
接下来,修改 config/notify.yaml 以包含你的 Slack webhook。
进入 bin 目录,修改 docker-compose.yml 中的 volumes,使其映射到你本地的 axiom 配置。你需要将 /home/op/ 改为你当前的 $HOME 目录。
services:
redis:
image: redis
mongo:
image: mongo
worker:
image: proteus/worker
build:
context: bin/worker/
volumes:
- /home/op/.axiom/accounts/personal.json:/root/.axiom/accounts/default.json # map your account here
- /home/op/.axiom/modules:/root/.axiom/modules # map modules
- /home/op/.ssh:/root/.ssh # map SSH
- /home/op/.proteus:/app # map proteus folder to the app (for persistence of data like rawdata & scans), not 100% necessary but nice to have.
cd bin/
sudo docker compose build
sudo docker compose up
就这么简单!
将你的目标存储在本地的 scope 文件夹中(~/.proteus/scope/)
每个目标都有独立的 fleet(实例组),因此数据不会交叉。你可以先启动实例再发起扫描,这种情况下实例会保留下来;也可以直接启动扫描。如果在没有任何实例的情况下启动扫描,默认会启动 5 个实例,并在扫描完成后自动移除。
curl -s http://127.0.0.1:80/api/<target>/launch_scan
curl -s http://127.0.0.1:80/api/<target>/launch_scan?spinup=8
curl -s http://127.0.0.1:80/api/<target>/launch_scan?spinup=8&module=asm
curl -s http://127.0.0.1:80/api/<target>/spinup?instances=15 # spin up instances for a target
curl -s http://127.0.0.1:80/api/<target>/scans
curl -s http://127.0.0.1:80/api/<target>/<datatype>
curl -s http://127.0.0.1:80/api/<target>/dnsx
curl -s http://127.0.0.1:80/api/<target>/http
curl -s http://127.0.0.1:80/api/<target>/subs
curl -s http://127.0.0.1:80/api/<target>/nuclei
curl -s http://127.0.0.1:80/api/<target>/<datatype>?scan_id=<scan_id>
客户端会将数据制成表格,TODO:增加 JSON 或文本输出。
pip3 install -r bin/client/requirements.txt
bin/client/client.py --target <target> --type http
bin/client/client.py --target <target> --type dns
bin/client/client.py --target <target> --type host
bin/client/client.py --target <target> --type scans
bin/client/client.py --target <target> --type scans --scanid <scan_id>