
FestIn - खुले S3 बकेट स्कैनर

FestIN - शक्तिशाली S3 बकेट खोजक और सामग्री खोजFestIn को फ़ीड करने के लिए पिछली जनरेट की गई फ़ाइल तैयार करेंFestIn एक उपकरण है जो डोमेन से शुरू करके खुले S3 बकेट की खोज करने के लिए है।
यह बहुत सारे परीक्षण करता है और निम्नलिखित से जानकारी एकत्र करता है:
S3 बकेट की गणना और खोज के लिए बहुत सारे S3 उपकरण मौजूद हैं। उनमें से कुछ बहुत अच्छे हैं, लेकिन किसी के पास सुविधाओं की पूरी सूची नहीं है जो Festin में है।
मुख्य विशेषताएं जो Festin को बहुत अच्छा बनाती हैं:
Python 3.8 या उससे ऊपर आवश्यक है!
$ pip install festin
$ festin -h
$ docker run --rm -it cr0hn/festin -h
$ festin -h
usage: __main__.py [-h] [--version] [-f FILE_DOMAINS] [-w] [-c CONCURRENCY] [--no-links] [-T HTTP_TIMEOUT] [-M HTTP_MAX_RECURSION] [-dr DOMAIN_REGEX] [-rr RESULT_FILE] [-rd DISCOVERED_DOMAINS] [-ra RAW_DISCOVERED_DOMAINS]
[--tor] [--debug] [--no-print] [-q] [--index] [--index-server INDEX_SERVER] [-dn] [-ds DNS_RESOLVER]
[domains [domains ...]]
Festin - the powered S3 bucket finder and content discover
positional arguments:
domains
optional arguments:
-h, --help show this help message and exit
--version show version
-f FILE_DOMAINS, --file-domains FILE_DOMAINS
file with domains
-w, --watch watch for new domains in file domains '-f' option
-c CONCURRENCY, --concurrency CONCURRENCY
max concurrency
HTTP Probes:
--no-links extract web site links
-T HTTP_TIMEOUT, --http-timeout HTTP_TIMEOUT
set timeout for http connections
-M HTTP_MAX_RECURSION, --http-max-recursion HTTP_MAX_RECURSION
maximum recursison when follow links
-dr DOMAIN_REGEX, --domain-regex DOMAIN_REGEX
only follow domains that matches this regex
Results:
-rr RESULT_FILE, --result-file RESULT_FILE
results file
-rd DISCOVERED_DOMAINS, --discovered-domains DISCOVERED_DOMAINS
file name for storing new discovered after apply filters
-ra RAW_DISCOVERED_DOMAINS, --raw-discovered-domains RAW_DISCOVERED_DOMAINS
file name for storing any domain without filters
Connectivity:
--tor Use Tor as proxy
Display options:
--debug enable debug mode
--no-print doesn't print results in screen
-q, --quiet Use quiet mode
Redis Search:
--index Download and index documents into Redis
--index-server INDEX_SERVER
Redis Search ServerDefault: redis://localhost:6379
DNS options:
-dn, --no-dnsdiscover
not follow dns cnames
-ds DNS_RESOLVER, --dns-resolver DNS_RESOLVER
comma separated custom domain name servers
डिफ़ॉल्ट रूप से FestIn एक प्रारंभिक डोमेन को कमांड लाइन पैरामीटर के रूप में स्वीकार करता है:
> festin mydomain.com
लेकिन आप डोमेन की सूची वाली बाहरी फ़ाइल भी सेट कर सकते हैं:
> cat domains.txt
domain1.com
domain2.com
domain3.com
> festin -f domains.txt
FestIn एक डोमेन के लिए बहुत सारे परीक्षण करता है। प्रत्येक परीक्षण समवर्ती रूप से किया जाता है। डिफ़ॉल्ट रूप से समवर्तीता 5 पर सेट है। यदि आप समवर्ती परीक्षणों की संख्या बढ़ाना चाहते हैं, तो आपको -c विकल्प सेट करना होगा।
> festin -c 10 mydomain.com
समवर्ती परीक्षणों की संख्या से सावधान रहें, अन्यथा कुछ वेबसाइटों पर "अलार्म" उठ सकते हैं।
FestIn में S3 बकेट के लिंक खोजने के लिए एक छोटा क्रॉलर एम्बेडेड है। क्रॉलर इन विकल्पों को स्वीकार करता है:
-T या --http-timeout): HTTP कनेक्शन के लिए टाइमआउट कॉन्फ़िगर करें। यदि आप जिस डोमेन का विश्लेषण करना चाहते हैं उसकी वेबसाइट धीमी है, तो हम इस मान को बढ़ाने की सलाह देते हैं। डिफ़ॉल्ट रूप से टाइमआउट 5 सेकंड है।-H या --http-max-recursion): यह मान क्रॉलिंग पुनरावृत्ति के लिए एक सीमा निर्धारित करता है। अन्यथा FestIn पूरे इंटरनेट को स्कैन करेगा। डिफ़ॉल्ट रूप से यह मान 3 है। इसका मतलब है कि यह केवल: domain1.com -> [link] -> domain2.com -> [link] -> domain3.com -> [link] तक फॉलो करेगा -> अधिकतम पुनरावृत्ति तक पहुंच गया। रुकें-dr या --domain-regex): क्रॉलर को केवल उन डोमेन तक सीमित करने के लिए यह विकल्प सेट करें जो इस regex से मेल खाते हैं।उदाहरण:
> echo "cdn" > blacklist.txt
> echo "photos" >> blacklist.txt
> festin -T 20 -M 8 -B blacklist.txt -dr .mydomain. mydomain.com
सावधान रहें: -dr (या --domain-regex) केवल मान्य POSIX regex स्वीकार करता है।
*mydomain.com* -> मान्य POSIX regex नहीं है
.mydomain\.com. -> मान्य POSIX regex है
जब FestIn चलता है, तो यह बहुत सारी उपयोगी जानकारी खोजता है। न केवल S3 बकेट के बारे में, बल्कि अन्य जांचों के लिए भी जो हम कर सकते हैं। उदाहरण के लिए:
FestIn का उपयोग करने के बाद हम खोजी गई जानकारी (डोमेन, लिंक, संसाधन, अन्य बकेट...) का उपयोग अन्य उपकरणों, जैसे nmap, के इनपुट के रूप में कर सकते हैं।
उपरोक्त कारण से FestIn में खोजी गई जानकारी को संग्रहीत करने के 3 अलग-अलग तरीके हैं और हम उन्हें संयोजित कर सकते हैं:
FestIn परिणाम फ़ाइल (-rr या --result-file): इस फ़ाइल में प्रति पंक्ति एक JSON होता है जिसमें उनके द्वारा पाए गए बकेट होते हैं। प्रत्येक JSON में शामिल है: मूल डोमेन, बकेट नाम और बकेट के लिए ऑब्जेक्ट्स की सूची।-rd या --discovered-domains): इस फ़ाइल में प्रति पंक्ति एक डोमेन होता है। ये डोमेन क्रॉलर, DNS या S3 जांचों द्वारा खोजे गए हैं, लेकिन केवल वे डोमेन संग्रहीत किए जाते हैं जो उपयोगकर्ता और आंतरिक फ़िल्टर से मेल खाते हैं।-ra या --raw-discovered-domains): इस फ़ाइल में FestIn द्वारा खोजे गए सभी डोमेन बिना किसी फ़िल्टर के प्रति पंक्ति एक होते हैं। यह विकल्प पोस्ट-प्रोसेसिंग और विश्लेषण के लिए उपयोगी है।उदाहरण:
> festin -rr festin.results -rd discovered-domains.txt -ra raw-domains.txt mydomain.txt
और, Nmap के साथ चेनिंग:
> festin -rd domains.txt && nmap -Pn -A -iL domains.txt -oN nmap-domains.txt
FestIn में --tor विकल्प एम्बेडेड है। इस पैरामीटर का उपयोग करके आपको 127.0.0.1 पर पोर्ट 9050 पर स्थानीय Tor प्रॉक्सी चलाने की आवश्यकता है।
> tor &
> festin --tor mydomain.com
FestIn द्वारा किए गए कुछ परीक्षणों में DNS शामिल है। यह इन विकल्पों का समर्थन करता है:
-dn या --no-dnsdiscover)-ds या --dns-resolver): कस्टम DNS सर्वर सेट करें। यदि आप बहुत सारे परीक्षण करने की योजना बनाते हैं, तो आपको अपने ब्राउज़र में उपयोग किए जाने वाले DNS सर्वर से भिन्न DNS सर्वर का उपयोग करना चाहिए।उदाहरण:
> festin -ds 8.8.8.8 mydomain.com
FestIn न केवल खुले S3 बकेट खोज सकता है। यह सभी सामग्री डाउनलोड कर सकता है और उन्हें पूर्ण पाठ खोज इंजन में संग्रहीत कर सकता है। इसका मतलब है कि आप बकेट की सामग्री पर पूर्ण पाठ क्वेरी कर सकते हैं!
FestIn पूर्ण पाठ इंजन के रूप में ओपन सोर्स प्रोजेक्ट Redis Search का उपयोग करता है।
इस सुविधा में दो विकल्प हैं:
--index): खोज इंजन में अनुक्रमण सक्षम करने के लिए आपको यह फ़्लैग सेट करना होगा।--index-server): आपको यह विकल्प केवल तभी सेट करने की आवश्यकता है यदि आपका सर्वर localhost:6379 से भिन्न IP/पोर्ट पर चल रहा है।उदाहरण:
> docker run --rm -p 6700:6379 redislabs/redisearch:latest -d
> festin --index --index-server redis://127.0.0.1:6700 mydomain.com
ध्यान दें कि विकल्प `--index-server` में उपसर्ग **redis://** होना चाहिए
कभी-कभी हम FestIn को रोकना नहीं चाहते हैं और इसे कई बार लॉन्च करना चाहते हैं जब हमारे पास निरीक्षण के लिए कोई नया डोमेन हो या कोई बाहरी उपकरण नए डोमेन खोजे जिन्हें हम जांचना चाहते हैं।
FestIn वॉचिंग मोड का समर्थन करता है। इसका मतलब है कि FestIn शुरू होगा और नए डोमेन सुनेगा। FestIn को "नए डोमेन भेजने" का तरीका डोमेन फ़ाइल के माध्यम से है। यह परिवर्तनों के लिए इस फ़ाइल की निगरानी करता है।
यह सुविधा FestIn को अन्य उपकरणों, जैसे dnsrecon के साथ संयोजित करने के लिए उपयोगी है।
उदाहरण:
> festin --watch -f domains.txt
एक अलग टर्मिनल में हम लिख सकते हैं:
> echo "my-second-domain.com" >> domains.txt
> echo "another-domain.com" >> domains.txt
domains.txt में जोड़ा गया प्रत्येक नया डोमेन FestIn को जगाएगा।
DnsRecon का उपयोग करना
इस उदाहरण के लिए चुना गया डोमेन target.com है।
> dnsrecon -d target.com -t crt -c target.com.csv
इस कमांड के साथ हम target.com से संबंधित अन्य डोमेन खोजने जा रहे हैं। इससे सफलता की संभावना को अधिकतम करने में मदद मिलेगी।
FestIn को फ़ीड करने के लिए पिछली जनरेट की गई फ़ाइल तैयार करें> tail -n +2 target.com.csv | sort -u | cut -d "," -f 2 >> target.com.domains
इस कमांड के साथ हम एक फ़ाइल तैयार करते हैं जिसमें प्रति पंक्ति एक डोमेन होता है। यह इनपुट है जो FestIn को चाहिए।
> festin -f target.com.domains -c 5 -rr target.com.result.json --tor -ds 212.166.64.1 >target.com.stdout 2>target.com.stderr
इस उदाहरण में परिणामी फ़ाइलें हैं:
एकाधिक डोमेन के प्रसंस्करण को आसान बनाने के लिए, हम एक सरल स्क्रिप्ट examples/loop.sh प्रदान करते हैं जो इसे स्वचालित करती है।
FestIn का DnsRecon परिणामों के साथ उपयोग करना
डिफ़ॉल्ट विकल्पों के साथ target.com के विरुद्ध चलाएं और परिणाम target.com.result फ़ाइल में छोड़ें:
> festin target.com -rr target.com.result.json
> festin target.com -c 5 -rr target.com.result.json --tor -ds 212.166.64.1
प्रश्न: AWS मेरा IP ब्लॉक करता है उत्तर:
जब आप AWS S3 के विरुद्ध बहुत सारे परीक्षण करते हैं, तो AWS आपके IP को एक ब्लैक लिस्ट में शामिल करता है। फिर हर बार जब आप FestIn या अपने ब्राउज़र से किसी भी S3 बकेट तक पहुंचना चाहते हैं, तो वह ब्लॉक हो जाएगा।
हम FestIn का उपयोग करते समय एक प्रॉक्सी सेट करने की सलाह देते हैं।

वे वास्तविक समय में आपकी कंपनी के जोखिम जोखिम का विश्लेषण और मूल्यांकन करते हैं। वेबसाइट
यह प्रोजेक्ट BSD लाइसेंस के तहत वितरित किया गया है