External Recon Methodology
Reading time: 32 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
Assets discoveries
तो आपको कहा गया था कि किसी कंपनी से संबंधित सब कुछ दायरे के भीतर है, और आप यह पता लगाना चाहते हैं कि इस कंपनी के पास वास्तव में क्या है।
इस चरण का लक्ष्य मुख्य कंपनी द्वारा स्वामित्व वाली सभी कंपनियों और फिर इन कंपनियों के संपत्तियों को प्राप्त करना है। ऐसा करने के लिए, हम:
- मुख्य कंपनी के अधिग्रहणों को खोजेंगे, इससे हमें दायरे के भीतर की कंपनियाँ मिलेंगी।
- प्रत्येक कंपनी का ASN (यदि कोई हो) खोजेंगे, इससे हमें प्रत्येक कंपनी द्वारा स्वामित्व वाले IP रेंज मिलेंगे।
- पहले वाले से संबंधित अन्य प्रविष्टियों (संस्थान के नाम, डोमेन...) की खोज के लिए रिवर्स Whois लुकअप का उपयोग करेंगे (यह पुनरावृत्त रूप से किया जा सकता है)।
- अन्य संपत्तियों की खोज के लिए शोडान
org
औरssl
फ़िल्टर जैसी अन्य तकनीकों का उपयोग करेंगे (यहssl
ट्रिक पुनरावृत्त रूप से की जा सकती है)।
Acquisitions
सबसे पहले, हमें यह जानने की आवश्यकता है कि मुख्य कंपनी द्वारा स्वामित्व वाली अन्य कंपनियाँ कौन सी हैं।
एक विकल्प है https://www.crunchbase.com/ पर जाना, मुख्य कंपनी के लिए खोज करना, और "अधिग्रहण" पर क्लिक करना। वहाँ आप मुख्य कंपनी द्वारा अधिग्रहित अन्य कंपनियाँ देखेंगे।
दूसरा विकल्प है मुख्य कंपनी के विकिपीडिया पृष्ठ पर जाना और अधिग्रहण के लिए खोज करना।
ठीक है, इस बिंदु पर आपको दायरे के भीतर सभी कंपनियों के बारे में पता होना चाहिए। चलिए उनके संपत्तियों को खोजने का तरीका समझते हैं।
ASNs
एक स्वायत्त प्रणाली संख्या (ASN) एक विशिष्ट संख्या है जो इंटरनेट असाइन नंबर प्राधिकरण (IANA) द्वारा एक स्वायत्त प्रणाली (AS) को असाइन की जाती है।
एक AS में IP पते के ब्लॉक होते हैं जिनकी बाहरी नेटवर्क तक पहुँचने के लिए स्पष्ट रूप से परिभाषित नीति होती है और इसे एक ही संगठन द्वारा प्रशासित किया जाता है लेकिन यह कई ऑपरेटरों से मिलकर बन सकता है।
यह जानना दिलचस्प है कि क्या कंपनी ने कोई ASN असाइन किया है ताकि इसके IP रेंज को खोजा जा सके। यह दायरे के भीतर सभी होस्ट्स के खिलाफ एक कमजोरी परीक्षण करना और इन IPs के भीतर डोमेन की खोज करना दिलचस्प होगा।
आप कंपनी के नाम, IP या डोमेन द्वारा https://bgp.he.net/** पर खोज कर सकते हैं।
कंपनी के क्षेत्र के आधार पर ये लिंक अधिक डेटा इकट्ठा करने के लिए उपयोगी हो सकते हैं: AFRINIC (अफ्रीका), Arin(उत्तरी अमेरिका), APNIC (एशिया), LACNIC (लैटिन अमेरिका), RIPE NCC (यूरोप)। वैसे, शायद सभी उपयोगी जानकारी (IP रेंज और Whois) पहले लिंक में पहले से ही दिखाई देती है।
#You can try "automate" this with amass, but it's not very recommended
amass intel -org tesla
amass intel -asn 8911,50313,394161
इसके अलावा, BBOT's उपडोमेन enumeration स्वचालित रूप से स्कैन के अंत में ASNs को एकत्रित और संक्षेपित करता है।
bbot -t tesla.com -f subdomain-enum
...
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS394161 | 8.244.131.0/24 | 5 | TESLA | Tesla Motors, Inc. | US |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS16509 | 54.148.0.0/15 | 4 | AMAZON-02 | Amazon.com, Inc. | US |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS394161 | 8.45.124.0/24 | 3 | TESLA | Tesla Motors, Inc. | US |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS3356 | 8.32.0.0/12 | 1 | LEVEL3 | Level 3 Parent, LLC | US |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
[INFO] bbot.modules.asn: | AS3356 | 8.0.0.0/9 | 1 | LEVEL3 | Level 3 Parent, LLC | US |
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
आप एक संगठन के IP रेंज भी http://asnlookup.com/ का उपयोग करके ढूंढ सकते हैं (इसमें मुफ्त API है)।
आप http://ipv4info.com/ का उपयोग करके एक डोमेन का IP और ASN ढूंढ सकते हैं।
कमजोरियों की तलाश
इस बिंदु पर हम स्कोप के अंदर सभी संपत्तियों को जानते हैं, इसलिए यदि आपको अनुमति है तो आप सभी होस्ट पर कुछ कमजोरी स्कैनर (Nessus, OpenVAS) लॉन्च कर सकते हैं।
इसके अलावा, आप कुछ पोर्ट स्कैन या shodan जैसे सेवाओं का उपयोग करके खुले पोर्ट ढूंढ सकते हैं और जो कुछ भी आप पाते हैं उसके आधार पर आपको इस पुस्तक में देखना चाहिए कि कैसे कई संभावित सेवाओं का पेंटेस्ट करना है।
इसके अलावा, यह उल्लेख करना भी सार्थक हो सकता है कि आप कुछ डिफ़ॉल्ट उपयोगकर्ता नाम और पासवर्ड सूचियाँ तैयार कर सकते हैं और https://github.com/x90skysn3k/brutespray के साथ सेवाओं को** ब्रूटफोर्स करने की कोशिश कर सकते हैं।
डोमेन
हम स्कोप के अंदर सभी कंपनियों और उनकी संपत्तियों को जानते हैं, अब स्कोप के अंदर डोमेन खोजने का समय है।
कृपया ध्यान दें कि निम्नलिखित प्रस्तावित तकनीकों में आप उपडोमेन भी ढूंढ सकते हैं और उस जानकारी को कम नहीं आंकना चाहिए।
सबसे पहले, आपको प्रत्येक कंपनी के मुख्य डोमेन(s) की तलाश करनी चाहिए। उदाहरण के लिए, Tesla Inc. के लिए tesla.com होगा।
रिवर्स DNS
जैसा कि आपने डोमेन के सभी IP रेंज ढूंढ लिए हैं, आप उन IPs पर अधिक डोमेन खोजने के लिए रिवर्स DNS लुकअप करने की कोशिश कर सकते हैं। पीड़ित के कुछ DNS सर्वर या कुछ प्रसिद्ध DNS सर्वर (1.1.1.1, 8.8.8.8) का उपयोग करने की कोशिश करें।
dnsrecon -r <DNS Range> -n <IP_DNS> #DNS reverse of all of the addresses
dnsrecon -d facebook.com -r 157.240.221.35/24 #Using facebooks dns
dnsrecon -r 157.240.221.35/24 -n 1.1.1.1 #Using cloudflares dns
dnsrecon -r 157.240.221.35/24 -n 8.8.8.8 #Using google dns
इसका काम करने के लिए, व्यवस्थापक को मैन्युअल रूप से PTR सक्षम करना होगा।
आप इस जानकारी के लिए एक ऑनलाइन टूल का भी उपयोग कर सकते हैं: http://ptrarchive.com/
Reverse Whois (loop)
एक whois में आप बहुत सारी दिलचस्प जानकारी पा सकते हैं जैसे संस्थान का नाम, पता, ईमेल, फोन नंबर... लेकिन जो और भी दिलचस्प है वह यह है कि आप कंपनी से संबंधित अधिक संपत्तियाँ पा सकते हैं यदि आप इनमें से किसी भी क्षेत्र द्वारा रिवर्स Whois लुकअप करते हैं (उदाहरण के लिए अन्य whois रजिस्ट्रियों जहां वही ईमेल दिखाई देता है)।
आप ऑनलाइन टूल का उपयोग कर सकते हैं जैसे:
- https://viewdns.info/reversewhois/ - मुफ्त
- https://domaineye.com/reverse-whois - मुफ्त
- https://www.reversewhois.io/ - मुफ्त
- https://www.whoxy.com/ - मुफ्त वेब, मुफ्त API नहीं।
- http://reversewhois.domaintools.com/ - मुफ्त नहीं
- https://drs.whoisxmlapi.com/reverse-whois-search - मुफ्त नहीं (केवल 100 मुफ्त खोजें)
- https://www.domainiq.com/ - मुफ्त नहीं
आप इस कार्य को स्वचालित कर सकते हैं DomLink (एक whoxy API कुंजी की आवश्यकता होती है)।
आप amass के साथ कुछ स्वचालित रिवर्स Whois खोज भी कर सकते हैं: amass intel -d tesla.com -whois
ध्यान दें कि आप इस तकनीक का उपयोग हर बार एक नया डोमेन खोजने पर अधिक डोमेन नाम खोजने के लिए कर सकते हैं।
Trackers
यदि आप 2 अलग-अलग पृष्ठों में एक ही ट्रैकर का एक ही ID पाते हैं, तो आप मान सकते हैं कि दोनों पृष्ठ एक ही टीम द्वारा प्रबंधित हैं।
उदाहरण के लिए, यदि आप कई पृष्ठों पर वही Google Analytics ID या वही Adsense ID देखते हैं।
कुछ पृष्ठ और उपकरण हैं जो आपको इन ट्रैकर्स द्वारा खोजने की अनुमति देते हैं और अधिक:
Favicon
क्या आप जानते हैं कि हम एक ही फेविकॉन आइकन हैश की तलाश करके अपने लक्ष्य से संबंधित डोमेन और उप डोमेन पा सकते हैं? यह ठीक वही है जो favihash.py टूल करता है जिसे @m4ll0k2 ने बनाया है। इसका उपयोग कैसे करें:
cat my_targets.txt | xargs -I %% bash -c 'echo "http://%%/favicon.ico"' > targets.txt
python3 favihash.py -f https://target/favicon.ico -t targets.txt -s
सरल शब्दों में, favihash हमें उन डोमेन को खोजने की अनुमति देगा जिनका favicon आइकन हैश हमारे लक्ष्य के समान है।
इसके अलावा, आप favicon हैश का उपयोग करके तकनीकों की भी खोज कर सकते हैं जैसा कि इस ब्लॉग पोस्ट में समझाया गया है। इसका मतलब है कि यदि आप जानते हैं कि एक कमजोर वेब तकनीक के favicon का हैश क्या है, तो आप शोडन में खोज सकते हैं और अधिक कमजोर स्थानों को खोज सकते हैं:
shodan search org:"Target" http.favicon.hash:116323821 --fields ip_str,port --separator " " | awk '{print $1":"$2}'
यहाँ बताया गया है कि आप एक वेब का फेविकॉन हैश कैसे गणना कर सकते हैं:
import mmh3
import requests
import codecs
def fav_hash(url):
response = requests.get(url)
favicon = codecs.encode(response.content,"base64")
fhash = mmh3.hash(favicon)
print(f"{url} : {fhash}")
return fhash
Copyright / Uniq string
वेब पृष्ठों के अंदर ऐसे स्ट्रिंग्स खोजें जो एक ही संगठन में विभिन्न वेब्स के बीच साझा किए जा सकते हैं। कॉपीराइट स्ट्रिंग एक अच्छा उदाहरण हो सकता है। फिर उस स्ट्रिंग को गूगल, अन्य ब्राउज़रों या यहां तक कि शोडन में खोजें: shodan search http.html:"Copyright string"
CRT Time
यह सामान्य है कि एक क्रॉन जॉब हो जैसे
# /etc/crontab
37 13 */10 * * certbot renew --post-hook "systemctl reload nginx"
सर्वर पर सभी डोमेन प्रमाणपत्रों को नवीनीकरण करने के लिए। इसका मतलब है कि भले ही इसके लिए उपयोग किया जाने वाला CA वैधता समय में उत्पन्न होने का समय सेट न करे, यह संभव है कि प्रमाणपत्र पारदर्शिता लॉग में उसी कंपनी के संबंधित डोमेन को ढूंढा जा सके।
इस लेख को अधिक जानकारी के लिए देखें।
मेल DMARC जानकारी
आप https://dmarc.live/info/google.com जैसी वेबसाइट या https://github.com/Tedixx/dmarc-subdomains जैसे टूल का उपयोग करके समान DMARC जानकारी साझा करने वाले डोमेन और उपडोमेन खोज सकते हैं।
पैसिव टेकओवर
स्पष्ट रूप से यह सामान्य है कि लोग उपडोमेन को उन IPs पर असाइन करते हैं जो क्लाउड प्रदाताओं से संबंधित होते हैं और किसी बिंदु पर उस IP पते को खो देते हैं लेकिन DNS रिकॉर्ड को हटाना भूल जाते हैं। इसलिए, बस क्लाउड में एक VM स्पॉन करना (जैसे Digital Ocean) आप वास्तव में कुछ उपडोमेन पर कब्जा कर रहे होंगे।
यह पोस्ट इसके बारे में एक स्टोर को समझाती है और एक स्क्रिप्ट का प्रस्ताव करती है जो DigitalOcean में एक VM स्पॉन करती है, नए मशीन का IPv4 प्राप्त करती है, और Virustotal में उपडोमेन रिकॉर्ड की खोज करती है जो इसे इंगित करते हैं।
अन्य तरीके
ध्यान दें कि आप इस तकनीक का उपयोग हर बार नए डोमेन खोजने के लिए अधिक डोमेन नाम खोजने के लिए कर सकते हैं।
Shodan
जैसा कि आप पहले से ही IP स्पेस के मालिक संगठन का नाम जानते हैं। आप उस डेटा को शोडन में खोज सकते हैं: org:"Tesla, Inc."
TLS प्रमाणपत्र में नए अप्रत्याशित डोमेन के लिए पाए गए होस्ट की जांच करें।
आप मुख्य वेब पृष्ठ का TLS प्रमाणपत्र एक्सेस कर सकते हैं, संगठन का नाम प्राप्त कर सकते हैं और फिर shodan द्वारा ज्ञात सभी वेब पृष्ठों के TLS प्रमाणपत्रों के अंदर उस नाम की खोज कर सकते हैं जिसमें फ़िल्टर है: ssl:"Tesla Motors"
या sslsearch जैसे टूल का उपयोग करें।
Assetfinder
Assetfinder एक टूल है जो मुख्य डोमेन से संबंधित डोमेन और उनके उपडोमेन की खोज करता है, काफी अद्भुत।
कमजोरियों की खोज
कुछ डोमेन टेकओवर के लिए जांचें। शायद कोई कंपनी किसी डोमेन का उपयोग कर रही है लेकिन उन्होंने स्वामित्व खो दिया है। बस इसे रजिस्टर करें (यदि यह सस्ता है) और कंपनी को सूचित करें।
यदि आप किसी डोमेन को एक IP के साथ पाते हैं जो पहले से खोजे गए संपत्तियों में से अलग है, तो आपको बुनियादी कमजोरियों की स्कैनिंग (Nessus या OpenVAS का उपयोग करके) और कुछ पोर्ट स्कैन nmap/masscan/shodan के साथ करना चाहिए। यह निर्भर करता है कि कौन से सेवाएँ चल रही हैं, आप इस पुस्तक में कुछ तरकीबें "हमले" करने के लिए पा सकते हैं।
ध्यान दें कि कभी-कभी डोमेन एक IP के अंदर होस्ट किया जाता है जो ग्राहक द्वारा नियंत्रित नहीं होता है, इसलिए यह दायरे में नहीं है, सावधान रहें।
उपडोमेन
हम सभी कंपनियों को जानते हैं जो दायरे में हैं, प्रत्येक कंपनी की सभी संपत्तियाँ और कंपनियों से संबंधित सभी डोमेन।
यह समय है कि प्रत्येक पाए गए डोमेन के सभी संभावित उपडोमेन खोजें।
tip
ध्यान दें कि कुछ उपकरण और तकनीकें डोमेन खोजने के लिए उपडोमेन खोजने में भी मदद कर सकती हैं।
DNS
आइए DNS रिकॉर्ड से उपडोमेन प्राप्त करने की कोशिश करें। हमें ज़ोन ट्रांसफर के लिए भी प्रयास करना चाहिए (यदि कमजोर है, तो आपको इसकी रिपोर्ट करनी चाहिए)।
dnsrecon -a -d tesla.com
OSINT
बहुत सारे सबडोमेन प्राप्त करने का सबसे तेज़ तरीका बाहरी स्रोतों में खोज करना है। सबसे अधिक उपयोग किए जाने वाले tools निम्नलिखित हैं (बेहतर परिणामों के लिए API कुंजी कॉन्फ़िगर करें):
# subdomains
bbot -t tesla.com -f subdomain-enum
# subdomains (passive only)
bbot -t tesla.com -f subdomain-enum -rf passive
# subdomains + port scan + web screenshots
bbot -t tesla.com -f subdomain-enum -m naabu gowitness -n my_scan -o .
amass enum [-active] [-ip] -d tesla.com
amass enum -d tesla.com | grep tesla.com # To just list subdomains
# Subfinder, use -silent to only have subdomains in the output
./subfinder-linux-amd64 -d tesla.com [-silent]
# findomain, use -silent to only have subdomains in the output
./findomain-linux -t tesla.com [--quiet]
python3 oneforall.py --target tesla.com [--dns False] [--req False] [--brute False] run
assetfinder --subs-only <domain>
# It requires that you create a sudomy.api file with API keys
sudomy -d tesla.com
vita -d tesla.com
theHarvester -d tesla.com -b "anubis, baidu, bing, binaryedge, bingapi, bufferoverun, censys, certspotter, crtsh, dnsdumpster, duckduckgo, fullhunt, github-code, google, hackertarget, hunter, intelx, linkedin, linkedin_links, n45ht, omnisint, otx, pentesttools, projectdiscovery, qwant, rapiddns, rocketreach, securityTrails, spyse, sublist3r, threatcrowd, threatminer, trello, twitter, urlscan, virustotal, yahoo, zoomeye"
कुछ अन्य दिलचस्प उपकरण/APIs जो सीधे तौर पर उपडोमेन खोजने में विशेषज्ञ नहीं हैं, फिर भी उपडोमेन खोजने के लिए उपयोगी हो सकते हैं, जैसे:
- Crobat: API https://sonar.omnisint.io का उपयोग करके उपडोमेन प्राप्त करता है
# Get list of subdomains in output from the API
## This is the API the crobat tool will use
curl https://sonar.omnisint.io/subdomains/tesla.com | jq -r ".[]"
curl https://jldc.me/anubis/subdomains/tesla.com | jq -r ".[]"
- RapidDNS मुफ्त API
# Get Domains from rapiddns free API
rapiddns(){
curl -s "https://rapiddns.io/subdomain/$1?full=1" \
| grep -oE "[\.a-zA-Z0-9-]+\.$1" \
| sort -u
}
rapiddns tesla.com
# Get Domains from crt free API
crt(){
curl -s "https://crt.sh/?q=%25.$1" \
| grep -oE "[\.a-zA-Z0-9-]+\.$1" \
| sort -u
}
crt tesla.com
- gau: किसी दिए गए डोमेन के लिए AlienVault के Open Threat Exchange, Wayback Machine, और Common Crawl से ज्ञात URLs को लाता है।
# Get subdomains from GAUs found URLs
gau --subs tesla.com | cut -d "/" -f 3 | sort -u
- SubDomainizer और subscraper: वे वेब को स्क्रैप करते हैं, JS फ़ाइलों की तलाश करते हैं और वहां से उपडोमेन निकालते हैं।
# Get only subdomains from SubDomainizer
python3 SubDomainizer.py -u https://tesla.com | grep tesla.com
# Get only subdomains from subscraper, this already perform recursion over the found results
python subscraper.py -u tesla.com | grep tesla.com | cut -d " " -f
# Get info about the domain
shodan domain <domain>
# Get other pages with links to subdomains
shodan search "http.html:help.domain.com"
export CENSYS_API_ID=...
export CENSYS_API_SECRET=...
python3 censys-subdomain-finder.py tesla.com
python3 DomainTrail.py -d example.com
- securitytrails.com में उपडोमेन और IP इतिहास के लिए एक मुफ्त API है
- chaos.projectdiscovery.io
यह प्रोजेक्ट बग-बाउंटी कार्यक्रमों से संबंधित सभी उपडोमेन मुफ्त में प्रदान करता है। आप इस डेटा को chaospy का उपयोग करके भी एक्सेस कर सकते हैं या यहां तक कि इस प्रोजेक्ट द्वारा उपयोग किए गए दायरे को भी एक्सेस कर सकते हैं https://github.com/projectdiscovery/chaos-public-program-list
आप यहां इन उपकरणों की तुलना पा सकते हैं: https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off
DNS ब्रूट फोर्स
आइए संभावित उपडोमेन नामों का उपयोग करके DNS सर्वरों को ब्रूट-फोर्स करके नए उपडोमेन खोजने की कोशिश करें।
इस क्रिया के लिए आपको कुछ सामान्य उपडोमेन शब्दसूचियों की आवश्यकता होगी जैसे:
- https://gist.github.com/jhaddix/86a06c5dc309d08580a018c66354a056
- https://wordlists-cdn.assetnote.io/data/manual/best-dns-wordlist.txt
- https://localdomain.pw/subdomain-bruteforce-list/all.txt.zip
- https://github.com/pentester-io/commonspeak
- https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS
और अच्छे DNS रिसोल्वर्स के IPs भी। विश्वसनीय DNS रिसोल्वर्स की एक सूची बनाने के लिए आप https://public-dns.info/nameservers-all.txt से रिसोल्वर्स डाउनलोड कर सकते हैं और उन्हें फ़िल्टर करने के लिए dnsvalidator का उपयोग कर सकते हैं। या आप उपयोग कर सकते हैं: https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt
DNS ब्रूट-फोर्स के लिए सबसे अनुशंसित उपकरण हैं:
- massdns: यह पहला उपकरण था जिसने प्रभावी DNS ब्रूट-फोर्स किया। यह बहुत तेज है हालांकि यह गलत सकारात्मक के प्रति संवेदनशील है।
sed 's/$/.domain.com/' subdomains.txt > bf-subdomains.txt
./massdns -r resolvers.txt -w /tmp/results.txt bf-subdomains.txt
grep -E "tesla.com. [0-9]+ IN A .+" /tmp/results.txt
- gobuster: मुझे लगता है कि यह केवल 1 रिसॉल्वर का उपयोग करता है
gobuster dns -d mysite.com -t 50 -w subdomains.txt
- shuffledns
massdns
के चारों ओर एक wrapper है, जो गो में लिखा गया है, जो आपको सक्रिय ब्रूटफोर्स का उपयोग करके मान्य उपडोमेन की गणना करने की अनुमति देता है, साथ ही वाइल्डकार्ड हैंडलिंग और आसान इनपुट-आउटपुट समर्थन के साथ उपडोमेन को हल करता है।
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
- puredns: यह भी
massdns
का उपयोग करता है।
puredns bruteforce all.txt domain.com
- aiodnsbrute डोमेन नामों को असिंक्रोनस तरीके से ब्रूट फोर्स करने के लिए asyncio का उपयोग करता है।
aiodnsbrute -r resolvers -w wordlist.txt -vv -t 1024 domain.com
Second DNS Brute-Force Round
खुले स्रोतों और ब्रूट-फोर्सिंग का उपयोग करके उपडोमेन खोजने के बाद, आप पाए गए उपडोमेन के परिवर्तनों को उत्पन्न कर सकते हैं ताकि और भी अधिक खोजने की कोशिश की जा सके। इस उद्देश्य के लिए कई उपकरण उपयोगी हैं:
- dnsgen: दिए गए डोमेन और उपडोमेन के लिए permutations उत्पन्न करें।
cat subdomains.txt | dnsgen -
- goaltdns: डोमेन और सबडोमेन दिए जाने पर संयोजन उत्पन्न करें।
- आप यहां goaltdns संयोजन शब्दसूची प्राप्त कर सकते हैं।
goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
- gotator: डोमेन और सबडोमेन दिए जाने पर उत्परिवर्तन उत्पन्न करें। यदि उत्परिवर्तन फ़ाइल निर्दिष्ट नहीं की गई है, तो gotator अपनी स्वयं की फ़ाइल का उपयोग करेगा।
gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
- altdns: उपडोमेन संयोजनों को उत्पन्न करने के अलावा, यह उन्हें हल करने की कोशिश भी कर सकता है (लेकिन पहले टिप्पणी किए गए उपकरणों का उपयोग करना बेहतर है)।
- आप altdns संयोजन शब्दसूची यहां प्राप्त कर सकते हैं।
altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
- dmut: उपडोमेन के संयोजन, उत्परिवर्तन और परिवर्तन करने के लिए एक और उपकरण। यह उपकरण परिणाम को ब्रूट फोर्स करेगा (यह dns वाइल्ड कार्ड का समर्थन नहीं करता)।
- आप dmut संयोजन शब्द सूची यहां प्राप्त कर सकते हैं।
cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
- alterx: एक डोमेन के आधार पर यह संकेतित पैटर्न के आधार पर नए संभावित उपडोमेन नाम उत्पन्न करता है ताकि अधिक उपडोमेन खोजने की कोशिश की जा सके।
स्मार्ट परम्यूटेशन जनरेशन
- regulator: अधिक जानकारी के लिए इस पोस्ट को पढ़ें लेकिन यह मूल रूप से खोजे गए उपडोमेन के मुख्य भागों को प्राप्त करेगा और अधिक उपडोमेन खोजने के लिए उन्हें मिलाएगा।
python3 main.py adobe.com adobe adobe.rules
make_brute_list.sh adobe.rules adobe.brute
puredns resolve adobe.brute --write adobe.valid
- subzuf: subzuf एक उपडोमेन ब्रूट-फोर्स फज़्ज़र है जो एक अत्यंत सरल लेकिन प्रभावी DNS प्रतिक्रिया-निर्देशित एल्गोरिदम के साथ जुड़ा हुआ है। यह एक प्रदान किए गए इनपुट डेटा सेट का उपयोग करता है, जैसे कि एक अनुकूलित शब्द सूची या ऐतिहासिक DNS/TLS रिकॉर्ड, ताकि अधिक संबंधित डोमेन नामों को सटीक रूप से संश्लेषित किया जा सके और DNS स्कैन के दौरान एकत्रित जानकारी के आधार पर उन्हें और भी आगे बढ़ाया जा सके।
echo www | subzuf facebook.com
सबडोमेन खोज कार्यप्रवाह
चेक करें इस ब्लॉग पोस्ट को जो मैंने लिखा है कि कैसे सबडोमेन खोज को स्वचालित करें एक डोमेन से Trickest कार्यप्रवाह का उपयोग करके ताकि मुझे अपने कंप्यूटर में कई टूल मैन्युअल रूप से लॉन्च करने की आवश्यकता न हो:
https://trickest.com/blog/full-subdomain-discovery-using-workflow/
https://trickest.com/blog/full-subdomain-brute-force-discovery-using-workflow/
VHosts / वर्चुअल होस्ट
यदि आपने एक IP पता पाया है जिसमें एक या एक से अधिक वेब पृष्ठ सबडोमेनों से संबंधित हैं, तो आप उस IP में वेब के साथ अन्य सबडोमेनों को खोजने की कोशिश कर सकते हैं OSINT स्रोतों में IP में डोमेन के लिए देखने या उस IP में VHost डोमेन नामों को ब्रूट-फोर्स करके।
OSINT
आप कुछ VHosts को IPs में खोज सकते हैं HostHunter या अन्य APIs का उपयोग करके।
ब्रूट फोर्स
यदि आपको संदेह है कि कुछ सबडोमेन एक वेब सर्वर में छिपा हो सकता है, तो आप इसे ब्रूट फोर्स करने की कोशिश कर सकते हैं:
ffuf -c -w /path/to/wordlist -u http://victim.com -H "Host: FUZZ.victim.com"
gobuster vhost -u https://mysite.com -t 50 -w subdomains.txt
wfuzz -c -w /usr/share/wordlists/SecLists/Discovery/DNS/subdomains-top1million-20000.txt --hc 400,404,403 -H "Host: FUZZ.example.com" -u http://example.com -t 100
#From https://github.com/allyshka/vhostbrute
vhostbrute.py --url="example.com" --remoteip="10.1.1.15" --base="www.example.com" --vhosts="vhosts_full.list"
#https://github.com/codingo/VHostScan
VHostScan -t example.com
note
इस तकनीक के साथ, आप आंतरिक/छिपे हुए एंडपॉइंट्स तक भी पहुँच सकते हैं।
CORS Brute Force
कभी-कभी आप ऐसी पृष्ठों को पाएंगे जो केवल Access-Control-Allow-Origin हेडर को लौटाते हैं जब Origin हेडर में एक मान्य डोमेन/सबडोमेन सेट किया गया हो। इन परिदृश्यों में, आप इस व्यवहार का दुरुपयोग करके नए सबडोमेन को खोज सकते हैं।
ffuf -w subdomains-top1million-5000.txt -u http://10.10.10.208 -H 'Origin: http://FUZZ.crossfit.htb' -mr "Access-Control-Allow-Origin" -ignore-body
बकेट्स ब्रूट फोर्स
जब आप सबडोमेन की तलाश कर रहे हों, तो देखें कि क्या यह किसी प्रकार के बकेट की ओर इशारा कर रहा है, और इस मामले में अनुमतियों की जांच करें.
इसके अलावा, चूंकि इस बिंदु पर आप दायरे के भीतर सभी डोमेन को जानेंगे, कोशिश करें संभव बकेट नामों को ब्रूट फोर्स करें और अनुमतियों की जांच करें.
निगरानी
आप निगरानी कर सकते हैं कि किसी डोमेन के नए सबडोमेन बनाए जा रहे हैं या नहीं, इसके लिए सर्टिफिकेट ट्रांसपेरेंसी लॉग्स सब्लर्ट का उपयोग करें।
कमजोरियों की तलाश
संभव सबडोमेन टेकओवर के लिए जांचें।
यदि सबडोमेन किसी S3 बकेट की ओर इशारा कर रहा है, तो अनुमतियों की जांच करें.
यदि आप किसी सबडोमेन को एक IP अलग पाते हैं जो आपने पहले से एसेट खोज में पाया है, तो आपको एक बुनियादी कमजोरियों का स्कैन (Nessus या OpenVAS का उपयोग करके) और कुछ पोर्ट स्कैन nmap/masscan/shodan के साथ करना चाहिए। चल रहे सेवाओं के आधार पर, आप इस पुस्तक में कुछ तरकीबें "हमला" करने के लिए पा सकते हैं।
ध्यान दें कि कभी-कभी सबडोमेन एक IP के अंदर होस्ट किया जाता है जो क्लाइंट द्वारा नियंत्रित नहीं होता है, इसलिए यह दायरे में नहीं है, सावधान रहें।
आईपी
प्रारंभिक चरणों में, आप कुछ IP रेंज, डोमेन और सबडोमेन पा सकते हैं।
अब उन रेंज से सभी आईपी को इकट्ठा करने और डोमेन/सबडोमेन (DNS क्वेरी) के लिए समय है।
निम्नलिखित फ्री एपीआई की सेवाओं का उपयोग करके, आप डोमेन और सबडोमेन द्वारा उपयोग किए गए पिछले आईपी भी पा सकते हैं। ये आईपी अभी भी क्लाइंट के स्वामित्व में हो सकते हैं (और आपको CloudFlare बायपास खोजने की अनुमति दे सकते हैं)
आप hakip2host टूल का उपयोग करके एक विशिष्ट IP पते की ओर इशारा करने वाले डोमेन की भी जांच कर सकते हैं।
कमजोरियों की तलाश
CDNs से संबंधित सभी आईपी का पोर्ट स्कैन करें (क्योंकि आप वहां कुछ दिलचस्प नहीं पाएंगे)। चल रही सेवाओं में, आप कमजोरियों को पाने में सक्षम हो सकते हैं।
होस्ट स्कैन करने के लिए एक गाइड खोजें।
वेब सर्वर शिकार
हमने सभी कंपनियों और उनके एसेट्स को खोज लिया है और हम दायरे के भीतर आईपी रेंज, डोमेन और सबडोमेन जानते हैं। अब वेब सर्वरों की खोज करने का समय है।
पिछले चरणों में, आपने शायद पहले से ही खोजे गए IP और डोमेन का कुछ रीकॉन किया है, इसलिए आप संभवतः सभी संभावित वेब सर्वरों को पहले से ही खोज चुके हैं। हालाँकि, यदि आपने नहीं किया है, तो हम अब दायरे के भीतर वेब सर्वरों की खोज के लिए कुछ तेज़ तरकीबें देखेंगे।
कृपया ध्यान दें कि यह वेब ऐप्स की खोज के लिए उन्मुख होगा, इसलिए आपको कमजोरियों और पोर्ट स्कैनिंग भी करनी चाहिए (यदि दायरे द्वारा अनुमति दी गई हो).
वेब सर्वरों से संबंधित खुले पोर्ट खोजने के लिए एक तेज़ विधि masscan का उपयोग करके यहां पाई जा सकती है.
वेब सर्वरों की खोज के लिए एक और उपयोगी टूल httprobe, fprobe और httpx है। आप बस डोमेन की एक सूची पास करते हैं और यह पोर्ट 80 (http) और 443 (https) से कनेक्ट करने की कोशिश करेगा। इसके अतिरिक्त, आप अन्य पोर्ट की कोशिश करने के लिए संकेत दे सकते हैं:
cat /tmp/domains.txt | httprobe #Test all domains inside the file for port 80 and 443
cat /tmp/domains.txt | httprobe -p http:8080 -p https:8443 #Check port 80, 443 and 8080 and 8443
Screenshots
अब जब आपने सभी वेब सर्वर खोज लिए हैं जो दायरे में हैं (कंपनी के IPs और सभी डोमेन और सबडोमेन के बीच) तो शायद आप शुरुआत कहाँ से करें यह नहीं जानते। तो, इसे सरल बनाते हैं और बस सभी के स्क्रीनशॉट लेना शुरू करते हैं। बस मुख्य पृष्ठ पर नज़र डालकर आप अजीब एंडपॉइंट्स पा सकते हैं जो अधिक संवेदनशील हो सकते हैं।
प्रस्तावित विचार को लागू करने के लिए आप EyeWitness, HttpScreenshot, Aquatone, Shutter, Gowitness या webscreenshot** का उपयोग कर सकते हैं।**
इसके अलावा, आप फिर eyeballer का उपयोग कर सकते हैं ताकि सभी स्क्रीनशॉट्स पर चलाकर आपको बता सके कि क्या संभावित रूप से कमजोरियों को शामिल कर सकता है, और क्या नहीं।
सार्वजनिक क्लाउड संपत्तियाँ
किसी कंपनी की संभावित क्लाउड संपत्तियों को खोजने के लिए आपको उस कंपनी की पहचान करने वाले कीवर्ड्स की एक सूची से शुरू करना चाहिए। उदाहरण के लिए, एक क्रिप्टो कंपनी के लिए आप शब्दों का उपयोग कर सकते हैं: "crypto", "wallet", "dao", "<domain_name>", <"subdomain_names">
।
आपको बकेट्स में उपयोग किए जाने वाले सामान्य शब्दों की वर्डलिस्ट भी चाहिए:
- https://raw.githubusercontent.com/cujanovic/goaltdns/master/words.txt
- https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt
- https://raw.githubusercontent.com/jordanpotti/AWSBucketDump/master/BucketNames.txt
फिर, उन शब्दों के साथ आपको परम्यूटेशन उत्पन्न करनी चाहिए (अधिक जानकारी के लिए Second Round DNS Brute-Force देखें)।
परिणामी वर्डलिस्ट के साथ आप cloud_enum, CloudScraper, cloudlist या S3Scanner** का उपयोग कर सकते हैं।**
याद रखें कि जब आप क्लाउड संपत्तियों की खोज कर रहे हों तो आपको AWS में बकेट्स से अधिक की तलाश करनी चाहिए।
कमजोरियों की खोज
यदि आप खुले बकेट्स या क्लाउड फ़ंक्शंस खोजते हैं तो आपको उनका उपयोग करना चाहिए और देखना चाहिए कि वे आपको क्या प्रदान करते हैं और क्या आप उनका दुरुपयोग कर सकते हैं।
ईमेल
दायरे में डोमेन और सबडोमेन के साथ आपके पास ईमेल खोजने के लिए आवश्यक सभी चीजें हैं। ये हैं APIs और उपकरण जो मुझे किसी कंपनी के ईमेल खोजने के लिए सबसे अच्छे लगे हैं:
- theHarvester - APIs के साथ
- https://hunter.io/ का API (फ्री संस्करण)
- https://app.snov.io/ का API (फ्री संस्करण)
- https://minelead.io/ का API (फ्री संस्करण)
कमजोरियों की खोज
ईमेल बाद में वेब लॉगिन और ऑथ सेवाओं (जैसे SSH) के लिए ब्रूट-फोर्स करने में सहायक होंगे। इसके अलावा, ये फिशिंग के लिए आवश्यक हैं। इसके अलावा, ये APIs आपको ईमेल के पीछे के व्यक्ति के बारे में और भी अधिक जानकारी प्रदान करेंगे, जो फिशिंग अभियान के लिए उपयोगी है।
क्रेडेंशियल लीक
डोमेन, सबडोमेन, और ईमेल के साथ आप उन ईमेल से संबंधित अतीत में लीक हुए क्रेडेंशियल्स की खोज शुरू कर सकते हैं:
कमजोरियों की खोज
यदि आप मान्य लीक हुए क्रेडेंशियल्स पाते हैं, तो यह एक बहुत आसान जीत है।
सीक्रेट्स लीक
क्रेडेंशियल लीक उन कंपनियों के हैक से संबंधित हैं जहाँ संवेदनशील जानकारी लीक और बेची गई। हालाँकि, कंपनियाँ अन्य लीक से प्रभावित हो सकती हैं जिनकी जानकारी उन डेटाबेस में नहीं है:
गिटहब लीक
क्रेडेंशियल्स और APIs कंपनी या उस गिटहब कंपनी के उपयोगकर्ताओं के सार्वजनिक रिपॉजिटरी में लीक हो सकते हैं।
आप उपकरण Leakos का उपयोग करके किसी संगठन और उसके डेवलपर्स के सभी सार्वजनिक रिपॉजिटरी को डाउनलोड कर सकते हैं और उन पर स्वचालित रूप से gitleaks चला सकते हैं।
Leakos का उपयोग सभी पाठ प्रदान किए गए URLs पर gitleaks चलाने के लिए भी किया जा सकता है क्योंकि कभी-कभी वेब पृष्ठों में भी रहस्य होते हैं।
गिटहब डॉर्क्स
संभावित गिटहब डॉर्क्स के लिए इस पृष्ठ की जांच करें जिन्हें आप उस संगठन में भी खोज सकते हैं जिसे आप लक्षित कर रहे हैं:
पेस्ट लीक
कभी-कभी हमलावर या बस कर्मचारी कंपनी की सामग्री को एक पेस्ट साइट पर प्रकाशित करेंगे। इसमें संवेदनशील जानकारी हो सकती है या नहीं, लेकिन इसे खोजना बहुत दिलचस्प है।
आप Pastos नामक उपकरण का उपयोग करके एक साथ 80 से अधिक पेस्ट साइटों में खोज कर सकते हैं।
गूगल डॉर्क्स
पुराने लेकिन सुनहरे गूगल डॉर्क्स हमेशा वहां नहीं होनी चाहिए ऐसी उजागर जानकारी खोजने के लिए उपयोगी होते हैं। एकमात्र समस्या यह है कि google-hacking-database में कई हजारों संभावित क्वेरीज़ होती हैं जिन्हें आप मैन्युअल रूप से नहीं चला सकते। इसलिए, आप अपने पसंदीदा 10 को ले सकते हैं या आप Gorks जैसे उपकरण का उपयोग कर सकते हैं Gorks उन्हें सभी चलाने के लिए।
ध्यान दें कि जो उपकरण नियमित Google ब्राउज़र का उपयोग करके सभी डेटाबेस को चलाने की उम्मीद करते हैं, वे कभी समाप्त नहीं होंगे क्योंकि Google आपको बहुत जल्दी ब्लॉक कर देगा।
कमजोरियों की खोज
यदि आप मान्य लीक हुए क्रेडेंशियल्स या API टोकन पाते हैं, तो यह एक बहुत आसान जीत है।
सार्वजनिक कोड कमजोरियाँ
यदि आपने पाया कि कंपनी का ओपन-सोर्स कोड है तो आप इसे विश्लेषण कर सकते हैं और इसमें कमजोरियों की खोज कर सकते हैं।
भाषा के आधार पर आपके पास उपयोग करने के लिए विभिन्न उपकरण हो सकते हैं:
Source code Review / SAST Tools
कुछ मुफ्त सेवाएँ भी हैं जो आपको सार्वजनिक रिपॉजिटरी को स्कैन करने की अनुमति देती हैं, जैसे:
Pentesting Web Methodology
कमजोरियों की अधिकांशता जो बग हंटर्स द्वारा पाई जाती है, वेब अनुप्रयोगों के अंदर होती है, इसलिए इस बिंदु पर मैं एक वेब अनुप्रयोग परीक्षण पद्धति के बारे में बात करना चाहता हूँ, और आप यहाँ इस जानकारी को पा सकते हैं।
मैं वेब स्वचालित स्कैनर्स ओपन-सोर्स उपकरण अनुभाग का विशेष उल्लेख करना चाहता हूँ, क्योंकि, यदि आप उनसे बहुत संवेदनशील कमजोरियों की खोज करने की उम्मीद नहीं करते हैं, तो वे प्रारंभिक वेब जानकारी प्राप्त करने के लिए कार्यप्रवाह में लागू करने के लिए सहायक होते हैं।
पुनरावलोकन
बधाई हो! इस बिंदु पर आपने पहले ही सभी बुनियादी गणना कर ली है। हाँ, यह बुनियादी है क्योंकि और भी बहुत अधिक गणना की जा सकती है (बाद में और तरकीबें देखेंगे)।
तो आपने पहले ही:
- दायरे में सभी कंपनियों को खोज लिया है
- कंपनियों से संबंधित सभी संपत्तियों को खोज लिया है (और यदि दायरे में हो तो कुछ कमजोरियों का स्कैन किया है)
- कंपनियों से संबंधित सभी डोमेन को खोज लिया है
- डोमेन के सभी सबडोमेन को खोज लिया है (क्या कोई सबडोमेन टेकओवर?)
- दायरे में सभी IPs (CDNs से और नहीं) को खोज लिया है।
- सभी वेब सर्वर को खोज लिया है और उनके स्क्रीनशॉट लिए हैं (क्या कुछ अजीब है जो गहराई से देखने लायक है?)
- कंपनी से संबंधित सभी संभावित सार्वजनिक क्लाउड संपत्तियों को खोज लिया है।
- ईमेल, क्रेडेंशियल लीक, और सीक्रेट लीक जो आपको बहुत आसानी से एक बड़ा लाभ दे सकते हैं।
- आपने जो भी वेब खोजी है, उसका पेंटेस्टिंग किया है।
पूर्ण पुनः खोज स्वचालित उपकरण
कुछ उपकरण हैं जो दिए गए दायरे के खिलाफ प्रस्तावित कार्यों के कुछ हिस्सों को करेंगे।
- https://github.com/yogeshojha/rengine
- https://github.com/j3ssie/Osmedeus
- https://github.com/six2dez/reconftw
- https://github.com/hackerspider1/EchoPwn - थोड़ा पुराना और अपडेट नहीं किया गया
संदर्भ
- @Jhaddix के सभी मुफ्त पाठ्यक्रम जैसे The Bug Hunter's Methodology v4.0 - Recon Edition
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।