
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 नहीं बदलना चाहते, तो आप अपने base_path से db.sqlite3 फ़ाइल को आसानी से हटा या नाम बदल सकते हैं। मॉड्यूल द्वारा उत्पन्न सभी फ़ाइलें यहाँ बनाई जाएंगी, साथ ही sqlite3 डेटाबेस भी। डिफ़ॉल्ट रूप से यह वर्तमान निर्देशिका. में होगा settings.py पर अतिरिक्त जानकारी के लिए, यहाँ दस्तावेज़ देखें।
अंत में, डेटाबेस बनाने के लिए armory-init चलाएँ।
आप Armory में अधिकांश मॉड्यूल के लिए Docker इमेज स्थापित कर सकते हैं। ऐसा करने के लिए, कमांड 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]
Build docker images
options:
-h, --help show this help message and exit
-s, --smart Smart build. If a binary is installed, the docker image won't be built.
-a, --action ACTION Action to perform. `build` to build reports, `pull` to pull from Dockerhub, and
`both` (Default: both)
-m, --modules MODULES
Module to build the docker image for, or 'all' for every image. (default: all)
-r, --rebuild Rebuild docker image without cache
डिफ़ॉल्ट रूप से, कमांड सभी खोजे गए मॉड्यूल के लिए dockerfile खींचेगा/बनाएगा। -s का उपयोग करने से उन उपकरणों के लिए dockerfiles बनाने से बचा जाएगा जो PATH में पाए जाते हैं।
उपयोग मॉड्यूल, रिपोर्ट और वेब ऐप में विभाजित है।
मॉड्यूल उपकरण चलाते हैं, आउटपुट को इन्जेस्ट करते हैं, और डेटाबेस में लिखते हैं। उपलब्ध मॉड्यूल की सूची देखने के लिए, टाइप करें:
armory -lm
मॉड्यूल विकल्पों की सूची देखने के लिए, टाइप करें:
armory -m <module> -M
रिपोर्ट मॉड्यूल के समान हैं, सिवाय इसके कि वे डेटाबेस से डेटा खींचने और इसे उपयोगी प्रारूप में प्रदर्शित करने के लिए हैं। सभी उपलब्ध रिपोर्ट देखने के लिए:
armory -lr
उपलब्ध रिपोर्ट विकल्प देखने के लिए:
armory -r <report> -R
Armory में एक वेब ऐप इंजन है, जिसमें कुछ प्रदान किए गए वेब ऐप हैं। इसे इस प्रकार लॉन्च किया जा सकता है:
armory-web जो http://127.0.0.1:8099 पर सुनेगा, या यदि आप बाइंड IP पता और/या पोर्ट बदलना चाहते हैं तो armory-manage runserver 0.0.0.0:8099।
एक इंटरैक्टिव शेल भी है जो IPython को आधार के रूप में उपयोग करता है और आपको कमांड चलाने या डेटाबेस मान बदलने की अनुमति देगा। इसे इस प्रकार लॉन्च किया जा सकता है: armory-shell।
डिफ़ॉल्ट रूप से, निम्नलिखित उपलब्ध होंगे: Domain, BaseDomain, IPAddress, CIDR, User, Cred, Vulnerability, Port, Url।