Εξωτερική Μεθοδολογία Αναγνώρισης

Reading time: 30 minutes

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Ανακαλύψεις Περιουσιακών Στοιχείων

Έτσι σας είπαν ότι όλα όσα ανήκουν σε μια εταιρεία είναι εντός του πεδίου εφαρμογής, και θέλετε να καταλάβετε τι πραγματικά κατέχει αυτή η εταιρεία.

Ο στόχος αυτής της φάσης είναι να αποκτήσουμε όλες τις εταιρείες που ανήκουν στην κύρια εταιρεία και στη συνέχεια όλα τα περιουσιακά στοιχεία αυτών των εταιρειών. Για να το κάνουμε αυτό, θα:

  1. Βρούμε τις εξαγορές της κύριας εταιρείας, αυτό θα μας δώσει τις εταιρείες εντός του πεδίου εφαρμογής.
  2. Βρούμε το ASN (αν υπάρχει) κάθε εταιρείας, αυτό θα μας δώσει τις περιοχές IP που ανήκουν σε κάθε εταιρεία.
  3. Χρησιμοποιήσουμε αναζητήσεις reverse whois για να αναζητήσουμε άλλες καταχωρίσεις (ονόματα οργανισμών, τομείς...) σχετικές με την πρώτη (αυτό μπορεί να γίνει αναδρομικά).
  4. Χρησιμοποιήσουμε άλλες τεχνικές όπως τα φίλτρα shodan org και ssl για να αναζητήσουμε άλλα περιουσιακά στοιχεία (το κόλπο ssl μπορεί να γίνει αναδρομικά).

Εξαγορές

Πρώτα απ' όλα, πρέπει να ξέρουμε ποιες άλλες εταιρείες ανήκουν στην κύρια εταιρεία.
Μια επιλογή είναι να επισκεφθείτε https://www.crunchbase.com/, να αναζητήσετε την κύρια εταιρεία, και να κάνετε κλικ στις "εξαγορές". Εκεί θα δείτε άλλες εταιρείες που αποκτήθηκαν από την κύρια.
Μια άλλη επιλογή είναι να επισκεφθείτε τη σελίδα Wikipedia της κύριας εταιρείας και να αναζητήσετε εξαγορές.

Εντάξει, σε αυτό το σημείο θα πρέπει να γνωρίζετε όλες τις εταιρείες εντός του πεδίου εφαρμογής. Ας δούμε πώς να βρούμε τα περιουσιακά τους στοιχεία.

ASNs

Ένας αριθμός αυτόνομου συστήματος (ASN) είναι ένας μοναδικός αριθμός που αποδίδεται σε ένα αυτόνομο σύστημα (AS) από την Αρχή Ανάθεσης Αριθμών Διαδικτύου (IANA).
Ένα 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 η αναγνώριση υποτομέων συγκεντρώνει και συνοψίζει αυτόματα τα 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).
Μπορείτε να βρείτε το IP και το ASN ενός τομέα χρησιμοποιώντας http://ipv4info.com/.

Αναζητώντας ευπάθειες

Σε αυτό το σημείο γνωρίζουμε όλα τα περιουσιακά στοιχεία εντός του πεδίου, οπότε αν έχετε άδεια, μπορείτε να εκκινήσετε κάποιο σάρωσης ευπαθειών (Nessus, OpenVAS) σε όλους τους hosts.
Επίσης, μπορείτε να εκκινήσετε κάποιες σάρωσεις θυρών ή να χρησιμοποιήσετε υπηρεσίες όπως shodan για να βρείτε ανοιχτές θύρες και ανάλογα με το τι θα βρείτε, θα πρέπει να ρίξετε μια ματιά σε αυτό το βιβλίο για το πώς να κάνετε pentest σε πολλές πιθανές υπηρεσίες που τρέχουν.
Επίσης, αξίζει να αναφερθεί ότι μπορείτε επίσης να προετοιμάσετε κάποιες λίστες με προεπιλεγμένα ονόματα χρήστη και κωδικούς πρόσβασης και να προσπαθήσετε να κάνετε bruteforce υπηρεσίες με https://github.com/x90skysn3k/brutespray.

Τομείς

Γνωρίζουμε όλες τις εταιρείες εντός του πεδίου και τα περιουσιακά τους στοιχεία, ήρθε η ώρα να βρούμε τους τομείς εντός του πεδίου.

Παρακαλώ σημειώστε ότι στις παρακάτω προτεινόμενες τεχνικές μπορείτε επίσης να βρείτε υποτομείς και αυτή η πληροφορία δεν θα πρέπει να υποτιμάται.

Πρώτα απ' όλα, θα πρέπει να αναζητήσετε τον κύριο τομέα(ες) κάθε εταιρείας. Για παράδειγμα, για την Tesla Inc. θα είναι tesla.com.

Αντίστροφη DNS

Καθώς έχετε βρει όλα τα εύρη IP των τομέων, μπορείτε να προσπαθήσετε να εκτελέσετε αντίστροφες αναζητήσεις dns σε αυτές τις IPs για να βρείτε περισσότερους τομείς εντός του πεδίου. Προσπαθήστε να χρησιμοποιήσετε κάποιον dns server του θύματος ή κάποιον γνωστό dns server (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.
Μπορείτε επίσης να χρησιμοποιήσετε ένα online εργαλείο για αυτές τις πληροφορίες: http://ptrarchive.com/

Αντίστροφο Whois (loop)

Μέσα σε ένα whois μπορείτε να βρείτε πολλές ενδιαφέρουσες πληροφορίες όπως όνομα οργανισμού, διεύθυνση, emails, αριθμούς τηλεφώνου... Αλλά το πιο ενδιαφέρον είναι ότι μπορείτε να βρείτε περισσότερα περιουσιακά στοιχεία που σχετίζονται με την εταιρεία αν εκτελέσετε αντίστροφες αναζητήσεις whois με οποιοδήποτε από αυτά τα πεδία (για παράδειγμα άλλες καταχωρίσεις whois όπου εμφανίζεται το ίδιο email).
Μπορείτε να χρησιμοποιήσετε online εργαλεία όπως:

Μπορείτε να αυτοματοποιήσετε αυτή την εργασία χρησιμοποιώντας DomLink (απαιτεί κλειδί API whoxy).
Μπορείτε επίσης να εκτελέσετε κάποια αυτόματη ανακάλυψη αντίστροφου whois με amass: amass intel -d tesla.com -whois

Σημειώστε ότι μπορείτε να χρησιμοποιήσετε αυτή την τεχνική για να ανακαλύψετε περισσότερα ονόματα τομέα κάθε φορά που βρίσκετε ένα νέο τομέα.

Trackers

Αν βρείτε το ίδιο ID του ίδιου tracker σε 2 διαφορετικές σελίδες μπορείτε να υποθέσετε ότι και οι δύο σελίδες διαχειρίζονται από την ίδια ομάδα.
Για παράδειγμα, αν δείτε το ίδιο Google Analytics ID ή το ίδιο Adsense ID σε πολλές σελίδες.

Υπάρχουν κάποιες σελίδες και εργαλεία που σας επιτρέπουν να αναζητήσετε με αυτούς τους trackers και περισσότερα:

Favicon

Γνωρίζατε ότι μπορούμε να βρούμε σχετικούς τομείς και υποτομείς στον στόχο μας αναζητώντας το ίδιο hash εικονιδίου 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 - ανακάλυψη τομέων με το ίδιο hash εικονιδίου favicon

Απλά, το favihash θα μας επιτρέψει να ανακαλύψουμε τομείς που έχουν το ίδιο hash εικονιδίου favicon με τον στόχο μας.

Επιπλέον, μπορείτε επίσης να αναζητήσετε τεχνολογίες χρησιμοποιώντας το hash του favicon όπως εξηγείται σε αυτή την ανάρτηση blog. Αυτό σημαίνει ότι αν γνωρίζετε το hash του favicon μιας ευάλωτης έκδοσης μιας διαδικτυακής τεχνολογίας μπορείτε να αναζητήσετε αν στο shodan και να βρείτε περισσότερες ευάλωτες τοποθεσίες:

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

Αυτός είναι ο τρόπος με τον οποίο μπορείτε να υπολογίσετε το hash του favicon ενός ιστότοπου:

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

Αναζητήστε μέσα στις ιστοσελίδες αλφαριθμητικούς χαρακτήρες που θα μπορούσαν να μοιραστούν σε διάφορες ιστοσελίδες της ίδιας οργάνωσης. Η αλφαριθμητική δήλωση πνευματικών δικαιωμάτων θα μπορούσε να είναι ένα καλό παράδειγμα. Στη συνέχεια, αναζητήστε αυτή τη δήλωση σε google, σε άλλους προγράμματα περιήγησης ή ακόμη και σε shodan: shodan search http.html:"Copyright string"

CRT Time

Είναι κοινό να υπάρχει μια εργασία cron όπως

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

να ανανεώσετε όλα τα πιστοποιητικά τομέα στον διακομιστή. Αυτό σημαίνει ότι ακόμη και αν η CA που χρησιμοποιείται για αυτό δεν ορίζει την ώρα που δημιουργήθηκε στην περίοδο ισχύος, είναι δυνατόν να βρείτε τομείς που ανήκουν στην ίδια εταιρεία στα αρχεία διαφάνειας πιστοποιητικών.
Δείτε αυτό το writeup για περισσότερες πληροφορίες.

Πληροφορίες DMARC Mail

Μπορείτε να χρησιμοποιήσετε έναν ιστότοπο όπως https://dmarc.live/info/google.com ή ένα εργαλείο όπως https://github.com/Tedixx/dmarc-subdomains για να βρείτε τομείς και υποτομείς που μοιράζονται τις ίδιες πληροφορίες DMARC.

Passive Takeover

Φαίνεται ότι είναι κοινό για τους ανθρώπους να αναθέτουν υποτομείς σε IP που ανήκουν σε παρόχους cloud και σε κάποιο σημείο να χάσουν αυτήν την διεύθυνση IP αλλά να ξεχάσουν να αφαιρέσουν την εγγραφή DNS. Επομένως, απλά δημιουργώντας μια VM σε ένα cloud (όπως το Digital Ocean) θα αναλαμβάνετε στην πραγματικότητα κάποιους υποτομείς.

Αυτή η ανάρτηση εξηγεί μια ιστορία γι' αυτό και προτείνει ένα σενάριο που δημιουργεί μια VM στο DigitalOcean, παίρνει την IPv4 της νέας μηχανής και αναζητά σε Virustotal για εγγραφές υποτομέων που δείχνουν σε αυτήν.

Άλλοι τρόποι

Σημειώστε ότι μπορείτε να χρησιμοποιήσετε αυτήν την τεχνική για να ανακαλύψετε περισσότερα ονόματα τομέων κάθε φορά που βρίσκετε έναν νέο τομέα.

Shodan

Όπως ήδη γνωρίζετε το όνομα της οργάνωσης που κατέχει τον χώρο IP. Μπορείτε να αναζητήσετε με αυτά τα δεδομένα στο shodan χρησιμοποιώντας: org:"Tesla, Inc." Ελέγξτε τους βρεθέντες διακομιστές για νέους απροσδόκητους τομείς στο πιστοποιητικό TLS.

Μπορείτε να αποκτήσετε το πιστοποιητικό TLS της κύριας ιστοσελίδας, να αποκτήσετε το όνομα Οργάνωσης και στη συνέχεια να αναζητήσετε αυτό το όνομα μέσα στα πιστοποιητικά TLS όλων των ιστοσελίδων που είναι γνωστές από το shodan με το φίλτρο: ssl:"Tesla Motors" ή να χρησιμοποιήσετε ένα εργαλείο όπως sslsearch.

Assetfinder

Assetfinder είναι ένα εργαλείο που αναζητά σχετικούς τομείς με έναν κύριο τομέα και υποτομείς αυτών, αρκετά εκπληκτικό.

Αναζητώντας ευπάθειες

Ελέγξτε για κάποια ανάληψη τομέα. Ίσως κάποια εταιρεία να χρησιμοποιεί κάποιον τομέα αλλά να έχει χάσει την ιδιοκτησία. Απλά καταχωρίστε τον (αν είναι αρκετά φθηνός) και ενημερώστε την εταιρεία.

Αν βρείτε οποιονδήποτε τομέα με μια IP διαφορετική από αυτές που έχετε ήδη βρει στην ανακάλυψη περιουσιακών στοιχείων, θα πρέπει να εκτελέσετε μια βασική σάρωση ευπαθειών (χρησιμοποιώντας Nessus ή OpenVAS) και κάποια σάρωση θυρών με nmap/masscan/shodan. Ανάλογα με τις υπηρεσίες που εκτελούνται, μπορείτε να βρείτε σε αυτό το βιβλίο μερικά κόλπα για να "επιτεθείτε" σε αυτές.
Σημειώστε ότι μερικές φορές ο τομέας φιλοξενείται μέσα σε μια IP που δεν ελέγχεται από τον πελάτη, οπότε δεν είναι στο πεδίο εφαρμογής, να είστε προσεκτικοί.

Υποτομείς

Γνωρίζουμε όλες τις εταιρείες εντός του πεδίου εφαρμογής, όλα τα περιουσιακά στοιχεία κάθε εταιρείας και όλους τους τομείς που σχετίζονται με τις εταιρείες.

Ήρθε η ώρα να βρούμε όλους τους πιθανούς υποτομείς κάθε βρεθέντος τομέα.

tip

Σημειώστε ότι ορισμένα από τα εργαλεία και τις τεχνικές για την εύρεση τομέων μπορούν επίσης να βοηθήσουν στην εύρεση υποτομέων

DNS

Ας προσπαθήσουμε να αποκτήσουμε υποτομείς από τις εγγραφές DNS. Πρέπει επίσης να προσπαθήσουμε για Zone Transfer (Αν είναι ευάλωτο, θα πρέπει να το αναφέρετε).

bash
dnsrecon -a -d tesla.com

OSINT

Ο ταχύτερος τρόπος για να αποκτήσετε πολλούς υποτομείς είναι η αναζήτηση σε εξωτερικές πηγές. Τα πιο χρησιμοποιούμενα εργαλεία είναι τα εξής (για καλύτερα αποτελέσματα ρυθμίστε τα API keys):

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"

Υπάρχουν άλλα ενδιαφέροντα εργαλεία/APIs που, ακόμη και αν δεν είναι άμεσα εξειδικευμένα στην εύρεση υποτομέων, θα μπορούσαν να είναι χρήσιμα για την εύρεση υποτομέων, όπως:

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: ανακτά γνωστές διευθύνσεις URL από το Open Threat Exchange της AlienVault, το Wayback Machine και το Common Crawl για οποιοδήποτε δεδομένο τομέα.
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

Αυτό το έργο προσφέρει δωρεάν όλους τους υποτομείς που σχετίζονται με προγράμματα bug-bounty. Μπορείτε να αποκτήσετε πρόσβαση σε αυτά τα δεδομένα χρησιμοποιώντας επίσης chaospy ή ακόμα και να αποκτήσετε πρόσβαση στο πεδίο που χρησιμοποιείται από αυτό το έργο https://github.com/projectdiscovery/chaos-public-program-list

Μπορείτε να βρείτε μια σύγκριση πολλών από αυτά τα εργαλεία εδώ: https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off

DNS Brute force

Ας προσπαθήσουμε να βρούμε νέους υποτομείς κάνοντας brute-force στους DNS servers χρησιμοποιώντας πιθανά ονόματα υποτομέων.

Για αυτή την ενέργεια θα χρειαστείτε μερικές κοινές λίστες λέξεων υποτομέων όπως:

Και επίσης IPs καλών DNS resolvers. Για να δημιουργήσετε μια λίστα αξιόπιστων DNS resolvers μπορείτε να κατεβάσετε τους resolvers από https://public-dns.info/nameservers-all.txt και να χρησιμοποιήσετε dnsvalidator για να τους φιλτράρετε. Ή μπορείτε να χρησιμοποιήσετε: https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt

Τα πιο συνιστώμενα εργαλεία για DNS brute-force είναι:

  • massdns: Αυτό ήταν το πρώτο εργαλείο που εκτέλεσε αποτελεσματικό DNS brute-force. Είναι πολύ γρήγορο, ωστόσο είναι επιρρεπές σε ψευδώς θετικά αποτελέσματα.
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 resolver
gobuster dns -d mysite.com -t 50 -w subdomains.txt
  • shuffledns είναι ένα wrapper γύρω από το massdns, γραμμένο σε go, που σας επιτρέπει να καταγράφετε έγκυρους υποτομείς χρησιμοποιώντας ενεργό bruteforce, καθώς και να επιλύετε υποτομείς με διαχείριση wildcard και εύκολη υποστήριξη εισόδου-εξόδου.
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
  • puredns: Χρησιμοποιεί επίσης το massdns.
puredns bruteforce all.txt domain.com
  • aiodnsbrute χρησιμοποιεί το asyncio για να κάνει brute force σε ονόματα τομέα ασύγχρονα.
aiodnsbrute -r resolvers -w wordlist.txt -vv -t 1024 domain.com

Δεύτερος Γύρος Brute-Force DNS

Αφού έχετε βρει υποτομείς χρησιμοποιώντας ανοιχτές πηγές και brute-forcing, μπορείτε να δημιουργήσετε παραλλαγές των υποτομέων που βρήκατε για να προσπαθήσετε να βρείτε ακόμη περισσότερους. Πολλά εργαλεία είναι χρήσιμα για αυτόν τον σκοπό:

  • dnsgen: Δίνοντας τους τομείς και τους υποτομείς, δημιουργεί παραλλαγές.
bash
cat subdomains.txt | dnsgen -
  • goaltdns: Δίνοντας τα domains και subdomains, δημιουργεί παραλλαγές.
  • Μπορείτε να αποκτήσετε τις παραλλαγές του goaltdns wordlist εδώ.
bash
goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
  • gotator: Δίνοντας τα domains και subdomains, δημιουργεί παραλλαγές. Αν δεν υποδειχθεί αρχείο παραλλαγών, το gotator θα χρησιμοποιήσει το δικό του.
gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
  • altdns: Εκτός από την παραγωγή παραλλαγών υποτομέων, μπορεί επίσης να προσπαθήσει να τις επιλύσει (αλλά είναι καλύτερο να χρησιμοποιήσετε τα προηγούμενα εργαλεία που αναφέρθηκαν).
  • Μπορείτε να αποκτήσετε τις παραλλαγές altdns wordlist εδώ.
altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
  • dmut: Ένα άλλο εργαλείο για την εκτέλεση παραλλαγών, μεταλλάξεων και τροποποιήσεων υποτομέων. Αυτό το εργαλείο θα εκτελέσει brute force στο αποτέλεσμα (δεν υποστηρίζει dns wild card).
  • Μπορείτε να αποκτήσετε τη λίστα λέξεων παραλλαγών 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: Βασισμένο σε ένα domain, δημιουργεί νέα πιθανά ονόματα υποτομέων με βάση τις υποδεικνυόμενες προτύπες για να προσπαθήσει να ανακαλύψει περισσότερους υποτομείς.

Έξυπνη γενιά παραλλαγών

  • 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 είναι ένα εργαλείο brute-force για υποτομείς που συνδυάζεται με έναν εξαιρετικά απλό αλλά αποτελεσματικό αλγόριθμο καθοδηγούμενο από την απάντηση DNS. Χρησιμοποιεί ένα παρεχόμενο σύνολο δεδομένων εισόδου, όπως μια προσαρμοσμένη λίστα λέξεων ή ιστορικά αρχεία DNS/TLS, για να συνθέσει με ακρίβεια περισσότερα αντίστοιχα ονόματα τομέων και να τα επεκτείνει ακόμη περισσότερο σε έναν βρόχο με βάση τις πληροφορίες που συλλέγονται κατά τη διάρκεια της σάρωσης DNS.
echo www | subzuf facebook.com

Ροή Εργασίας Ανακάλυψης Υποτομέων

Δείτε αυτή την ανάρτηση στο blog που έγραψα σχετικά με το πώς να αυτοματοποιήσετε την ανακάλυψη υποτομέων από έναν τομέα χρησιμοποιώντας Trickest workflows ώστε να μην χρειάζεται να εκκινώ χειροκίνητα μια σειρά εργαλείων στον υπολογιστή μου:

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 ή με brute-forcing ονόματα τομέων VHost σε αυτή την IP.

OSINT

Μπορείτε να βρείτε μερικούς VHosts σε IPs χρησιμοποιώντας HostHunter ή άλλες APIs.

Brute Force

Αν υποψιάζεστε ότι κάποιος υποτομέας μπορεί να είναι κρυμμένος σε έναν διακομιστή ιστού, μπορείτε να προσπαθήσετε να τον brute force:

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

note

Με αυτή την τεχνική μπορεί να είστε σε θέση να αποκτήσετε πρόσβαση σε εσωτερικά/κρυφά endpoints.

CORS Brute Force

Μερικές φορές θα βρείτε σελίδες που επιστρέφουν μόνο την κεφαλίδα Access-Control-Allow-Origin όταν έχει οριστεί ένα έγκυρο domain/subdomain στην κεφαλίδα Origin. Σε αυτές τις περιπτώσεις, μπορείτε να εκμεταλλευτείτε αυτή τη συμπεριφορά για να ανακαλύψετε νέα subdomains.

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

Buckets Brute Force

Ενώ ψάχνετε για subdomains, προσέξτε αν δείχνει σε οποιοδήποτε τύπο bucket, και σε αυτή την περίπτωση ελέγξτε τα δικαιώματα.
Επίσης, καθώς σε αυτό το σημείο θα γνωρίζετε όλα τα domains μέσα στο πεδίο, προσπαθήστε να brute force πιθανές ονομασίες bucket και ελέγξτε τα δικαιώματα.

Monitorization

Μπορείτε να παρακολουθείτε αν δημιουργούνται νέα subdomains ενός domain παρακολουθώντας τα Certificate Transparency Logs sublert .

Looking for vulnerabilities

Ελέγξτε για πιθανές subdomain takeovers.
Αν το subdomain δείχνει σε κάποιο S3 bucket, ελέγξτε τα δικαιώματα.

Αν βρείτε οποιοδήποτε subdomain με IP διαφορετική από αυτές που έχετε ήδη βρει στην ανακάλυψη assets, θα πρέπει να εκτελέσετε μια βασική σάρωση ευπαθειών (χρησιμοποιώντας Nessus ή OpenVAS) και κάποια σάρωση θυρών με nmap/masscan/shodan. Ανάλογα με τις υπηρεσίες που τρέχουν, μπορείτε να βρείτε σε αυτό το βιβλίο μερικά κόλπα για να "επιτεθείτε" σε αυτές.
Σημειώστε ότι μερικές φορές το subdomain φιλοξενείται σε μια IP που δεν ελέγχεται από τον πελάτη, οπότε δεν είναι στο πεδίο, να είστε προσεκτικοί.

IPs

Στα αρχικά βήματα μπορεί να έχετε βρει κάποιες IP ranges, domains και subdomains.
Ήρθε η ώρα να συλλέξετε όλες τις IPs από αυτές τις ranges και για τα domains/subdomains (DNS queries).

Χρησιμοποιώντας υπηρεσίες από τις παρακάτω δωρεάν APIs μπορείτε επίσης να βρείτε προηγούμενες IPs που χρησιμοποιήθηκαν από domains και subdomains. Αυτές οι IPs μπορεί να ανήκουν ακόμα στον πελάτη (και μπορεί να σας επιτρέψουν να βρείτε CloudFlare bypasses)

Μπορείτε επίσης να ελέγξετε για domains που δείχνουν σε μια συγκεκριμένη διεύθυνση IP χρησιμοποιώντας το εργαλείο hakip2host

Looking for vulnerabilities

Σαρώστε όλες τις IPs που δεν ανήκουν σε CDNs (καθώς είναι πολύ πιθανό να μην βρείτε τίποτα ενδιαφέρον εκεί). Στις υπηρεσίες που ανακαλύφθηκαν μπορεί να είστε σε θέση να βρείτε ευπάθειες.

Βρείτε έναν οδηγό για το πώς να σαρώσετε hosts.

Web servers hunting

Έχουμε βρει όλες τις εταιρείες και τα assets τους και γνωρίζουμε IP ranges, domains και subdomains μέσα στο πεδίο. Ήρθε η ώρα να αναζητήσουμε web servers.

Στα προηγούμενα βήματα έχετε πιθανώς ήδη εκτελέσει κάποια recon των IPs και domains που ανακαλύφθηκαν, οπότε μπορεί να έχετε ήδη βρει όλους τους πιθανούς web servers. Ωστόσο, αν δεν το έχετε κάνει, τώρα θα δούμε μερικά γρήγορα κόλπα για να αναζητήσουμε web servers μέσα στο πεδίο.

Παρακαλώ σημειώστε ότι αυτό θα είναι προσανατολισμένο στην ανακάλυψη web apps, οπότε θα πρέπει να εκτελέσετε τη σάρωση ευπαθειών και σάρωση θυρών επίσης (αν επιτρέπεται από το πεδίο).

Μια γρήγορη μέθοδος για να ανακαλύψετε ανοιχτές θύρες σχετικές με web servers χρησιμοποιώντας masscan μπορεί να βρεθεί εδώ.
Ένα άλλο φιλικό εργαλείο για να αναζητήσετε web servers είναι httprobe, fprobe και httpx. Απλά περνάτε μια λίστα domains και θα προσπαθήσει να συνδεθεί σε θύρα 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

Στιγμιότυπα

Τώρα που έχετε ανακαλύψει όλους τους διακομιστές ιστού που υπάρχουν στο πεδίο (μεταξύ των IP της εταιρείας και όλων των τομέων και υποτομέων) πιθανόν να μην ξέρετε από πού να ξεκινήσετε. Έτσι, ας το κάνουμε απλό και ας ξεκινήσουμε απλά παίρνοντας στιγμιότυπα όλων τους. Απλά με μια ματιά στη κύρια σελίδα μπορείτε να βρείτε παράξενες διευθύνσεις που είναι πιο επιρρεπείς να είναι ευάλωτες.

Για να εκτελέσετε την προτεινόμενη ιδέα μπορείτε να χρησιμοποιήσετε EyeWitness, HttpScreenshot, Aquatone, Shutter, Gowitness ή webscreenshot.

Επιπλέον, μπορείτε να χρησιμοποιήσετε eyeballer για να ελέγξετε όλα τα στιγμιότυπα και να σας πει τι πιθανόν να περιέχει ευπάθειες, και τι όχι.

Δημόσια Περιουσιακά Στοιχεία Cloud

Για να βρείτε πιθανά περιουσιακά στοιχεία cloud που ανήκουν σε μια εταιρεία θα πρέπει να ξεκινήσετε με μια λίστα λέξεων-κλειδιών που προσδιορίζουν αυτή την εταιρεία. Για παράδειγμα, για μια κρυπτονομισματική εταιρεία μπορείτε να χρησιμοποιήσετε λέξεις όπως: "crypto", "wallet", "dao", "<domain_name>", <"subdomain_names">.

Θα χρειαστείτε επίσης λίστες λέξεων με κοινές λέξεις που χρησιμοποιούνται σε buckets:

Στη συνέχεια, με αυτές τις λέξεις θα πρέπει να δημιουργήσετε παραλλαγές (δείτε το Second Round DNS Brute-Force για περισσότερες πληροφορίες).

Με τις προκύπτουσες λίστες λέξεων μπορείτε να χρησιμοποιήσετε εργαλεία όπως cloud_enum, CloudScraper, cloudlist ή S3Scanner.

Θυμηθείτε ότι όταν ψάχνετε για περιουσιακά στοιχεία Cloud θα πρέπει να ψάχνετε για περισσότερα από απλά buckets σε AWS.

Αναζητώντας ευπάθειες

Αν βρείτε πράγματα όπως ανοιχτά buckets ή εκτεθειμένες cloud functions θα πρέπει να τα αποκτήσετε πρόσβαση και να δείτε τι προσφέρουν και αν μπορείτε να τα εκμεταλλευτείτε.

Emails

Με τους τομείς και υποτομείς μέσα στο πεδίο έχετε βασικά όλα όσα χρειάζεστε για να ξεκινήσετε την αναζήτηση για emails. Αυτές είναι οι APIs και εργαλεία που έχουν λειτουργήσει καλύτερα για μένα για να βρω emails μιας εταιρείας:

Αναζητώντας ευπάθειες

Τα emails θα είναι χρήσιμα αργότερα για brute-force web logins και auth services (όπως το SSH). Επίσης, είναι απαραίτητα για phishings. Επιπλέον, αυτές οι APIs θα σας δώσουν ακόμα περισσότερες πληροφορίες για το άτομο πίσω από το email, που είναι χρήσιμες για την εκστρατεία phishing.

Διαρροές Διαπιστευτηρίων

Με τους τομείς, υποτομείς, και emails μπορείτε να αρχίσετε να ψάχνετε για διαπιστευτήρια που έχουν διαρρεύσει στο παρελθόν που ανήκουν σε αυτά τα emails:

Αναζητώντας ευπάθειες

Αν βρείτε έγκυρα διαρρεύσαντα διαπιστευτήρια, αυτό είναι μια πολύ εύκολη νίκη.

Διαρροές Μυστικών

Οι διαρροές διαπιστευτηρίων σχετίζονται με επιθέσεις σε εταιρείες όπου ευαίσθητες πληροφορίες διαρρεύσαν και πωλήθηκαν. Ωστόσο, οι εταιρείες μπορεί να επηρεαστούν από άλλες διαρροές των οποίων οι πληροφορίες δεν είναι σε αυτές τις βάσεις δεδομένων:

Διαρροές Github

Διαπιστευτήρια και APIs μπορεί να έχουν διαρρεύσει στις δημόσιες αποθήκες της εταιρείας ή των χρηστών που εργάζονται για αυτή την εταιρεία στο github.
Μπορείτε να χρησιμοποιήσετε το εργαλείο Leakos για να κατεβάσετε όλες τις δημόσιες αποθήκες μιας οργάνωσης και των προγραμματιστών της και να εκτελέσετε gitleaks πάνω τους αυτόματα.

Leakos μπορεί επίσης να χρησιμοποιηθεί για να εκτελέσει gitleaks κατά όλων των κειμένων που παρέχονται URLs που του έχουν περαστεί καθώς μερικές φορές οι ιστοσελίδες περιέχουν επίσης μυστικά.

Github Dorks

Ελέγξτε επίσης αυτή τη σελίδα για πιθανούς github dorks που θα μπορούσατε επίσης να αναζητήσετε στην οργάνωση που επιτίθεστε:

Github Dorks & Leaks

Διαρροές Pastes

Μερικές φορές οι επιτιθέμενοι ή απλώς οι εργαζόμενοι θα δημοσιεύσουν περιεχόμενο της εταιρείας σε μια ιστοσελίδα paste. Αυτό μπορεί να περιέχει ή να μην περιέχει ευαίσθητες πληροφορίες, αλλά είναι πολύ ενδιαφέρον να το αναζητήσετε.
Μπορείτε να χρησιμοποιήσετε το εργαλείο Pastos για να αναζητήσετε σε περισσότερες από 80 ιστοσελίδες paste ταυτόχρονα.

Google Dorks

Οι παλιοί αλλά χρυσοί google dorks είναι πάντα χρήσιμοι για να βρείτε εκτεθειμένες πληροφορίες που δεν θα έπρεπε να υπάρχουν εκεί. Το μόνο πρόβλημα είναι ότι η google-hacking-database περιέχει αρκετές χιλιάδες πιθανές ερωτήσεις που δεν μπορείτε να εκτελέσετε χειροκίνητα. Έτσι, μπορείτε να πάρετε τις 10 αγαπημένες σας ή να χρησιμοποιήσετε ένα εργαλείο όπως Gorks για να τις εκτελέσετε όλες.

Σημειώστε ότι τα εργαλεία που αναμένουν να εκτελέσουν όλη τη βάση δεδομένων χρησιμοποιώντας τον κανονικό περιηγητή Google δεν θα τελειώσουν ποτέ καθώς η Google θα σας μπλοκάρει πολύ πολύ σύντομα.

Αναζητώντας ευπάθειες

Αν βρείτε έγκυρα διαρρεύσαντα διαπιστευτήρια ή API tokens, αυτή είναι μια πολύ εύκολη νίκη.

Δημόσιες Ευπάθειες Κώδικα

Αν διαπιστώσετε ότι η εταιρεία έχει ανοιχτό κώδικα μπορείτε να αναλύσετε αυτόν και να αναζητήσετε ευπάθειες σε αυτόν.

Ανάλογα με τη γλώσσα υπάρχουν διάφορα εργαλεία που μπορείτε να χρησιμοποιήσετε:

Source code Review / SAST Tools

Υπάρχουν επίσης δωρεάν υπηρεσίες που σας επιτρέπουν να σκανάρετε δημόσιες αποθήκες, όπως:

Pentesting Web Methodology

Η πλειοψηφία των ευπαθειών που βρίσκονται από τους κυνηγούς σφαλμάτων βρίσκεται μέσα σε ιστοσελίδες εφαρμογών, οπότε σε αυτό το σημείο θα ήθελα να μιλήσω για μια μεθοδολογία δοκιμών ιστοσελίδων, και μπορείτε να βρείτε αυτές τις πληροφορίες εδώ.

Θέλω επίσης να κάνω μια ειδική αναφορά στην ενότητα Web Automated Scanners open source tools, καθώς, αν δεν θα πρέπει να περιμένετε να σας βρουν πολύ ευαίσθητες ευπάθειες, είναι χρήσιμα για να τα εφαρμόσετε σε ροές εργασίας για να έχετε κάποιες αρχικές πληροφορίες ιστού.

Ανακεφαλαίωση

Συγχαρητήρια! Σε αυτό το σημείο έχετε ήδη εκτελέσει όλη την βασική καταμέτρηση. Ναι, είναι βασική γιατί μπορεί να γίνει πολύ περισσότερη καταμέτρηση (θα δούμε περισσότερα κόλπα αργότερα).

Έτσι έχετε ήδη:

  1. Βρει όλους τους εταιρείες μέσα στο πεδίο
  2. Βρει όλα τα περιουσιακά στοιχεία που ανήκουν στις εταιρείες (και εκτελέσει κάποια σάρωση ευπαθειών αν είναι στο πεδίο)
  3. Βρει όλους τους τομείς που ανήκουν στις εταιρείες
  4. Βρει όλους τους υποτομείς των τομέων (κάποια υποτομέα takeover;)
  5. Βρει όλες τις IP (από και όχι από CDNs) μέσα στο πεδίο.
  6. Βρει όλους τους διακομιστές ιστού και πήρε ένα στιγμιότυπο από αυτούς (κάτι παράξενο που αξίζει μια πιο βαθιά ματιά;)
  7. Βρει όλα τα πιθανά δημόσια περιουσιακά στοιχεία cloud που ανήκουν στην εταιρεία.
  8. Emails, διαρροές διαπιστευτηρίων, και διαρροές μυστικών που θα μπορούσαν να σας δώσουν μια μεγάλη νίκη πολύ εύκολα.
  9. Pentesting όλων των ιστοσελίδων που βρήκατε

Πλήρη Αυτόματα Εργαλεία Recon

Υπάρχουν αρκετά εργαλεία εκεί έξω που θα εκτελέσουν μέρος των προτεινόμενων ενεργειών κατά ενός δεδομένου πεδίου.

Αναφορές

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks