
मल्टी-क्लाउड OSINT टूल। AWS, Azure और Google Cloud में सार्वजनिक संसाधनों की गणना करें।
मैंने इस टूल को 2019 में Azure से जुड़े एक पेंटेस्ट के लिए बनाया था, क्योंकि उस समय कोई अन्य एन्यूमरेशन टूल इसे सपोर्ट नहीं करता था। वहीं से यह आगे बढ़ता गया, और फीचर्स जोड़ते हुए मैंने बहुत कुछ सीखा।
टूल बनाना मज़ेदार है, लेकिन टूल को मेंटेन करना मुश्किल है। मैंने खुद इस टूल का सक्रिय रूप से काफी समय से उपयोग नहीं किया है, लेकिन मैंने बग ठीक करने और pull requests की समीक्षा करने की पूरी कोशिश की है।
आगे बढ़ते हुए, यह समझ में आता है कि इस कार्यक्षमता को एक अच्छी तरह से मेंटेन किए गए प्रोजेक्ट में समेकित किया जाए जो बुनियादी चीज़ों (web/dns requests, threading, I/O, logging, आदि) को संभालता हो। Nuclei इसके लिए बहुत उपयुक्त है। cloud_enum की कार्यक्षमता को Nuclei में माइग्रेट करने के लिए मेरा पहला PR आप यहाँ देख सकते हैं।
मैं दूसरों को प्रोत्साहित करता हूँ कि वे Nuclei में templates योगदान करें, जिससे हम cloud resources का पता लगाने पर ध्यान केंद्रित कर सकें और बुनियादी काम Nuclei पर छोड़ सकें।
समय मिलने पर मैं अभी भी यहाँ बग ठीक करने के लिए PRs की समीक्षा करने की कोशिश करूँगा, लेकिन बड़े बदलावों के लिए संभवतः समय नहीं मिलेगा।
सभी शानदार contributors का धन्यवाद। आपकी recon के लिए शुभकामनाएँ!
मल्टी-क्लाउड OSINT टूल। AWS, Azure, और Google Cloud में सार्वजनिक संसाधनों की एन्यूमरेशन करें।
वर्तमान में निम्नलिखित की एन्यूमरेशन करता है:
Amazon Web Services:
Microsoft Azure:
Google Cloud Platform
इसे Codingo के वीडियो डेमो में यहाँ क्रियान्वित होते देखें।
यह प्रोजेक्ट dependency management के लिए uv का उपयोग करता है। uv इंस्टॉल करें, फिर चलाएँ:
uv sync
या इसे एक standalone tool के रूप में इंस्टॉल करें:
uv tool install git+https://github.com/initstring/cloud_enum
एकमात्र आवश्यक argument कम से कम एक keyword है। आप अंतर्निहित fuzzing strings का उपयोग कर सकते हैं, लेकिन यदि आप -m और/या -b के साथ अपने स्वयं के strings दें तो बेहतर परिणाम मिलेंगे।
आप -k argument को कई बार निर्दिष्ट करके कई keywords दे सकते हैं।
Keywords को enum_tools/fuzz.txt या -m flag के साथ दिए गए फ़ाइल से strings का उपयोग करके स्वचालित रूप से mutate किया जाता है। जिन सेवाओं को दूसरे स्तर के brute forcing की आवश्यकता होती है (Azure Containers और GCP Functions) वे भी डिफ़ॉल्ट रूप से fuzz.txt या -b flag के साथ दिए गए फ़ाइल का उपयोग करेंगी।
मान लीजिए आप "somecompany" पर शोध कर रहे थे जिसकी वेबसाइट "somecompany.io" है और जो "blockchaindoohickey" नाम का उत्पाद बनाती है। आप टूल को इस तरह चला सकते हैं:
uv run cloud_enum -k somecompany -k somecompany.io -k blockchaindoohickey
HTTP scraping और DNS lookups डिफ़ॉल्ट रूप से प्रत्येक 5 threads का उपयोग करते हैं। आप इसे बढ़ाने का प्रयास कर सकते हैं, लेकिन अंततः cloud providers आपको rate limit कर देंगे। यहाँ 10 तक बढ़ाने का एक उदाहरण है।
uv run cloud_enum -k keyword -t 10
महत्वपूर्ण: कुछ संसाधन (Azure Containers, GCP Functions) प्रति-region खोजे जाते हैं। स्कैनिंग में समय बचाने के लिए, enum_tools/azure_regions.py और enum_tools/gcp_regions.py में एक "REGIONS" variable परिभाषित है जो डिफ़ॉल्ट रूप से केवल 1 region का उपयोग करने के लिए सेट है। आप इन फ़ाइलों को देखना और अपने काम के अनुसार संपादित करना चाह सकते हैं।
पूर्ण उपयोग विवरण
usage: cloud_enum [-h] (-k KEYWORD | -kf KEYFILE) [-m MUTATIONS] [-b BRUTE] [-t THREADS]
[-ns NAMESERVER] [-nsf NAMESERVERFILE] [-l LOGFILE] [-f FORMAT] [--disable-aws]
[--disable-azure] [--disable-gcp] [-qs]
Multi-cloud enumeration utility. All hail OSINT!
options:
-h, --help show this help message and exit
-k, --keyword KEYWORD
Keyword. Can use argument multiple times.
-kf, --keyfile KEYFILE
Input file with a single keyword per line.
-m, --mutations MUTATIONS
Mutations. Default: enum_tools/fuzz.txt
-b, --brute BRUTE List to brute-force Azure container names. Default: enum_tools/fuzz.txt
-t, --threads THREADS
Threads for HTTP brute-force. Default = 5
-ns, --nameserver NAMESERVER
DNS server to use in brute-force. Default: 1.1.1.1
-nsf, --nameserverfile NAMESERVERFILE
Path to the file containing nameserver IPs
-l, --logfile LOGFILE
Appends found items to specified file.
-f, --format FORMAT Format for log file (text,json,csv) - default: 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
अब तक, मैंने इनसे उधार लिया है: