External Recon Methodology

Reading time: 33 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

Assets discoveries

तो आपको कहा गया था कि किसी कंपनी से संबंधित सब कुछ दायरे में है, और आप यह पता लगाना चाहते हैं कि इस कंपनी के पास वास्तव में क्या है।

इस चरण का लक्ष्य मुख्य कंपनी द्वारा स्वामित्व वाली सभी कंपनियों और फिर इन कंपनियों के सभी संपत्तियों को प्राप्त करना है। ऐसा करने के लिए, हम:

  1. मुख्य कंपनी के अधिग्रहणों को खोजेंगे, इससे हमें दायरे में कंपनियाँ मिलेंगी।
  2. प्रत्येक कंपनी का ASN (यदि कोई हो) खोजेंगे, इससे हमें प्रत्येक कंपनी द्वारा स्वामित्व वाले IP रेंज मिलेंगे।
  3. पहले वाले से संबंधित अन्य प्रविष्टियों (संस्थान के नाम, डोमेन...) की खोज के लिए रिवर्स Whois लुकअप का उपयोग करेंगे (यह पुनरावृत्त रूप से किया जा सकता है)।
  4. अन्य संपत्तियों की खोज के लिए शोडान 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) पहले लिंक में पहले से ही दिखाई देती है।

bash
#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 को एकत्रित और संक्षेपित करता है।

bash
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) का उपयोग करने का प्रयास करें।

bash
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 रजिस्ट्रियाँ जहाँ वही ईमेल दिखाई देता है)।
आप ऑनलाइन टूल का उपयोग कर सकते हैं जैसे:

आप इस कार्य को स्वचालित कर सकते हैं DomLink (एक whoxy API कुंजी की आवश्यकता होती है)।
आप amass के साथ कुछ स्वचालित रिवर्स Whois खोज भी कर सकते हैं: amass intel -d tesla.com -whois

ध्यान दें कि आप इस तकनीक का उपयोग हर बार एक नया डोमेन खोजने पर अधिक डोमेन नाम खोजने के लिए कर सकते हैं।

Trackers

यदि आप 2 विभिन्न पृष्ठों में एक ही ट्रैकर का एक ही ID पाते हैं, तो आप मान सकते हैं कि दोनों पृष्ठ एक ही टीम द्वारा प्रबंधित हैं।
उदाहरण के लिए, यदि आप कई पृष्ठों पर वही Google Analytics ID या वही Adsense ID देखते हैं।

कुछ पृष्ठ और उपकरण हैं जो आपको इन ट्रैकर्स द्वारा खोजने की अनुमति देते हैं और अधिक:

Favicon

क्या आप जानते हैं कि हम एक ही फेविकॉन आइकन हैश की तलाश करके अपने लक्ष्य से संबंधित डोमेन और उप डोमेन पा सकते हैं? यह ठीक वही है जो favihash.py टूल @m4ll0k2 द्वारा बनाया गया है। इसका उपयोग कैसे करें:

bash
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 आइकन हैश के साथ डोमेन खोजें

सरल शब्दों में, favihash हमें उन डोमेन को खोजने की अनुमति देगा जिनका favicon आइकन हैश हमारे लक्ष्य के समान है।

इसके अलावा, आप favicon हैश का उपयोग करके तकनीकों की भी खोज कर सकते हैं जैसा कि इस ब्लॉग पोस्ट में समझाया गया है। इसका मतलब है कि यदि आप जानते हैं कि एक कमजोर संस्करण के वेब तकनीक का favicon का हैश क्या है, तो आप शोडन में खोज सकते हैं और अधिक कमजोर स्थानों को खोज सकते हैं:

bash
shodan search org:"Target" http.favicon.hash:116323821 --fields ip_str,port --separator " " | awk '{print $1":"$2}'

यहाँ बताया गया है कि आप एक वेब का फेविकॉन हैश कैसे गणना कर सकते हैं:

python
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

वेब पृष्ठों के अंदर स्ट्रिंग्स की खोज करें जो एक ही संगठन में विभिन्न वेब्स के बीच साझा की जा सकती हैंकॉपीराइट स्ट्रिंग एक अच्छा उदाहरण हो सकता है। फिर उस स्ट्रिंग की गूगल, अन्य ब्राउज़रों या यहां तक कि शोडन में खोज करें: shodan search http.html:"Copyright string"

CRT Time

यह सामान्य है कि एक क्रॉन जॉब हो जैसे

bash
# /etc/crontab
37 13 */10 * * certbot renew --post-hook "systemctl reload nginx"

to renew the all the domain certificates on the server. This means that even if the CA used for this doesn't set the time it was generated in the Validity time, it's possible to find domains belonging to the same company in the certificate transparency logs.
Check out this writeup for more information.

Mail DMARC information

आप एक वेब जैसे https://dmarc.live/info/google.com या एक टूल जैसे https://github.com/Tedixx/dmarc-subdomains का उपयोग करके एक ही dmarc जानकारी साझा करने वाले डोमेन और उपडोमेन खोज सकते हैं।

Passive Takeover

स्पष्ट रूप से यह सामान्य है कि लोग उपडोमेन को उन IPs पर असाइन करते हैं जो क्लाउड प्रदाताओं से संबंधित हैं और किसी बिंदु पर उस IP पते को खो देते हैं लेकिन DNS रिकॉर्ड को हटाना भूल जाते हैं। इसलिए, बस एक VM स्पॉन करना एक क्लाउड (जैसे Digital Ocean) में आप वास्तव में कुछ उपडोमेन(s) पर कब्जा कर रहे होंगे

This post इस बारे में एक स्टोर को समझाता है और एक स्क्रिप्ट का प्रस्ताव करता है जो DigitalOcean में एक VM स्पॉन करता है, नए मशीन का IPv4 प्राप्त करता है, और Virustotal में उपडोमेन रिकॉर्ड की खोज करता है जो इसे इंगित करते हैं।

Other ways

ध्यान दें कि आप इस तकनीक का उपयोग हर बार एक नया डोमेन खोजने के लिए अधिक डोमेन नाम खोजने के लिए कर सकते हैं।

Shodan

जैसा कि आप पहले से ही IP स्पेस के मालिक संगठन का नाम जानते हैं। आप उस डेटा को shodan में खोज सकते हैं: org:"Tesla, Inc." TLS प्रमाणपत्र में नए अप्रत्याशित डोमेन के लिए पाए गए होस्ट की जांच करें।

आप मुख्य वेब पृष्ठ का TLS प्रमाणपत्र एक्सेस कर सकते हैं, संगठन का नाम प्राप्त कर सकते हैं और फिर उस नाम को shodan द्वारा ज्ञात सभी वेब पृष्ठों के TLS प्रमाणपत्रों के अंदर खोज सकते हैं जिसमें फ़िल्टर है: ssl:"Tesla Motors" या sslsearch जैसे टूल का उपयोग करें।

Assetfinder

Assetfinder एक टूल है जो मुख्य डोमेन से संबंधित डोमेन और उनके उपडोमेन की खोज करता है, काफी अद्भुत।

Looking for vulnerabilities

कुछ domain takeover के लिए जांचें। शायद कोई कंपनी किसी डोमेन का उपयोग कर रही है लेकिन उन्होंने स्वामित्व खो दिया है। बस इसे रजिस्टर करें (यदि यह सस्ता है) और कंपनी को सूचित करें।

यदि आप किसी डोमेन को एक IP के साथ पाते हैं जो पहले से खोजे गए संपत्तियों में से अलग है, तो आपको एक बुनियादी सुरक्षा स्कैन (Nessus या OpenVAS का उपयोग करके) और कुछ पोर्ट स्कैन nmap/masscan/shodan के साथ करना चाहिए। यह निर्भर करता है कि कौन से सेवाएँ चल रही हैं, आप इस पुस्तक में कुछ तरकीबें "हमले" करने के लिए पा सकते हैं।
ध्यान दें कि कभी-कभी डोमेन एक ऐसे IP पर होस्ट किया जाता है जो क्लाइंट द्वारा नियंत्रित नहीं होता है, इसलिए यह दायरे में नहीं है, सावधान रहें।

Subdomains

हम सभी कंपनियों को जानते हैं जो दायरे में हैं, प्रत्येक कंपनी की सभी संपत्तियाँ और कंपनियों से संबंधित सभी डोमेन।

यह समय है कि प्रत्येक पाए गए डोमेन के सभी संभावित उपडोमेन खोजें।

tip

ध्यान दें कि डोमेन खोजने के लिए कुछ टूल और तकनीकें उपडोमेन खोजने में भी मदद कर सकती हैं

DNS

आइए DNS रिकॉर्ड से उपडोमेन प्राप्त करने की कोशिश करें। हमें ज़ोन ट्रांसफर के लिए भी प्रयास करना चाहिए (यदि कमजोर है, तो आपको इसकी रिपोर्ट करनी चाहिए)।

bash
dnsrecon -a -d tesla.com

OSINT

बहुत सारे सबडोमेन प्राप्त करने का सबसे तेज़ तरीका बाहरी स्रोतों में खोज करना है। सबसे अधिक उपयोग किए जाने वाले tools निम्नलिखित हैं (बेहतर परिणामों के लिए API कुंजी कॉन्फ़िगर करें):

bash
# 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 .
bash
amass enum [-active] [-ip] -d tesla.com
amass enum -d tesla.com | grep tesla.com # To just list subdomains
bash
# Subfinder, use -silent to only have subdomains in the output
./subfinder-linux-amd64 -d tesla.com [-silent]
bash
# findomain, use -silent to only have subdomains in the output
./findomain-linux -t tesla.com [--quiet]
bash
python3 oneforall.py --target tesla.com [--dns False] [--req False] [--brute False] run
bash
assetfinder --subs-only <domain>
bash
# It requires that you create a sudomy.api file with API keys
sudomy -d tesla.com
vita -d tesla.com
bash
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"

कुछ अन्य दिलचस्प उपकरण/एपीआई हैं जो सीधे तौर पर उपडोमेन खोजने में विशेषज्ञ नहीं हैं, लेकिन उपडोमेन खोजने में उपयोगी हो सकते हैं, जैसे:

bash
# 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 ".[]"
bash
curl https://jldc.me/anubis/subdomains/tesla.com | jq -r ".[]"
bash
# 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
bash
# 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 को लाता है।
bash
# Get subdomains from GAUs found URLs
gau --subs tesla.com | cut -d "/" -f 3 | sort -u
  • SubDomainizer और subscraper: ये वेब को स्क्रैप करते हैं, JS फ़ाइलों की तलाश करते हैं और वहां से सबडोमेन निकालते हैं।
bash
# 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
bash
# Get info about the domain
shodan domain <domain>
# Get other pages with links to subdomains
shodan search "http.html:help.domain.com"
bash
export CENSYS_API_ID=...
export CENSYS_API_SECRET=...
python3 censys-subdomain-finder.py tesla.com
bash
python3 DomainTrail.py -d example.com

यह प्रोजेक्ट बग-बाउंटी कार्यक्रमों से संबंधित सभी उपडोमेन मुफ्त में प्रदान करता है। आप इस डेटा को chaospy का उपयोग करके भी एक्सेस कर सकते हैं या इस प्रोजेक्ट द्वारा उपयोग किए गए दायरे को भी एक्सेस कर सकते हैं https://github.com/projectdiscovery/chaos-public-program-list

आप इन उपकरणों की तुलना यहाँ पा सकते हैं: https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off

DNS ब्रूट फोर्स

आइए संभावित उपडोमेन नामों का उपयोग करके 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 ब्रूट-फोर्स किया। यह बहुत तेज है हालांकि यह गलत सकारात्मक के प्रति संवेदनशील है।
bash
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 उत्पन्न करता है।
bash
cat subdomains.txt | dnsgen -
  • goaltdns: दिए गए डोमेन और सबडोमेन के लिए उत्परिवर्तन उत्पन्न करें।
  • आप wordlist के लिए goaltdns उत्परिवर्तन यहां प्राप्त कर सकते हैं।
bash
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 संयोजन शब्द सूची यहां प्राप्त कर सकते हैं।
bash
cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
  • alterx: एक डोमेन के आधार पर यह संकेतित पैटर्न के आधार पर नए संभावित उपडोमेन नाम उत्पन्न करता है ताकि अधिक उपडोमेन खोजने की कोशिश की जा सके।

स्मार्ट परिमाण उत्पन्न करना

  • regulator: अधिक जानकारी के लिए इस पोस्ट को पढ़ें लेकिन यह मूल रूप से खोजे गए उपडोमेन के मुख्य भागों को प्राप्त करेगा और अधिक उपडोमेन खोजने के लिए उन्हें मिलाएगा।
bash
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 का उपयोग करके

ब्रूट फोर्स

यदि आपको संदेह है कि कुछ सबडोमेन एक वेब सर्वर में छिपा हो सकता है, तो आप इसे ब्रूट फोर्स करने की कोशिश कर सकते हैं:

bash
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

tip

इस तकनीक के साथ, आप आंतरिक/छिपे हुए एंडपॉइंट्स तक भी पहुँच सकते हैं।

CORS Brute Force

कभी-कभी आप ऐसी पृष्ठों को पाएंगे जो केवल Access-Control-Allow-Origin हेडर को लौटाते हैं जब Origin हेडर में एक मान्य डोमेन/सबडोमेन सेट किया गया हो। इन परिदृश्यों में, आप इस व्यवहार का दुरुपयोग करके नए सबडोमेन खोज सकते हैं।

bash
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 रेंज, डोमेन और सबडोमेन जानते हैं। अब वेब सर्वरों की खोज करने का समय है।

पिछले चरणों में, आपने शायद पहले से ही खोजे गए IPs और डोमेन का कुछ रीकॉन किया है, इसलिए आप संभवतः सभी संभावित वेब सर्वरों को पहले ही खोज चुके हैं। हालाँकि, यदि आपने नहीं किया है, तो हम अब दायरे के भीतर वेब सर्वरों की खोज के लिए कुछ तेज़ तरकीबें देखेंगे।

कृपया ध्यान दें कि यह वेब ऐप्स की खोज के लिए उन्मुख होगा, इसलिए आपको कमजोरियों और पोर्ट स्कैनिंग भी करनी चाहिए (यदि दायरे द्वारा अनुमति दी गई हो).

वेब सर्वरों से संबंधित खुले पोर्ट खोजने के लिए एक तेज़ विधि masscan का उपयोग करके यहां पाई जा सकती है.
वेब सर्वरों की खोज के लिए एक और उपयोगी टूल httprobe, fprobe और httpx है। आप बस डोमेन की एक सूची पास करते हैं और यह पोर्ट 80 (http) और 443 (https) से कनेक्ट करने की कोशिश करेगा। इसके अतिरिक्त, आप अन्य पोर्ट की कोशिश करने के लिए संकेत दे सकते हैं:

bash
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 का उपयोग कर सकते हैं ताकि सभी स्क्रीनशॉट्स पर चलाकर आपको बता सके कि कौन सी संभावित रूप से कमजोरियां हो सकती हैं, और कौन सी नहीं।

Public Cloud Assets

किसी कंपनी के संभावित क्लाउड संपत्तियों को खोजने के लिए आपको उस कंपनी की पहचान करने वाले कीवर्ड की एक सूची से शुरू करना चाहिए। उदाहरण के लिए, एक क्रिप्टो कंपनी के लिए आप शब्दों का उपयोग कर सकते हैं: "crypto", "wallet", "dao", "<domain_name>", <"subdomain_names">

आपको बकेट्स में उपयोग किए जाने वाले सामान्य शब्दों की वर्डलिस्ट भी चाहिए:

फिर, उन शब्दों के साथ आपको परम्यूटेशन उत्पन्न करनी चाहिए (अधिक जानकारी के लिए Second Round DNS Brute-Force देखें)।

परिणामी वर्डलिस्ट के साथ आप cloud_enum, CloudScraper, cloudlist या S3Scanner** का उपयोग कर सकते हैं।**

याद रखें कि जब आप क्लाउड संपत्तियों की खोज कर रहे हैं तो आपको AWS में बकेट्स से अधिक की तलाश करनी चाहिए

Looking for vulnerabilities

यदि आप खुले बकेट्स या क्लाउड फ़ंक्शंस खोजते हैं तो आपको उनका उपयोग करना चाहिए और देखना चाहिए कि वे आपको क्या प्रदान करते हैं और क्या आप उनका दुरुपयोग कर सकते हैं।

Emails

दायरे में डोमेन और सबडोमेन के साथ आपके पास ईमेल खोजने के लिए आवश्यक सभी चीजें हैं। ये हैं APIs और उपकरण जो मुझे किसी कंपनी के ईमेल खोजने में सबसे अच्छे लगे हैं:

Looking for vulnerabilities

ईमेल बाद में वेब लॉगिन और ऑथ सेवाओं (जैसे SSH) के लिए ब्रूट-फोर्स करने में सहायक होंगे। इसके अलावा, ये फिशिंग के लिए आवश्यक हैं। इसके अलावा, ये APIs आपको ईमेल के पीछे के व्यक्ति के बारे में और भी अधिक जानकारी प्रदान करेंगे, जो फिशिंग अभियान के लिए उपयोगी है।

Credential Leaks

डोमेन, सबडोमेन, और ईमेल के साथ आप उन ईमेल से संबंधित लीक हुए क्रेडेंशियल्स की खोज शुरू कर सकते हैं:

Looking for vulnerabilities

यदि आप मान्य लीक हुए क्रेडेंशियल्स पाते हैं, तो यह एक बहुत आसान जीत है।

Secrets Leaks

क्रेडेंशियल लीक उन हैक्स से संबंधित हैं जहां संवेदनशील जानकारी लीक और बेची गई थी। हालाँकि, कंपनियाँ अन्य लीक से प्रभावित हो सकती हैं जिनकी जानकारी उन डेटाबेस में नहीं है:

Github Leaks

क्रेडेंशियल्स और APIs कंपनी या उस गिटहब कंपनी के उपयोगकर्ताओं के सार्वजनिक रिपॉजिटरी में लीक हो सकते हैं।
आप उपकरण Leakos का उपयोग करके किसी संगठन और उसके डेवलपर्स के सभी सार्वजनिक रिपॉजिटरी को डाउनलोड कर सकते हैं और उन पर स्वचालित रूप से gitleaks चला सकते हैं।

Leakos का उपयोग सभी पाठ प्रदान किए गए URLs पर gitleaks चलाने के लिए भी किया जा सकता है क्योंकि कभी-कभी वेब पृष्ठों में भी रहस्य होते हैं

Github Dorks

आप जिस संगठन पर हमला कर रहे हैं, उसमें संभावित गिटहब डॉर्क्स के लिए इस पृष्ठ की जांच करें:

Github Dorks & Leaks

Pastes Leaks

कभी-कभी हमलावर या बस कर्मचारी कंपनी की सामग्री को एक पेस्ट साइट पर प्रकाशित करेंगे। इसमें संवेदनशील जानकारी हो सकती है या नहीं, लेकिन इसे खोजना बहुत दिलचस्प है।
आप Pastos नामक उपकरण का उपयोग करके एक साथ 80 से अधिक पेस्ट साइटों में खोज कर सकते हैं।

Google Dorks

