hacktricks/generic-methodologies-and-resources/external-recon-methodology
2024-05-08 16:31:25 +00:00
..
github-leaked-secrets.md Translated to German 2024-02-10 15:36:32 +00:00
README.md Translated ['README.md', 'binary-exploitation/rop-return-oriented-progra 2024-05-08 16:31:25 +00:00
wide-source-code-search.md Translated ['forensics/basic-forensic-methodology/partitions-file-system 2024-03-26 15:48:11 +00:00

Externe Recherche-Methodik

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Wenn Sie an einer Hackerkarriere interessiert sind und das Unhackbare hacken möchten - wir stellen ein! (fließendes Polnisch in Wort und Schrift erforderlich).

{% embed url="https://www.stmcyber.com/careers" %}

Entdeckung von Vermögenswerten

Ihnen wurde gesagt, dass alles, was einem Unternehmen gehört, im Rahmen liegt, und Sie möchten herausfinden, was dieses Unternehmen tatsächlich besitzt.

Das Ziel dieser Phase ist es, alle Unternehmen, die dem Hauptunternehmen gehören, zu erhalten und dann alle Vermögenswerte dieser Unternehmen. Dazu werden wir:

  1. Die Übernahmen des Hauptunternehmens finden, dies wird uns die Unternehmen im Rahmen zeigen.
  2. Die ASN (falls vorhanden) jedes Unternehmens finden, dies wird uns die IP-Bereiche zeigen, die von jedem Unternehmen besessen werden.
  3. Reverse-Whois-Suchen verwenden, um nach anderen Einträgen (Organisationsnamen, Domains usw.) im Zusammenhang mit dem ersten zu suchen (dies kann rekursiv durchgeführt werden).
  4. Andere Techniken wie Shodan org und ssl-Filter verwenden, um nach anderen Vermögenswerten zu suchen (der ssl-Trick kann rekursiv durchgeführt werden).

Übernahmen

Zunächst müssen wir wissen, welche anderen Unternehmen dem Hauptunternehmen gehören.
Eine Möglichkeit besteht darin, https://www.crunchbase.com/ zu besuchen, nach dem Hauptunternehmen zu suchen und auf "Übernahmen" zu klicken. Dort sehen Sie andere Unternehmen, die vom Hauptunternehmen übernommen wurden.
Eine andere Möglichkeit besteht darin, die Wikipedia-Seite des Hauptunternehmens zu besuchen und nach Übernahmen zu suchen.

Ok, zu diesem Zeitpunkt sollten Sie alle Unternehmen im Rahmen kennen. Lassen Sie uns herausfinden, wie man ihre Vermögenswerte findet.

ASNs

Eine autonome Systemnummer (ASN) ist eine eindeutige Nummer, die einem autonomen System (AS) von der Internet Assigned Numbers Authority (IANA) zugewiesen wird.
Ein AS besteht aus Blöcken von IP-Adressen, die eine klar definierte Richtlinie für den Zugriff auf externe Netzwerke haben und von einer einzigen Organisation verwaltet werden, aber aus mehreren Betreibern bestehen können.

Es ist interessant zu wissen, ob das Unternehmen eine ASN zugewiesen hat, um seine IP-Bereiche zu finden. Es wird interessant sein, einen Vulnerabilitätstest gegen alle Hosts im Rahmen durchzuführen und nach Domains innerhalb dieser IPs zu suchen.
Sie können nach dem Unternehmensnamen, nach der IP oder nach der Domain unter https://bgp.he.net/** suchen.
Je nach Region des Unternehmens könnten diese Links nützlich sein, um mehr Daten zu sammeln: AFRINIC (Afrika), Arin
(Nordamerika),** APNIC (Asien), LACNIC (Lateinamerika), RIPE NCC (Europa). Wie auch immer, wahrscheinlich erscheinen bereits alle nützlichen Informationen (IP-Bereiche und Whois) im ersten Link.

#You can try "automate" this with amass, but it's not very recommended
amass intel -org tesla
amass intel -asn 8911,50313,394161

Auch die Subdomain-Enumeration von BBOT aggregiert und fasst automatisch ASNs am Ende des Scans zusammen.

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: +----------+---------------------+--------------+----------------+----------------------------+-----------+

Du kannst die IP-Bereiche einer Organisation auch unter Verwendung von http://asnlookup.com/ finden (es hat eine kostenlose API).
Du kannst die IP und ASN einer Domain unter Verwendung von http://ipv4info.com/ finden.

Suche nach Schwachstellen

Zu diesem Zeitpunkt kennen wir alle Assets im Umfang, daher könntest du, wenn erlaubt, einen Schwachstellenscanner (Nessus, OpenVAS) über alle Hosts starten.
Außerdem könntest du einige Portscans durchführen oder Dienste wie Shodan verwenden, um offene Ports zu finden, und je nachdem, was du findest, solltest du in diesem Buch nachsehen, wie du mehrere mögliche Dienste pentesten kannst.
Außerdem könnte es sich lohnen zu erwähnen, dass du auch einige Standardbenutzername und Passwortlisten vorbereiten und versuchen kannst, Dienste mit https://github.com/x90skysn3k/brutespray zu brute-forcen.

Domains

Wir kennen alle Unternehmen im Umfang und ihre Assets, es ist Zeit, die Domains im Umfang zu finden.

Bitte beachte, dass du in den folgenden vorgeschlagenen Techniken auch Subdomains finden kannst und diese Informationen nicht unterschätzt werden sollten.

Zuerst solltest du nach den Hauptdomains jeder Firma suchen. Zum Beispiel ist für Tesla Inc. wird es tesla.com sein.

Reverse DNS

Da du alle IP-Bereiche der Domains gefunden hast, könntest du versuchen, Reverse-DNS-Lookups auf diesen IPs durchzuführen, um mehr Domains im Umfang zu finden. Versuche, einige DNS-Server des Opfers oder einige bekannte DNS-Server (1.1.1.1, 8.8.8.8) zu verwenden.

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

Für diese Funktion muss der Administrator manuell das PTR aktivieren.
Sie können auch ein Online-Tool für diese Informationen verwenden: http://ptrarchive.com/

Reverse Whois (Schleife)

Innerhalb eines whois können Sie viele interessante Informationen wie Organisationsname, Adresse, E-Mails, Telefonnummern finden... Aber noch interessanter ist, dass Sie weitere Assets im Zusammenhang mit dem Unternehmen finden können, wenn Sie Reverse-Whois-Suchen nach einem dieser Felder durchführen (zum Beispiel in anderen Whois-Registern, in denen dieselbe E-Mail erscheint).
Sie können Online-Tools wie:

Sie können diese Aufgabe automatisieren, indem Sie DomLink verwenden (erfordert einen Whoxy-API-Schlüssel).
Sie können auch einige automatische Reverse-Whois-Entdeckungen mit amass durchführen: amass intel -d tesla.com -whois

Beachten Sie, dass Sie diese Technik verwenden können, um jedes Mal, wenn Sie eine neue Domain finden, weitere Domainnamen zu entdecken.

Tracker

Wenn Sie die gleiche ID des gleichen Trackers auf 2 verschiedenen Seiten finden, können Sie davon ausgehen, dass beide Seiten vom selben Team verwaltet werden.
Zum Beispiel, wenn Sie dieselbe Google Analytics ID oder dieselbe Adsense ID auf mehreren Seiten sehen.

Es gibt einige Seiten und Tools, mit denen Sie nach diesen Trackern und mehr suchen können:

Favicon

Wussten Sie, dass wir verwandte Domains und Subdomains zu unserem Ziel finden können, indem wir nach demselben Favicon-Icon-Hash suchen? Genau das macht das favihash.py-Tool von @m4ll0k2. So verwenden Sie es:

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 - Domains mit demselben Favicon-Symbol-Hash entdecken

Einfach ausgedrückt ermöglicht es uns favihash, Domains zu entdecken, die denselben Favicon-Symbol-Hash wie unser Ziel haben.

Darüber hinaus können Sie auch Technologien mithilfe des Favicon-Hash suchen, wie in diesem Blog-Beitrag erläutert. Das bedeutet, dass Sie, wenn Sie den Hash des Favicons einer verwundbaren Version einer Web-Technologie kennen, in Shodan danach suchen können und mehr verwundbare Stellen finden:

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

Das ist, wie du den Favicon-Hash berechnen kannst einer Webseite:

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

Urheberrecht / Eindeutiger String

Suchen Sie in den Webseiten nach Zeichenfolgen, die in der gleichen Organisation über verschiedene Websites hinweg geteilt werden könnten. Die Urheberrechtszeichenfolge könnte ein gutes Beispiel sein. Suchen Sie dann nach dieser Zeichenfolge in Google, in anderen Browsern oder sogar in Shodan: shodan search http.html:"Urheberrechtszeichenfolge"

CRT-Zeit

Es ist üblich, einen Cron-Job wie folgt zu haben:

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

Erneuern der Domain-Zertifikate

Um alle Domain-Zertifikate auf dem Server zu erneuern, selbst wenn die Zertifizierungsstelle (CA) die Generierungszeit nicht im Gültigkeitszeitraum angibt, ist es möglich, Domänen, die demselben Unternehmen gehören, in den Zertifikatstransparenz-Logs zu finden.
Schau dir diesen Bericht für weitere Informationen an.

Mail DMARC-Informationen

Du kannst eine Website wie https://dmarc.live/info/google.com oder ein Tool wie https://github.com/Tedixx/dmarc-subdomains verwenden, um Domänen und Subdomänen mit denselben DMARC-Informationen zu finden.

Passive Übernahme

Es ist anscheinend üblich, dass Personen Subdomänen IPs von Cloud-Anbietern zuweisen und irgendwann diese IP-Adresse verlieren, aber vergessen, den DNS-Eintrag zu entfernen. Daher reicht es aus, eine VM in einer Cloud (wie Digital Ocean) zu starten, um tatsächlich die Kontrolle über einige Subdomänen zu übernehmen.

In diesem Beitrag wird eine Geschichte dazu erklärt und ein Skript vorgeschlagen, das eine VM in DigitalOcean startet, die IPv4 des neuen Geräts abruft und in Virustotal nach Subdomänen-Einträgen sucht, die darauf verweisen.

Andere Methoden

Beachte, dass du diese Technik verwenden kannst, um jedes Mal, wenn du eine neue Domain findest, weitere Domainnamen zu entdecken.

Shodan

Da du bereits den Namen der Organisation kennst, die den IP-Bereich besitzt, kannst du in Shodan danach suchen, indem du folgendes eingibst: org:"Tesla, Inc." Überprüfe die gefundenen Hosts auf neue unerwartete Domänen im TLS-Zertifikat.

Du könntest auf die TLS-Zertifikate der Hauptwebseite zugreifen, den Organisationsnamen erhalten und dann nach diesem Namen in den TLS-Zertifikaten aller von Shodan bekannten Webseiten suchen, mit dem Filter: ssl:"Tesla Motors" oder verwende ein Tool wie sslsearch.

Assetfinder

Assetfinder ist ein Tool, das nach mit einer Hauptdomäne verbundenen Domänen und Subdomänen sucht, ziemlich erstaunlich.

Suche nach Schwachstellen

Überprüfe auf Domain-Übernahmen. Möglicherweise verwendet ein Unternehmen eine Domain, hat aber die Eigentümerschaft verloren. Registriere sie einfach (wenn sie günstig genug ist) und informiere das Unternehmen.

Wenn du eine Domain mit einer anderen IP als den bereits gefundenen Assets entdeckst, solltest du einen grundlegenden Schwachstellen-Scan durchführen (mit Nessus oder OpenVAS) und einen Port-Scan mit nmap/masscan/shodan durchführen. Abhängig von den ausgeführten Diensten findest du in diesem Buch einige Tricks, um sie "anzugreifen".
Beachte, dass die Domain manchmal auf einer IP gehostet wird, die nicht vom Kunden kontrolliert wird, daher nicht im Scope liegt. Sei vorsichtig.


Bug-Bounty-Tipp: Melde dich an bei Intigriti, einer Premium-**Bug-Bounty-Plattform, die von Hackern für Hacker erstellt wurde! Trete uns noch heute bei https://go.intigriti.com/hacktricks bei und verdiene Prämien von bis zu $100.000!

{% embed url="https://go.intigriti.com/hacktricks" %}

Subdomänen

Wir kennen alle Unternehmen im Scope, alle Assets jedes Unternehmens und alle mit den Unternehmen verbundenen Domänen.

Es ist an der Zeit, alle möglichen Subdomänen jeder gefundenen Domain zu finden.

{% hint style="success" %} Beachte, dass einige der Tools und Techniken zur Domänensuche auch bei der Suche nach Subdomänen helfen können! {% endhint %}

DNS

Lass uns versuchen, Subdomänen aus den DNS-Einträgen zu erhalten. Wir sollten auch nach Zone Transfer suchen (Wenn verwundbar, solltest du es melden).

dnsrecon -a -d tesla.com

OSINT

Der schnellste Weg, um viele Subdomains zu erhalten, besteht darin, in externen Quellen zu suchen. Die am häufigsten verwendeten Tools sind die folgenden (für bessere Ergebnisse konfigurieren Sie die API-Schlüssel):

# 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"

Es gibt andere interessante Tools/APIs, die zwar nicht direkt auf die Suche nach Subdomains spezialisiert sind, aber dennoch nützlich sein können, um Subdomains zu finden, wie:

# 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 ".[]"
# 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: ruft bekannte URLs von AlienVault's Open Threat Exchange, der Wayback Machine und Common Crawl für eine beliebige Domain ab.
# Get subdomains from GAUs found URLs
gau --subs tesla.com | cut -d "/" -f 3 | sort -u
# 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

Dieses Projekt bietet kostenlos alle mit Bug-Bounty-Programmen verbundenen Subdomains an. Sie können auch auf diese Daten zugreifen, indem Sie chaospy verwenden oder sogar auf den Umfang zugreifen, der von diesem Projekt verwendet wird https://github.com/projectdiscovery/chaos-public-program-list

Sie finden hier einen Vergleich vieler dieser Tools: https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off

DNS-Brute-Force

Versuchen wir, neue Subdomains zu finden, indem wir DNS-Server mit möglichen Subdomain-Namen brute-forcen.

Für diese Aktion benötigen Sie einige übliche Subdomain-Wordlists wie:

Und auch IPs von guten DNS-Resolvern. Um eine Liste vertrauenswürdiger DNS-Resolver zu generieren, können Sie die Resolver von https://public-dns.info/nameservers-all.txt herunterladen und dnsvalidator verwenden, um sie zu filtern. Oder Sie könnten verwenden: https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt

Die empfohlensten Tools für DNS-Brute-Force sind:

  • massdns: Dies war das erste Tool, das einen effektiven DNS-Brute-Force durchführte. Es ist sehr schnell, jedoch anfällig für falsche Positiven.
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: Ich glaube, dieser verwendet nur 1 Resolver.
gobuster dns -d mysite.com -t 50 -w subdomains.txt
  • shuffledns ist ein Wrapper um massdns, geschrieben in Go, der es ermöglicht, gültige Subdomains mithilfe von aktiver Bruteforce aufzulisten, sowie Subdomains mit Wildcard-Handling aufzulösen und eine einfache Ein- und Ausgabeunterstützung bietet.
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
  • puredns: Es verwendet auch massdns.
puredns bruteforce all.txt domain.com
  • aiodnsbrute verwendet asyncio, um Domainnamen asynchron zu brute-forcen.
aiodnsbrute -r resolvers -w wordlist.txt -vv -t 1024 domain.com

Zweite DNS-Brute-Force-Runde

Nachdem Sie Subdomains mithilfe von Open Sources und Brute-Force gefunden haben, könnten Sie Variationen der gefundenen Subdomains generieren, um noch mehr zu finden. Mehrere Tools sind für diesen Zweck nützlich:

  • dnsgen: Generiert Permutationen von Domains und Subdomains.
cat subdomains.txt | dnsgen -
  • goaltdns: Angesichts der Domains und Subdomains generieren Sie Permutationen.
  • Sie können die goaltdns Permutationen Wortliste hier erhalten.
goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
  • gotator: Angesichts der Domains und Subdomains generieren Sie Permutationen. Wenn keine Permutationsdatei angegeben ist, verwendet gotator seine eigene.
gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
  • altdns: Neben der Generierung von Subdomain-Permutationen kann es auch versuchen, sie aufzulösen (aber es ist besser, die zuvor kommentierten Tools zu verwenden).
  • Du kannst die altdns Permutationen Wortliste hier bekommen.
altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
  • dmut: Ein weiteres Tool zur Durchführung von Permutationen, Mutationen und Änderungen von Subdomains. Dieses Tool wird das Ergebnis per Bruteforce erzwingen (es unterstützt keine DNS-Wildcards).
  • Sie können die dmut-Permutationswortliste hier erhalten.
cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
  • alterx: Basierend auf einer Domain generiert es neue potenzielle Subdomain-Namen basierend auf angegebenen Mustern, um mehr Subdomains zu entdecken.

Intelligente Permutationserzeugung

  • regulator: Für weitere Informationen lesen Sie diesen Beitrag, aber es wird im Wesentlichen die Hauptteile der entdeckten Subdomains erhalten und sie mischen, um mehr Subdomains zu finden.
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 ist ein Subdomain-Brute-Force-Fuzzer, der mit einem äußerst einfachen, aber effektiven DNS-Antwort-geführten Algorithmus gekoppelt ist. Er nutzt einen bereitgestellten Satz von Eingabedaten, wie z.B. eine maßgeschneiderte Wortliste oder historische DNS/TLS-Einträge, um genauere entsprechende Domänennamen zu synthetisieren und sie basierend auf den während des DNS-Scans gesammelten Informationen weiter zu erweitern.
echo www | subzuf facebook.com

Subdomain Discovery Workflow

Überprüfen Sie diesen Blog-Beitrag, den ich darüber geschrieben habe, wie Sie die automatische Entdeckung von Subdomains von einer Domain mithilfe von Trickest-Workflows durchführen können, sodass ich nicht manuell eine Vielzahl von Tools auf meinem Computer starten muss:

{% embed url="https://trickest.com/blog/full-subdomain-discovery-using-workflow/" %}

{% embed url="https://trickest.com/blog/full-subdomain-brute-force-discovery-using-workflow/" %}

VHosts / Virtuelle Hosts

Wenn Sie eine IP-Adresse gefunden haben, die eine oder mehrere Webseiten von Subdomains enthält, könnten Sie versuchen, andere Subdomains mit Websites auf dieser IP zu finden, indem Sie in OSINT-Quellen nach Domains in einer IP suchen oder indem Sie VHost-Domänennamen auf dieser IP per Brute-Force erzwingen.

OSINT

Sie können einige VHosts in IPs mithilfe von HostHunter oder anderen APIs finden.

Brute Force

Wenn Sie vermuten, dass sich eine Subdomain auf einem Webserver verstecken könnte, könnten Sie versuchen, diese per Brute Force zu finden:

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

{% hint style="info" %} Mit dieser Technik können Sie möglicherweise sogar auf interne/versteckte Endpunkte zugreifen. {% endhint %}

CORS-Brute-Force

Manchmal finden Sie Seiten, die nur den Header Access-Control-Allow-Origin zurückgeben, wenn eine gültige Domain/Unterdomäne im Origin-Header festgelegt ist. In solchen Szenarien können Sie dieses Verhalten missbrauchen, um neue Subdomains zu entdecken.

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

Eimer-Brute-Force

Beim Suchen nach Subdomains achten Sie darauf, ob diese auf einen Eimer verweisen, und in diesem Fall überprüfen Sie die Berechtigungen.
Außerdem, da Sie zu diesem Zeitpunkt alle Domains im Scope kennen, versuchen Sie, mögliche Eimernamen per Brute Force zu ermitteln und die Berechtigungen zu überprüfen.

Überwachung

Sie können überwachen, ob neue Subdomains einer Domain erstellt werden, indem Sie die Certificate Transparency-Logs überwachen, was sublert tut.

Suche nach Schwachstellen

Überprüfen Sie mögliche Subdomain-Übernahmen.
Wenn die Subdomain auf einen S3-Eimer verweist, überprüfen Sie die Berechtigungen.

Wenn Sie eine Subdomain mit einer anderen IP als denjenigen gefunden haben, die Sie bereits bei der Assets-Erkennung gefunden haben, sollten Sie einen grundlegenden Schwachstellen-Scan durchführen (mit Nessus oder OpenVAS) und einen Port-Scan mit nmap/masscan/shodan durchführen. Je nachdem, welche Dienste ausgeführt werden, können Sie in diesem Buch einige Tricks finden, um sie "anzugreifen".
Beachten Sie, dass die Subdomain manchmal auf einer IP gehostet wird, die nicht vom Kunden kontrolliert wird, daher nicht im Scope liegt. Seien Sie vorsichtig.

IPs

In den ersten Schritten haben Sie möglicherweise einige IP-Bereiche, Domains und Subdomains gefunden.
Es ist an der Zeit, alle IPs aus diesen Bereichen zu sammeln und für die Domains/Subdomains (DNS-Abfragen).

Mit Diensten der folgenden kostenlosen APIs können Sie auch frühere IPs finden, die von Domains und Subdomains verwendet wurden. Diese IPs könnten immer noch im Besitz des Kunden sein (und könnten es Ihnen ermöglichen, CloudFlare-Bypasses zu finden)

Sie können auch nach Domains suchen, die auf eine bestimmte IP-Adresse verweisen, mithilfe des Tools hakip2host

Suche nach Schwachstellen

Scannen Sie alle IPs, die nicht zu CDNs gehören, auf offene Ports (da Sie höchstwahrscheinlich nichts Interessantes finden werden). In den entdeckten laufenden Diensten könnten Sie Schwachstellen finden.

Finden Sie einen Leitfaden zum Scannen von Hosts.

Webserver-Suche

Wir haben alle Unternehmen und ihre Vermögenswerte gefunden und kennen die IP-Bereiche, Domains und Subdomains im Scope. Es ist Zeit, nach Webservern zu suchen.

In den vorherigen Schritten haben Sie wahrscheinlich bereits einige Rekognoszierungen der entdeckten IPs und Domains durchgeführt, sodass Sie möglicherweise bereits alle möglichen Webserver gefunden haben. Wenn nicht, werden wir jetzt einige schnelle Tricks zum Suchen von Webservern im Scope sehen.

Bitte beachten Sie, dass dies auf die Entdeckung von Webanwendungen ausgerichtet sein wird, daher sollten Sie auch die Schwachstellen und das Port-Scannen durchführen (falls im Scope erlaubt).

Eine schnelle Methode zum Entdecken von offenen Ports im Zusammenhang mit Webservern mit masscan finden Sie hier.
Ein weiteres benutzerfreundliches Tool zur Suche nach Webservern ist httprobe, fprobe und httpx. Sie geben einfach eine Liste von Domains ein und es wird versucht, eine Verbindung zu Port 80 (http) und 443 (https) herzustellen. Darüber hinaus können Sie angeben, auch andere Ports zu versuchen:

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

Nachdem Sie alle Webserver im Umfang entdeckt haben (unter den IPs des Unternehmens und allen Domains und Subdomains), wissen Sie wahrscheinlich nicht, wo Sie anfangen sollen. Also, machen wir es einfach und fangen einfach an, Screenshots von allen zu machen. Schon durch einen Blick auf die Hauptseite können Sie seltsame Endpunkte finden, die anfälliger für Schwachstellen sind.

Um die vorgeschlagene Idee umzusetzen, können Sie EyeWitness, HttpScreenshot, Aquatone, Shutter, Gowitness oder webscreenshot** verwenden.

Darüber hinaus könnten Sie dann eyeballer verwenden, um alle Screenshots zu durchsuchen und Ihnen mitzuteilen, was wahrscheinlich Schwachstellen enthält und was nicht.

Öffentliche Cloud-Ressourcen

Um potenzielle Cloud-Ressourcen eines Unternehmens zu finden, sollten Sie mit einer Liste von Schlüsselwörtern beginnen, die dieses Unternehmen identifizieren. Zum Beispiel könnten Sie für ein Krypto-Unternehmen Wörter wie: "crypto", "wallet", "dao", "<domain_name>", <"subdomain_names"> verwenden.

Sie benötigen auch Wortlisten von üblichen Wörtern, die in Buckets verwendet werden:

Dann sollten Sie mit diesen Wörtern Permutationen generieren (überprüfen Sie die Zweite Runde DNS-Brute-Force für weitere Informationen).

Mit den resultierenden Wortlisten könnten Sie Tools wie cloud_enum, CloudScraper, cloudlist oder S3Scanner** verwenden.

Denken Sie daran, dass Sie bei der Suche nach Cloud-Ressourcen mehr als nur Buckets in AWS suchen sollten.

Suche nach Schwachstellen

Wenn Sie Dinge wie offene Buckets oder freigegebene Cloud-Funktionen finden, sollten Sie auf sie zugreifen und versuchen zu sehen, was sie Ihnen bieten und ob Sie sie missbrauchen können.

E-Mails

Mit den Domains und Subdomains im Umfang haben Sie im Grunde alles, was Sie brauchen, um nach E-Mails zu suchen. Dies sind die APIs und Tools, die für mich am besten funktioniert haben, um E-Mails eines Unternehmens zu finden:

Suche nach Schwachstellen

E-Mails werden später nützlich sein, um Web-Logins und Authentifizierungsdienste per Brute-Force anzugreifen (wie z. B. SSH). Außerdem werden sie für Phishing benötigt. Darüber hinaus geben Ihnen diese APIs noch mehr Informationen über die Person hinter der E-Mail, was für die Phishing-Kampagne nützlich ist.

Zugangsdaten-Leaks

Mit den Domains, Subdomains und E-Mails können Sie damit beginnen, nach in der Vergangenheit geleakten Zugangsdaten zu suchen, die diesen E-Mails gehören:

Suche nach Schwachstellen

Wenn Sie gültige geleakte Zugangsdaten finden, ist dies ein sehr einfacher Gewinn.

Geheimnis-Leaks

Zugangsdaten-Leaks stehen im Zusammenhang mit Hacks von Unternehmen, bei denen sensible Informationen geleakt und verkauft wurden. Unternehmen könnten jedoch auch von anderen Leaks betroffen sein, deren Informationen nicht in diesen Datenbanken enthalten sind:

Github-Leaks

Zugangsdaten und APIs könnten in den öffentlichen Repositories des Unternehmens oder der Benutzer geleakt werden, die für dieses Github-Unternehmen arbeiten.
Sie können das Tool Leakos verwenden, um alle öffentlichen Repos einer Organisation und ihrer Entwickler herunterzuladen und automatisch gitleaks darüber laufen zu lassen.

Leakos kann auch verwendet werden, um gitleaks gegen alle übergebenen URLs auszuführen, da manchmal Webseiten auch Geheimnisse enthalten.

Github-Dorks

Überprüfen Sie auch diese Seite nach potenziellen Github-Dorks, nach denen Sie in der angegriffenen Organisation suchen könnten:

{% content-ref url="github-leaked-secrets.md" %} github-leaked-secrets.md {% endcontent-ref %}

Pastes-Leaks

Manchmal veröffentlichen Angreifer oder einfach Mitarbeiter Unternehmensinhalte auf einer Paste-Seite. Dies könnte sensible Informationen enthalten oder auch nicht, aber es ist sehr interessant, danach zu suchen.
Sie können das Tool Pastos verwenden, um gleichzeitig in mehr als 80 Paste-Seiten zu suchen.

Google-Dorks

Alte, aber bewährte Google-Dorks sind immer nützlich, um exponierte Informationen zu finden, die dort nicht sein sollten. Das einzige Problem ist, dass die Google-Hacking-Datenbank mehrere Tausende möglicher Abfragen enthält, die Sie nicht manuell ausführen können. Sie können also Ihre Lieblings-10 auswählen oder ein Tool wie Gorks verwenden, um sie alle auszuführen.

Beachten Sie, dass die Tools, die erwarten, die gesamte Datenbank mit dem regulären Google-Browser auszuführen, niemals enden werden, da Google Sie sehr bald blockieren wird.

Suche nach Schwachstellen

Wenn Sie gültige geleakte Zugangsdaten oder API-Token finden, ist dies ein sehr einfacher Gewinn.

Öffentliche Code-Schwachstellen

Wenn Sie feststellen, dass das Unternehmen Open-Source-Code hat, können Sie diesen analysieren und nach Schwachstellen suchen.

Je nach Sprache gibt es verschiedene Tools, die Sie verwenden können:

{% content-ref url="../../network-services-pentesting/pentesting-web/code-review-tools.md" %} code-review-tools.md {% endcontent-ref %}

Es gibt auch kostenlose Dienste, die es Ihnen ermöglichen, öffentliche Repositories zu scannen, wie:

Pentesting Web Methodology

Die Mehrheit der Schwachstellen, die von Bug-Huntern gefunden werden, befindet sich in Webanwendungen, daher möchte ich an dieser Stelle über eine Webanwendungstestmethodik sprechen, die Sie hier finden können.

Ich möchte auch eine besondere Erwähnung des Abschnitts Web Automated Scanners open source tools machen, da sie zwar nicht unbedingt sehr sensible Schwachstellen finden, aber nützlich sind, um sie in Workflows zur Erstellung von anfänglichen Webinformationen zu implementieren.

Zusammenfassung

Herzlichen Glückwunsch! Zu diesem Zeitpunkt haben Sie bereits alle grundlegenden Enumerationen durchgeführt. Ja, es ist grundlegend, weil noch viel mehr Enumerationen durchgeführt werden können (wir werden später mehr Tricks sehen).

Sie haben also bereits:

  1. Alle Unternehmen im Scope gefunden
  2. Alle Assets, die den Unternehmen gehören, gefunden (und bei Bedarf einen Schwachstellenscan durchgeführt)
  3. Alle Domains, die den Unternehmen gehören, gefunden
  4. Alle Subdomains der Domains gefunden (gibt es eine Subdomain-Übernahme?)
  5. Alle IPs (von und nicht von CDNs) im Scope gefunden.
  6. Alle Webserver gefunden und von ihnen einen Screenshot gemacht (gibt es etwas Seltsames, das einen genaueren Blick wert ist?)
  7. Alle potenziellen öffentlichen Cloud-Ressourcen, die dem Unternehmen gehören, gefunden.
  8. E-Mails, Zugangsdaten-Leaks und Geheimnis-Leaks, die Ihnen einen großen Gewinn sehr einfach ermöglichen könnten.
  9. Pentesting aller von Ihnen gefundenen Websites

Vollständige automatische Recon-Tools

Es gibt mehrere Tools, die einen Teil der vorgeschlagenen Aktionen gegen einen bestimmten Scope ausführen werden.

Referenzen

Wenn Sie an einer Hackerkarriere interessiert sind und das Unhackbare hacken möchten - wir stellen ein! (fließendes Polnisch in Wort und Schrift erforderlich).

{% embed url="https://www.stmcyber.com/careers" %}

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: