
मल्टी-क्लाउड OSINT टूल। AWS, Azure और Google Cloud में सार्वजनिक संसाधनों की गणना करें।
मैंने यह टूल 2019 में Azure से जुड़े एक पेंटेस्ट के लिए बनाया था, क्योंकि उस समय कोई अन्य एनुमरेशन टूल इसका समर्थन नहीं करता था। यह वहाँ से बढ़ता गया, और सुविधाएँ जोड़ते हुए मैंने बहुत कुछ सीखा।
टूल बनाना मज़ेदार है, लेकिन उन्हें बनाए रखना कठिन है। मैंने कुछ समय से इस टूल का स्वयं सक्रिय रूप से उपयोग नहीं किया है, लेकिन मैंने बग्स को ठीक करने और पुल रिक्वेस्ट की समीक्षा करने की पूरी कोशिश की है।
आगे बढ़ते हुए, इस कार्यक्षमता को एक अच्छी तरह से बनाए रखे गए प्रोजेक्ट में समेकित करना समझदारी होगी जो आवश्यक चीजों (वेब/डीएनएस अनुरोध, थ्रेडिंग, I/O, लॉगिंग, आदि) को संभालता है। Nuclei इसके लिए वास्तव में उपयुक्त है। आप cloud_enum कार्यक्षमता को Nuclei में स्थानांतरित करने का मेरा पहला PR यहाँ देख सकते हैं।
मैं दूसरों को Nuclei में टेम्पलेट योगदान देने के लिए प्रोत्साहित करता हूँ, जिससे हम क्लाउड संसाधनों का पता लगाने पर ध्यान केंद्रित कर सकते हैं जबकि बुनियादी काम Nuclei पर छोड़ सकते हैं।
मैं अभी भी समय मिलने पर बग्स को संबोधित करने के लिए यहाँ PR की समीक्षा करने का प्रयास करूँगा, लेकिन संभवतः बड़े बदलावों के लिए समय नहीं होगा।
सभी महान योगदानकर्ताओं को धन्यवाद। आपकी रिकॉन के लिए शुभकामनाएँ!
मल्टी-क्लाउड OSINT टूल। AWS, Azure और Google Cloud में सार्वजनिक संसाधनों की गणना करें।
वर्तमान में निम्नलिखित की गणना करता है:
Amazon Web Services:
Microsoft Azure:
Google Cloud Platform
इसे Codingo के वीडियो डेमो में यहाँ देखें।
यह प्रोजेक्ट निर्भरता प्रबंधन के लिए uv का उपयोग करता है। uv इंस्टॉल करें, फिर चलाएँ:
uv sync
एकमात्र आवश्यक आर्गुमेंट कम से कम एक कीवर्ड है। आप बिल्ट-इन फ़ज़िंग स्ट्रिंग्स का उपयोग कर सकते हैं, लेकिन यदि आप -m और/या -b के साथ अपनी स्वयं की स्ट्रिंग्स प्रदान करते हैं तो बेहतर परिणाम मिलेंगे।
आप -k आर्गुमेंट को कई बार निर्दिष्ट करके कई कीवर्ड प्रदान कर सकते हैं।
कीवर्ड स्वचालित रूप से enum_tools/fuzz.txt या आपके द्वारा -m फ्लैग के साथ प्रदान की गई फ़ाइल की स्ट्रिंग्स का उपयोग करके म्यूटेट होते हैं। जिन सेवाओं को दूसरे स्तर के ब्रूट फोर्सिंग (Azure कंटेनर और GCP फंक्शन्स) की आवश्यकता होती है, वे डिफ़ॉल्ट रूप से fuzz.txt या आपके द्वारा -b फ्लैग के साथ प्रदान की गई फ़ाइल का उपयोग करेंगी।
मान लीजिए कि आप "somecompany" पर शोध कर रहे हैं जिसकी वेबसाइट "somecompany.io" है और जो "blockchaindoohickey" नाम का उत्पाद बनाती है। आप टूल को इस तरह चला सकते हैं:
uv run cloud_enum -k somecompany -k somecompany.io -k blockchaindoohickey
HTTP स्क्रैपिंग और DNS लुकअप डिफ़ॉल्ट रूप से प्रत्येक में 5 थ्रेड का उपयोग करते हैं। आप इसे बढ़ाने का प्रयास कर सकते हैं, लेकिन अंततः क्लाउड प्रदाता आपको रेट लिमिट कर देंगे। यहाँ 10 तक बढ़ाने का एक उदाहरण दिया गया है।
uv run cloud_enum -k keyword -t 10
महत्वपूर्ण: कुछ संसाधन (Azure कंटेनर, GCP फंक्शन्स) प्रति-क्षेत्र खोजे जाते हैं। स्कैनिंग में समय बचाने के लिए, cloudenum/azure_regions.py और cloudenum/gcp_regions.py में एक "REGIONS" वेरिएबल परिभाषित है जो डिफ़ॉल्ट रूप से केवल 1 क्षेत्र का उपयोग करने के लिए सेट है। हो सकता है कि आप इन फ़ाइलों को देखें और उन्हें अपने स्वयं के कार्य के अनुसार संपादित करें।
पूर्ण उपयोग विवरण
usage: cloud_enum.py [-h] -k KEYWORD [-m MUTATIONS] [-b BRUTE]
Multi-cloud enumeration utility. All hail OSINT!
optional arguments:
-h, --help show this help message and exit
-k KEYWORD, --keyword KEYWORD
Keyword. Can use argument multiple times.
-kf KEYFILE, --keyfile KEYFILE
Input file with a single keyword per line.
-m MUTATIONS, --mutations MUTATIONS
Mutations. Default: enum_tools/fuzz.txt
-b BRUTE, --brute BRUTE
List to brute-force Azure container names. Default: enum_tools/fuzz.txt
-t THREADS, --threads THREADS
Threads for HTTP brute-force. Default = 5
-ns NAMESERVER, --nameserver NAMESERVER
DNS server to use in brute-force.
-l LOGFILE, --logfile LOGFILE
Will APPEND found items to specified file.
-f FORMAT, --format FORMAT
Format for log file (text,json,csv - defaults to text)
--disable-aws Disable Amazon checks.
--disable-azure Disable Azure checks.
--disable-gcp Disable Google checks.
-qs, --quickscan Disable all mutations and second-level scans
अब तक, मैंने इनसे उधार लिया है: