TheHarvester
TheHarvester Grundlagen
Paketbeschreibung
theHarvester sammelt im frühen Stadium eines Penetrationstests passiv Informationen über eine Domain bzw. Organisation:
- E-Mails
- Subdomains und Hosts
- IP-Adressen
- Mitarbeiternamen
- offene Ports und Banner (über angereicherte Quellen wie Shodan)
Die Daten stammen aus öffentlichen Quellen: Suchmaschinen, Certificate-Transparency-Logs, Passive-DNS-Diensten, PGP-Keyservern und kommerziellen OSINT-APIs.
- Einsatzzweck
- Hilft dem Pentester, die externe Angriffsfläche zu kartieren, ohne das Ziel direkt zu kontaktieren.
- Ebenso für Verteidiger/SOC nützlich: "Was sieht ein Angreifer rein passiv über uns?"
Quelle
Autor: Christian Martorella, Edge-Security Lizenz: GPLv2 Dokumentierte Version in diesem Artikel: theHarvester 4.10.1 (Kali)
TheHarvester Optionen
Maßgebliche Optionsliste der eigenen Version ermitteln
Die Optionen und unterstützten Quellen ändern sich zwischen den Versionen. Verbindlich ist immer die eigene Installation, nicht das Online-README.
- Optionen anzeigen
- theHarvester -h
- Nur die unterstützten Quellen herausziehen
- theHarvester -h | sed -n '/-b SOURCE/,/^$/p'
Optionen (4.10.1)
- Allgemein
- -d, --domain DOMAIN
Ziel-Domain oder Firmenname.
- -l, --limit LIMIT
Begrenzt die Anzahl der Ergebnisse, default=500.
- -S, --start START
Beginnt ab Ergebnis Nummer X, default=0.
- -b, --source SOURCE
Komma-getrennte Liste der Quellen (siehe unten).
- -f, --filename FILENAME
Speichert die Ergebnisse als JSON und XML (Basisname ohne Endung angeben).
- Passiv / Anreicherung
- -g, --google-dork
Google-Dorks verwenden (Wortliste unter /etc/theHarvester/wordlists/dorks.txt).
- -p, --proxies
Anfragen über Proxys aus /etc/theHarvester/proxies.yaml leiten.
- -s, --shodan
Gefundene Hosts über Shodan anreichern (Ports/Banner, API-Key erforderlich).
- Aktiv (nimmt Kontakt zu Ziel/DNS auf - nur im Scope!)
- -c, --dns-brute
DNS-Brute-Force gegen die Domain (interne Wortliste).
- -n, --dns-lookup
DNS-Auflösung der gefundenen Hosts aktivieren, default False.
- -v, --virtual-host
Hostnamen per DNS auflösen und auf virtuelle Hosts prüfen.
- -e, --dns-server DNS_SERVER
Eigenen DNS-Server für die Auflösung verwenden.
- -t, --dns-tld
DNS-TLD-Expansion (gleicher Name unter anderen TLDs).
- -r, --take-over
Auf Subdomain-Takeover prüfen.
- --screenshot VERZEICHNIS
Screenshots aufgelöster Hosts in das angegebene Verzeichnis (sinnvoll nur zusammen mit DNS-Auflösung).
- Neuere Optionen (mit theHarvester -h gegenprüfen)
- --dns-resolve
DNS-Auflösung der Subdomains mit eigener Resolver-Liste.
- -w, --wordlist
Wortliste für API-Endpoint-Scan.
- -a, --api-scan
Nach API-Endpunkten suchen.
TheHarvester Quellen
Kostenlose Quellen ohne API-Key
Diese Quellen wurden gegen tuxmen.de mit 4.10.1 erfolgreich ohne Key genutzt:
- crtsh, certspotter (Certificate-Transparency-Logs)
- otx, rapiddns, subdomaincenter, thc (Passive DNS / Subdomain-Dienste)
- urlscan (URL-/Website-Scanner)
- hackertarget (stark limitiert)
Zusätzlich keyfrei nutzbar (Suchmaschinen): duckduckgo, yahoo, baidu.
- Hinweis
- certspotter, otx und urlscan funktionieren ohne Key. Ein optionaler Key hebt nur die Limits an.
Quelle mit kostenlosem API-Key: DNSDumpster
Kostenloser Key nach Registrierung unter https://dnsdumpster.com/ (Free-Tier: 50 Abfragen/Tag). Eintrag in /etc/theHarvester/api-keys.yaml:
dnsdumpster:
key: API-KEY
- Aufruf
- theHarvester -b dnsdumpster -d tuxmen.de
API-Keys eintragen
- Speicherort
- /etc/theHarvester/api-keys.yaml
Die tatsächlich erwartete Struktur immer aus der Datei selbst entnehmen (Format ändert sich je Version):
- cat /etc/theHarvester/api-keys.yaml
Vorschläge für weitere Keys (Free-Tier vorhanden - noch zu entscheiden)
| Quelle | Free-Tier | Liefert | Warum interessant |
|---|---|---|---|
| securityTrails | ja, limitiert | DNS-Historie | deckt alte/vergessene Records und frühere IPs auf |
| hunter | ja, limitiert | E-Mails | namensgebende E-Mail-Funktion, fehlt sonst im Kurs |
| github-code | ja (GitHub-PAT) | Secrets/Configs in Repos | didaktisch stark: Funde von Keys/Configs |
| censys | ja, limitiert | Zertifikate, Subdomains | zweite CT-/Zertifikatsquelle |
| virustotal | ja, limitiert | Subdomains, Relationen | gute Ergänzung zu CT-Logs |
| fullhunt / netlas / onyphe | ja, limitiert | Assets, Ports | Attack-Surface-Sicht |
- Kostenpflichtig / sehr eng limitiert (optional)
- shodan, criminalip, fofa - Ports und Banner, aber kein echter Free-Tier mehr.
TheHarvester Beispiele
Subdomain-Ermittlung über Certificate-Transparency-Logs (crt.sh)
Subdomains aus öffentlichen CT-Logs. Alle öffentlich ausgestellten TLS-Zertifikate müssen in CT-Logs veröffentlicht werden, wodurch sich Hostnamen passiv ermitteln lassen, ohne das Zielsystem zu kontaktieren.
- theHarvester -d tuxmen.de -b crtsh
Passive DNS- und Host-Abfrage über HackerTarget
Schnelle, stark limitierte Abfrage von Hostnamen und IPs. Gut zur Einordnung und als Ergänzung zu CT-Logs.
- theHarvester -d tuxmen.de -b hackertarget
Komplette Recon ohne API-Keys + Ausgabe speichern
Mehrere freie Quellen kombiniert, Ergebnis als JSON/XML.
- theHarvester -d tuxmen.de -b crtsh,certspotter,otx,rapiddns,subdomaincenter,thc,urlscan,hackertarget -f tuxmen-recon
Freie Quellen + DNSDumpster (API-Key)
- theHarvester -d tuxmen.de -b crtsh,certspotter,otx,rapiddns,subdomaincenter,thc,urlscan,hackertarget,dnsdumpster -f tuxmen-recon
Kombinierte Subdomain- und Shodan-Abfrage
Zuerst Hostnamen und IPs ermitteln, dann mit -s die IPs über Shodan um Ports/Dienste anreichern. Shodan-Key erforderlich (https://account.shodan.io/, Abschnitt shodan in api-keys.yaml).
- theHarvester -d tuxmen.de -s -b crtsh,dnsdumpster
Aktive Anreicherung (nur im freigegebenen Scope!)
- DNS-Brute-Force + Auflösung
- theHarvester -d tuxmen.de -b crtsh,otx -c -n
- Virtuelle Hosts prüfen und Screenshots ablegen
- theHarvester -d tuxmen.de -b crtsh,otx -v --screenshot /tmp/shots-tuxmen
- Subdomain-Takeover-Check
- theHarvester -d tuxmen.de -b crtsh -r
Weiterverarbeitung: von theHarvester zu nmap
Die mit -f erzeugte JSON-Datei liefert direkt die IP-Liste für den nmap-Scan (siehe nmap-Artikel).
- IPs extrahieren und an nmap übergeben
jq -r '.ips[]' tuxmen-recon.json | sort -u > tuxmen-ips.txt nmap -iL tuxmen-ips.txt -sV -oA tuxmen-nmap
Aufgaben
(Strukturierte Aufgaben mit Ergebnistabelle folgen - vgl. nmap-Artikel.)
- Untersuche folgende Domains rein passiv:
- heise.de
- suse.de
- redhat.com
- microsoft.com
- stylite.de
- hetzner.de
- kicker.de
- sympatel.de