
روبوت لمراقبة أسطح الهجوم يحركه projectdiscovery ويعمل بواسطة axiom
Proteus - قاعدة بيانات axiom وAPI https://github.com/pry0cc/axiom.
كتب في الأصل من أجل التجميع معًا لمنصة ASM باستخدام أدوات ProjectDiscovery.
أولاً، استنسخ المستودع
git clone https://github.com/pry0cc/proteus ~/.proteus
cd ~/.proteus
بعد ذلك، عدّل config/notify.yaml لإضافة webhook الخاص بـ Slack.
انتقل إلى دليل bin وعدّل وحدات التخزين (volumes) في ملف docker-compose.yml بحيث تشير إلى إعداد 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
هذا كل شيء!
قم بتخزين أهدافك في مجلد النطاق المحلي ( ~/.proteus/scope/ )
جميع fleets فريدة لكل هدف، لذلك لا يوجد تبادل للبيانات. يمكنك إما تشغيل مثيلات (instances) ثم إطلاق عمليات الفحص، وفي هذه الحالة ستبقى المثيلات بعد ذلك، أو يمكنك فقط إطلاق عمليات الفحص. إذا قمت بإطلاق فحص دون وجود أي مثيلات، فسيقوم تلقائيًا بتشغيل 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>
سيعرض العميل البيانات في شكل جداول، مستقبلاً: إضافة مخرجات 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>