पुराने लेकिन सुनहरे गूगल डॉर्क्स हमेशा वहां नहीं होनी चाहिए ऐसी उजागर जानकारी खोजने के लिए उपयोगी होते हैं। एकमात्र समस्या यह है कि google-hacking-database में कई हजारों संभावित क्वेरी हैं जिन्हें आप मैन्युअल रूप से नहीं चला सकते। इसलिए, आप अपने पसंदीदा 10 को ले सकते हैं या आप Gorks जैसे उपकरण का उपयोग कर सकते हैं उन सभी को चलाने के लिए

ध्यान दें कि जो उपकरण नियमित Google ब्राउज़र का उपयोग करके सभी डेटाबेस को चलाने की उम्मीद करते हैं, वे कभी समाप्त नहीं होंगे क्योंकि Google आपको बहुत जल्दी ब्लॉक कर देगा।

Looking for vulnerabilities

यदि आप मान्य लीक हुए क्रेडेंशियल्स या API टोकन पाते हैं, तो यह एक बहुत आसान जीत है।

Public Code Vulnerabilities

यदि आपने पाया कि कंपनी का ओपन-सोर्स कोड है, तो आप इसे विश्लेषण कर सकते हैं और इसमें कमजोरियों की खोज कर सकते हैं।

भाषा के आधार पर आप विभिन्न उपकरणों का उपयोग कर सकते हैं:

Source code Review / SAST Tools

सार्वजनिक रिपॉजिटरी को स्कैन करने के लिए भी मुफ्त सेवाएँ हैं, जैसे:

Pentesting Web Methodology

कमजोरियों की अधिकांशता जो बग हंटर्स द्वारा पाई जाती हैं, वे वेब अनुप्रयोगों के अंदर होती हैं, इसलिए इस बिंदु पर मैं एक वेब अनुप्रयोग परीक्षण पद्धति के बारे में बात करना चाहता हूँ, और आप यहाँ इस जानकारी को पा सकते हैं

मैं Web Automated Scanners open source tools अनुभाग का विशेष उल्लेख करना चाहता हूँ, क्योंकि, यदि आपको उनसे बहुत संवेदनशील कमजोरियों की खोज करने की उम्मीद नहीं करनी चाहिए, तो वे प्रारंभिक वेब जानकारी प्राप्त करने के लिए कार्यप्रवाहों में लागू करने के लिए सहायक होते हैं।

Recapitulation

बधाई हो! इस बिंदु पर आपने पहले ही सभी बुनियादी गणना कर ली है। हाँ, यह बुनियादी है क्योंकि और भी बहुत अधिक गणना की जा सकती है (बाद में और तरकीबें देखेंगे)।

तो आपने पहले ही:

  1. दायरे में सभी कंपनियों को खोज लिया है
  2. कंपनियों से संबंधित सभी संपत्तियों को खोज लिया है (और यदि दायरे में हो तो कुछ कमजोरियों का स्कैन किया है)
  3. कंपनियों से संबंधित सभी डोमेन को खोज लिया है
  4. डोमेन के सभी सबडोमेन को खोज लिया है (क्या कोई सबडोमेन टेकओवर?)
  5. दायरे में सभी IPs (CDNs से और नहीं) को खोज लिया है।
  6. सभी वेब सर्वर को खोज लिया है और उनके स्क्रीनशॉट लिए हैं (क्या कुछ अजीब है जो गहराई से देखने लायक है?)
  7. कंपनी से संबंधित सभी संभावित सार्वजनिक क्लाउड संपत्तियों को खोज लिया है।
  8. ईमेल, क्रेडेंशियल लीक, और गुप्त लीक जो आपको बहुत आसानी से एक बड़ा लाभ दे सकते हैं।
  9. आपने जो भी वेब खोजी हैं, उनका पेंटेस्टिंग किया है।

Full Recon Automatic Tools

वहाँ कई उपकरण हैं जो दिए गए दायरे के खिलाफ प्रस्तावित कार्यों का एक भाग करेंगे।

References

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें