
Armory هي أداة مصممة لاستقبال الكثير من البيانات الخارجية وبيانات الاكتشاف من العديد من الأدوات، وإضافتها إلى قاعدة بيانات، وربط جميع المعلومات ذات الصلة ببعضها.
_
dM.
,MMb
d'YM. ___ __ ___ __ __ _____ ___ __ ____ ___
,P `Mb `MM 6MM `MM 6MMb 6MMb 6MMMMMb `MM 6MM `MM( )M'
d' YM. MM69 " MM69 `MM69 `Mb 6M' `Mb MM69 " `Mb d'
___,P____Mb___MM______MM____MM____MM_MM_____MM_MM_______YM.__,P___
d' YM. MM MM MM MM MM MM MM MM M \
__,MMMMMMMMb__MM______MM____MM____MM_MM_____MM_MM________`Mbd'_____\
d' YM. MM MM MM MM YM. ,M9 MM YMP
_dM_ _dMM_MM_ _MM_ _MM_ _MM_ YMMMMM9 _MM_ M
d'
(8),P
YMM
هذه الأداة مستقرة إلى حد ما الآن، لكنها لا تزال في طور التطور. الفرع الأصلي 'master' أصبح الآن armory1
Armory هي أداة مصممة لاستقبال الكثير من البيانات الخارجية وبيانات الاكتشاف من العديد من الأدوات، وإضافتها إلى قاعدة بيانات وربط جميع المعلومات ذات الصلة. لا تهدف إلى استبدال أي أداة محددة. بل تهدف إلى أخذ المخرجات من أدوات متنوعة واستخدامها لتغذية أدوات أخرى.
بالإضافة إلى ذلك، فهي مصممة لتكون قابلة للتوسيع بسهولة. ألا ترى وحدة لأداتك المفضلة؟ اكتب واحدة! تريد تصدير البيانات بالتنسيق المناسب لتقاريرك؟ أنشئ تقريرًا جديدًا!
بينما يمكن لـ Armory العمل بشكل جيد بدون Docker، ستحتاج إليه إذا كنت لا ترغب في تثبيت جميع الأدوات التي تستخدمها الوحدات على المضيف.
التثبيت سهل باستخدام pipx.
pipx install depth-armory
في أول تشغيل، سيتم إنشاء ملفات الإعداد في ~/.armory/. لإنشائها، فقط اكتب armory.
هناك نوعان من الملفات:
settings.py: يحتوي على الإعدادات الأساسية لـ Armory نفسها. يحتوي على مسارات المشروع، مسارات الوحدات المخصصة، إلخ.toolname.ini: هذه الملفات مخصصة لتحديد إعدادات ثابتة لمختلف الوحدات. يتم إنشاؤها تلقائيًا مع جميع الخيارات المتاحة للأدوات.الإعداد الافتراضي سيخزن قاعدة البيانات والبيانات في ~/armory_project.
اختياريًا، قم بتحرير settings.py وتعديل خيار base_path. يجب أن يشير إلى المسار الجذري الذي تستخدمه لمشروعك الحالي. من المحتمل أن تغيره مع كل مشروع، لذا ستستخدم دائمًا قاعدة بيانات نظيفة. إذا كنت لا تريد تغيير base_path مع كل مشروع جديد، يمكنك أيضًا حذف أو إعادة تسمية ملف db.sqlite3 من base_path الخاص بك. سيتم إنشاء جميع الملفات التي تنشئها الوحدات هنا، بالإضافة إلى قاعدة بيانات sqlite3. افتراضيًا سيكون داخل الدليل الحالي - . للحصول على معلومات إضافية حول settings.py، راجع التوثيق هنا.
أخيرًا، قم بتشغيل armory-init لإنشاء قاعدة البيانات.
يمكنك تثبيت صور Docker لمعظم الوحدات في Armory. للقيام بذلك، استخدم الأمر armory-docker:
-> % armory-docker -h
usage: manage build_docker [-h] [-s] [-a ACTION] [-m MODULES] [-r] [--version] [-v {0,1,2,3}]
[--settings SETTINGS] [--pythonpath PYTHONPATH] [--traceback] [--no-color]
[--force-color] [--skip-checks]
بناء صور Docker
خيارات:
-h, --help إظهار رسالة المساعدة هذه والخروج
-s, --smart بناء ذكي. إذا تم تثبيت ملف ثنائي، فلن يتم بناء صورة Docker.
-a, --action ACTION الإجراء المراد تنفيذه. `build` لبناء التقارير، `pull` للسحب من Dockerhub، و
`both` (الافتراضي: both)
-m, --modules MODULES
الوحدة لبناء صورة Docker لها، أو 'all' لجميع الصور. (الافتراضي: all)
-r, --rebuild إعادة بناء صورة Docker بدون ذاكرة تخزين مؤقت
افتراضيًا، سيقوم الأمر بسحب/بناء ملفات Docker لجميع الوحدات المكتشفة. استخدام -s سيتجنب بناء ملفات Docker للأدوات التي تم اكتشافها ضمن المسار (PATH).
ينقسم الاستخدام إلى وحدات وتقارير وتطبيقات ويب.
تقوم الوحدات بتشغيل الأدوات، واستيعاب المخرجات، وكتابتها إلى قاعدة البيانات. لعرض قائمة بالوحدات المتاحة، اكتب:
armory -lm
لعرض قائمة بخيارات الوحدة، اكتب:
armory -m <module> -M
التقارير مشابهة للوحدات، إلا أنها مصممة لسحب البيانات من قاعدة البيانات وعرضها بتنسيق قابل للاستخدام. لعرض جميع التقارير المتاحة:
armory -lr
لعرض خيارات التقرير المتاحة:
armory -r <report> -R
يحتوي Armory على محرك تطبيقات ويب، مع عدد قليل من تطبيقات الويب المقدمة. يمكن تشغيله باستخدام:
armory-web والذي سيستمع على http://127.0.0.1:8099، أو armory-manage runserver 0.0.0.0:8099 إذا كنت ترغب في تعديل عنوان IP و/أو المنفذ المرتبطين.
يوجد أيضًا صدفة تفاعلية تستخدم IPython كقاعدة وتتيح لك تشغيل الأوامر أو تغيير قيم قاعدة البيانات. يمكن تشغيلها باستخدام: armory-shell.
افتراضيًا، ستكون المتغيرات التالية متاحة: Domain, BaseDomain, IPAddress, CIDR, User, Cred, Vulnerability, Port, Url.