
E-Mails, Subdomains und Namen Harvester - OSINT

theHarvester sammelt Open-Source-Intelligence über eine Domain oder Organisation aus Suchmaschinen, Certificate-Transparency-Logs, DNS-Datensätzen, Code-Repositories, Threat-Intelligence-Plattformen und anderen öffentlichen Quellen. Es normalisiert Hostnamen, E-Mail-Adressen, IP-Adressen, URLs, ASNs, Personen, Breach-Namen und strukturierte Belege aus optionalen Aktionen.
Verwenden Sie theHarvester in der frühen Aufklärungsphase einer autorisierten Sicherheitsbewertung. Führen Sie es nur gegen Ziele aus, die Ihnen gehören oder für die Sie eine ausdrückliche Testgenehmigung haben.
theHarvester erfordert Python 3.14 und uv. Die .python-version des Repositories ermöglicht es uv, die erforderliche Python-Version automatisch auszuwählen:
git clone https://github.com/laramies/theHarvester.git
cd theHarvester
uv sync
uv run theHarvester -d example.com -b crtsh,certspotter
Dieser erste Lauf verwendet zwei passive P0-Quellen, die keinen API-Schlüssel benötigen. Passiv bedeutet, dass das Ziel nicht direkt kontaktiert wird, aber die ausgewählten Anbieter erhalten dennoch die Zielzeichenkette. Das Terminal meldet das Ergebnis jeder Quelle und alle beibehaltenen Funde. Eine Quelle kann mit null Funden abschließen, frühzeitig mit teilweisen Belegen stoppen oder fehlschlagen, ohne Belege zu löschen, die von anderen Quellen beibehalten wurden.
Siehe die Installationsanleitung für paketierte Distributionen und plattformspezifische Einrichtung.
| Schnittstelle | Am besten geeignet für | Beginnen mit |
|---|---|---|
| CLI | Einmalige Aufklärung und Shell-Workflows | uv run theHarvester -h |
| HarvestView | Lokaler Ausführungsverlauf, Überprüfung von Belegen, Hostnamen-Änderungen und Zeitpläne | uv run harvestview |
| REST API | Authentifizierte lokale Automatisierung und Integrationen | http://127.0.0.1:5000/docs |
Die CLI, die REST API und HarvestView teilen sich eine Engine für endliche Läufe und ein normalisiertes Belegmodell. HarvestView bietet die lokale Browser-Oberfläche.
Mehrere passive P0-Quellen abfragen:
uv run theHarvester -d example.com -b crtsh,certspotter,commoncrawl
Standardmäßig werden drei Discovery-Quellen gleichzeitig ausgeführt. Verwenden Sie -j oder --source-workers, um die Anzahl der Worker zu ändern. Jede ausgewählte Quelle wird weiterhin ausgeführt.
Führen Sie jede Quelle aus, die Subdomains beitragen kann:
uv run theHarvester -d example.com -b subdomains
Kombinieren Sie Fähigkeitsselektoren oder mischen Sie sie mit expliziten Quellnamen:
uv run theHarvester -d example.com -b emails,urls,certspotter
Capability-Selektoren bilden eine Vereinigung und legen fest, welche Quellen ausgeführt werden. Sie verwerfen keine anderen Ergebnistypen, die von diesen Quellen zurückgegeben werden. Verfügbare Selektoren sind subdomains, emails, ips, asns, urls, people und breaches. -b all führt jede katalogisierte passive P0-Quelle aus. P1-DNS- und P2-Direktquellen erfordern eine explizite Auswahl.
Übergeben Sie --limit 0, um die gemeinsame Obergrenze für Ergebnisse pro Quelle und lokale Seitenobergrenzen zu entfernen. Anbieterkontingente und Laufzeitschutzmaßnahmen gelten weiterhin. Wenn ein Anbieter- oder Sicherheitslimit eine Quelle stoppt, nachdem Ergebnisse zurückbehalten wurden, behält der Lauf diese bei und zeichnet ein Teilresultat mit dem Stoppgrund auf.
Hostnamen-Ergebnisse ausschließen, während andere Ergebnistypen beibehalten werden:
uv run theHarvester -d example.com -b emails,ips,urls --no-hosts -f non-host-results
--no-hosts überspringt reine Hostname-Quellen und lässt Hostname-Ergebnisse aus, während andere Ergebnistypen beibehalten werden. Es kann nicht mit Aktionen kombiniert werden, die von Hostnames abhängen. HarvestView und die REST-API stellen dieselbe Option als no_hosts bereit.
Ergebnisse als JSONL speichern:
uv run theHarvester -d example.com -b crtsh,certspotter -f report
Dies schreibt report.jsonl für Automatisierung und Austausch sowie report.json und report.xml als Kompatibilitätsberichte. Abgeschlossene Läufe werden außerdem im lokalen SQLite-Evidence-Store aufbewahrt.
Löse entdeckte Hosts für eine autorisierte Domain mit der Standard-Resolver-Liste auf:
AUTHORIZED_DOMAIN='replace-with-a-domain-you-control'
uv run theHarvester -d "$AUTHORIZED_DOMAIN" -b crtsh,certspotter -r
Listen Sie jede Option und ihr aktuelles Verhalten auf:
uv run theHarvester -h
P0, P1 und P2 beschreiben beobachtbares Netzwerkverhalten, nicht Vertrauen oder Wichtigkeit.
| Klasse | Netzwerkverhalten | Beispiele |
|---|---|---|
| P0 | Fragt einen bestehenden Anbieter oder Datensatz ab, ohne den Datenverkehr auf das Ziel zu lenken | Such-, Certificate-Transparency-, Code- und Passive-DNS-Anbieter |
| P1 | Fragt DNS zu autorisierten Namen oder Adressen ab | Auflösung, Brute Force, rekursives DNS und Reverse Lookup |
| P2 | Kontaktiert einen Zielendpunkt oder verursacht eine gleichwertige direkte Interaktion | HTTP, TLS, Screenshots, Takeover-Prüfungen, virtuelle Hosts, Ports und API-Pfade |
P1- und P2-Aktivitäten werden nur ausgeführt, wenn Sie sie auswählen. Ein entdeckter verwandter Hostname, ein Netzwerk, eine ASN oder eine URL bleibt Prüfbeleg und erweitert das autorisierte Ziel nicht automatisch. Der genaue Hostname ist entscheidend: www.example.test und example.test sind unterschiedliche Ziele, sofern der Auftrag nicht beide autorisiert.
Zu den gängigen aktiven Optionen gehören DNS-Auflösung (-r), DNS-Brute-Force (-c), Reverse DNS (-n), rekursives DNS (--dns-recursive-depth), Takeover-Prüfungen (-t), API-Pfad-Scanning (-a) und Screenshots (--screenshot). Ein Takeover-Indikator ist ein Beleg für die Prüfung, kein Beweis dafür, dass eine Anbieterressource beansprucht werden kann.
Lesen Sie Responsible use and scope vor aktiven Arbeiten. Operator workflows behandelt Limits, Resolver, Proxys und aktionsspezifisches Verhalten. Bei aktiviertem explizitem Proxy-Modus schlagen unterstützte Discovery- und Aktionsvorgänge fehlgeschlossen fehl, wenn kein Proxy verfügbar ist, anstatt eine direkte Anfrage zu senden.