
OSINT-Aufklärungstool für Netzwerk-Erkennung, Subdomain-Enumeration, IP-Anreicherung und Secret-Erkennung über Zertifikats-Logs, Shodan und GitHub-Codesuche – ganz ohne API-Schlüssel.
<p align="center">
<img alt="Metabigor" src="https://assets.kitploit.com/production/public/readmes/2602/a91acb0c74fbed7b623c138dcc568e51b46b54c20992493fa0be6f3dea3d9c1d.png" height="140" />
<br />
<strong>Metabigor - OSINT-Power ohne API-Key-Ärger</strong>
<p align="center">
<a href="https://docs.osmedeus.org/donation/"><img src="https://img.shields.io/badge/Sponsors-0078D4?style=for-the-badge&logo=GitHub-Sponsors&logoColor=39ff14&labelColor=black&color=black"></a>
<a href="https://twitter.com/OsmedeusEngine"><img src="https://img.shields.io/badge/@OsmedeusEngine-0078D4?style=for-the-badge&logo=Twitter&logoColor=39ff14&labelColor=black&color=black"></a>
<a href="https://github.com/j3ssie/osmedeus/releases"><img src="https://img.shields.io/github/release/j3ssie/metabigor?style=for-the-badge&labelColor=black&color=2fc414&logo=Github"></a>
</p>
</p>
***
## Was ist Metabigor?
Metabigor kartiert die Infrastruktur eines Ziels, ohne dass du dich für einen einzigen API-Schlüssel registrieren musst.
Netzwerkbereiche, Zertifikate, verwandte Domains, offene Ports, CDN-Anbieter und Code-Leaks - alles
aus kostenlosen Quellen, alles miteinander verknüpfbar.
## Funktionen
- **Netzwerk-Erkennung** - IP-Bereiche (CIDRs) aus einer ASN, Organisation, Domain oder IP ermitteln
- **Certificate Transparency** - Subdomains über crt.sh entdecken
- **IP-Anreicherung** - Ports, Hostnamen und CVEs über Shodan InternetDB (kostenlos, ohne Schlüssel)
- **GitHub-Codesuche** - Geheimnisse, Anmeldedaten und Subdomains in öffentlichen Repos über grep.app finden
- **IP-Clustering** - IPs nach ASN gruppieren, um Infrastruktur zu kartieren
- **Verwandte Domains** - Pivot über Zertifikatsprotokolle, Reverse-WHOIS und Analytics-IDs
- **CDN/WAF-Erkennung** - geschützte Adressen von Kandidaten-Ursprüngen trennen
- **URL-Sammlung** - jede URL, die die Webarchive gesehen haben, einschließlich Endpunkten, die aus WARCs gewonnen wurden
## Installation
```bash
npm install -g @j3ssie/metabigor # macOS, Linux, Windows
brew install j3ssie/tap/metabigor # macOS, Linux
```
Beide liefern dieselbe vorkompilierte Binärdatei für deine Plattform - keine Go-Toolchain erforderlich.
Oder aus dem Quellcode bauen:
```bash
git clone https://github.com/j3ssie/metabigor.git
cd metabigor
make build # binary at ./bin/metabigor
```
Oder lade eine Binärdatei von der [Releases-Seite](https://github.com/j3ssie/metabigor/releases) herunter.
## Die 30-Sekunden-Tour
```bash
metabigor net AS13335 # network ranges behind an ASN
metabigor cert hackerone.com # subdomains from certificate logs
metabigor ip 1.1.1.1 # open ports and CVEs for an IP
metabigor related tesla.com # other domains the target owns
metabigor cdn --exclude -I ips.txt # candidate origin servers
```
## So funktioniert jeder Befehl
Überall gelten dieselben Konventionen. Wenn du also einen Befehl gelernt hast, kennst du alle.
### Vier Möglichkeiten, Ziele zu übergeben
```bash
metabigor cert example.com # as an argument
metabigor cert example.com tesla.com # several arguments
metabigor cert -i example.com # with -i
metabigor cert -I domains.txt # from a file, one per line (# comments are ignored)
cat domains.txt | metabigor cert # on stdin
```
Sie lassen sich kombinieren, und die zusammengeführte Liste wird dedupliziert:
```bash
metabigor cluster 1.1.1.1 -i 8.8.8.8 -I more-ips.txt
```
Argumente sind der kürzeste Weg und funktionieren bei jedem Befehl. Greife zu `-i`, wenn das Ziel
andernfalls wie ein Flag aussehen würde oder wenn ein Skript den Befehl für dich zusammenbaut:
```bash
metabigor github -i "--endpoint-url"
metabigor net --input "$TARGET" -f json
```
Stdin wird nur gelesen, wenn kein Ziel auf andere Weise angegeben wurde. Daher blockiert
`metabigor net AS13335` in einem Skript oder CI-Job nie beim Warten auf Eingabe.
### Ein Flag für die Ausgabeform
`-f/--format` funktioniert bei jedem Befehl:
| Format | Was du bekommst | Wofür du es nutzt |
|---|---|---|
| `text` *(Standard)* | Lesbare Spalten | Lesen im Terminal |
| `flat` | Den nackten primären Wert | Weiterleitung an andere Tools |
| `json` | Ein JSON-Objekt pro Zeile | `jq`, Automatisierung |
| `csv` | Zeilen unter einem Header | Tabellenkalkulationen, Berichte |
```bash
metabigor ip 1.1.1.0/28 # 1.1.1.1 | 80,443 | one.one.one.one
metabigor ip 1.1.1.0/28 -f flat # 1.1.1.1:80
metabigor ip 1.1.1.0/28 -f json # {"ip":"1.1.1.1","ports":[80,443],...}
metabigor ip 1.1.1.0/28 -f csv -o ports.csv
```
Ergebnisse gehen immer nach stdout und Logs immer nach stderr, damit Pipes bei jeder
Protokollstufe sauber bleiben. `-o` schreibt Ergebnisse zusätzlich in eine Datei und überschreibt
sie, sofern du nicht `--append` übergibst. Die Datei wird erst neu geschrieben, sobald ein
Ergebnis zu schreiben vorhanden ist. Ein Lauf, der fehlschlägt oder nichts findet, lässt die
vorherigen Ergebnisse also unangetastet.
### Befehle lassen sich verketten
```bash
metabigor net AS13335 -f flat | metabigor ip -f flat
metabigor related tesla.com -f flat | metabigor cert
cat domains.txt | dnsx -silent -resp-only | metabigor cdn --exclude
```
## Befehle
### `net` - Netzwerk-Erkennung
Findet die CIDRs hinter einer ASN, IP, Domain oder Organisation. Verwendet die mitgelieferte
Offline-Datenbank.
```bash
metabigor net AS13335 # every CIDR announced by an ASN
metabigor net 1.1.1.1 --detail # which ASN owns this IP
metabigor net --org Cloudflare # search by company name
metabigor net --live tesla.com # query live sources instead of the local DB
metabigor net -I asn-list.txt -f csv -o ranges.csv
```
Der Zieltyp wird automatisch erkannt. Überschreibe ihn mit `--asn`, `--ip`, `--domain` oder
`--org` (sich gegenseitig ausschließend). `--detail` fügt ASN-, Organisations- und
Länder-Spalten hinzu.
### `cert` - Certificate Transparency
```bash
metabigor cert hackerone.com # one domain per line
metabigor cert "HackerOne Inc" # search by organization
metabigor cert example.com --clean # strip the *. from wildcards
metabigor cert example.com --wildcard # only wildcard entries
metabigor cert example.com --detail # cert IDs, issuers, validity dates
metabigor cert tesla.com | dnsx -silent
```
### `ip` - IP-Anreicherung (Shodan InternetDB)
```bash
metabigor ip 1.1.1.1 # ports, hostnames, CVEs
metabigor ip 1.1.1.0/28 # CIDRs expand to hosts
metabigor ip 1.1.1.0/28 -f flat # IP:PORT pairs
metabigor ip -I ips.txt -c 30 -f csv -o ports.csv
```
IPs, über die InternetDB nichts weiß, werden übersprungen; mit `--all` behältst du sie.
### `github` - Codesuche (grep.app)
```bash
metabigor github hackerone.com # repo and path per match
metabigor github tesla.com --subs # only subdomains found in matches
metabigor github "api_key=" --detail # show the matching code
metabigor github AKIA --pages 3 --detail
```
Erfordert Chrome oder Chromium - grep.app beantwortet einfache HTTP-Clients mit einer
Bot-Herausforderung. Suchen werden unabhängig von `-c` einzeln ausgeführt, um das Ratenlimit
von grep.app zu respektieren.
### `cluster` - IP-Clustering
Gruppiert IPs nach der ASN, die sie besitzt, größtes Cluster zuerst. Akzeptiert IPs oder CIDRs.
Funktioniert offline.
```bash
cat ips.txt | metabigor cluster
metabigor cluster -I ips.txt -f csv -o clusters.csv
cat domains.txt | dnsx -silent -resp-only | metabigor cluster
```
### `related` - Erkennung verwandter Domains
```bash
metabigor related hackerone.com # all sources
metabigor related tesla.com --sources crt
metabigor related tesla.com --sources crt,whois
```
Quellen: `crt` (crt.sh), `whois` (viewdns.info Reverse-WHOIS), `analytics` (geteilte Google-
Analytics-/Tag-Manager-IDs) oder `all`. Ergebnisse werden über Quellen hinweg dedupliziert und
mit der Quelle gekennzeichnet, die sie zuerst gefunden hat.
### `url` - URL-Sammlung aus Webarchiven
```bash
metabigor url hackerone.com # every keyless source, subdomains included
metabigor url blog.hackerone.com --no-subs # one hostname only
metabigor url hackerone.com/reports # scope to a path prefix
metabigor url tesla.com --sources wayback,urlscan
metabigor url tesla.com --keywords '\.js(\?|$)' # JavaScript only
metabigor url tesla.com --blacklist default --no-params
metabigor url tesla.com -f flat | httpx
```
Quellen: `wayback`, `commoncrawl`, `otx`, `urlscan`, `ghostarchive` sowie `virustotal` und
`intelx`, wenn deren Schlüssel gesetzt sind. Die fünf schlüssellosen Quellen laufen
standardmäßig; die beiden mit Anmeldedaten stoßen automatisch hinzu, wenn `VT_API_KEY` /
`INTELX_API_KEY` in der Umgebung vorhanden sind, und `URLSCAN_API_KEY` erhöht die
Seitengröße von urlscan. Eine Quelle mit Anmeldedaten ohne ihren Schlüssel zu nennen, ist ein
Fehler und kein stilles Überspringen.
**Subdomains sind standardmäßig enthalten** - die Abfrage lautet `*.target`, nicht `target`.
Das ist der größte Hebel dafür, wie viel ein Lauf zurückgibt; `--no-subs` grenzt das ein.
**GhostArchive wird ausgewertet, nicht nur aufgelistet.** Jede archivierte Seite hat auch ein
rohes WARC, und ein WARC zeichnet jede Unteranfrage auf, die der Browser beim Erfassen der Seite
gestellt hat - XHR-Aufrufe, JSON-Endpunkte, dynamisch erstellte Skript-URLs. Nichts davon
erscheint in einem CDX-Index, der nur Erfassungen der Seiten-URL selbst indexiert. In Tests
lieferten 8 Anfragen gegen `tesla.com` 147 URLs, einschließlich live JSON-API-Endpunkten.
Begrenze die Kosten mit `--limit-requests`.
Filter sind standardmäßig deaktiviert, sodass nichts ungefragt verworfen wird.
`--match-status` / `--filter-status`, `--match-mime` / `--filter-mime`, `--from` / `--to` und
`--keywords` werden serverseitig in die Wayback- und Common-Crawl-APIs übertragen und lokal
erneut geprüft; `--blacklist` und `--no-params` sind lokal. `--limit-requests` begrenzt
Anfragen pro Quelle und `--limit-collections` legt fest, wie tief in Common Crawls ~126
Index-Sammlungen gesucht wird (`0` für alle, zurück bis 2008).
### `cdn` - CDN/WAF-Erkennung
```bash
metabigor cdn 1.1.1.1 # vendor and type
cat ips.txt | metabigor cdn --exclude # candidate origins
cat ips.txt | metabigor cdn --only # only protected addresses
```
### `update` - Lokale Datenbanken aktualisieren
```bash
metabigor update
```
Aktualisiert sowohl die IP-zu-ASN- als auch die IP-zu-Land-Datenbanken in `~/.metabigor`. Eine
Kopie wird mit der Binärdatei ausgeliefert und bei der ersten Verwendung entpackt. Das ist also
nur nötig, um neuere Routing-Daten zu erhalten.
### `skills` - Fähigkeiten für Coding-Agenten
Metabigor wird mit einer [agentskills.io](https://agentskills.io)-Fähigkeit ausgeliefert, die
einem KI-Coding-Agenten (Claude Code, Codex oder jedem kompatiblen Agenten) beibringt, die CLI
zu bedienen. Die Fähigkeit ist in die Binärdatei eingebettet und passt daher immer zu der von
dir installierten Version.
```bash
metabigor skills # list the bundled skills
metabigor skills get metabigor --full # print the skill and its references
metabigor skills install # install into .claude/skills (this project)
metabigor skills install --scope global # install into ~/.claude/skills
metabigor skills install --agent agents # install into .agents/skills for Codex
metabigor skills install --dir ./skills # install into a directory you choose
```
`get` gibt das rohe Markdown an stdout aus (pipe es oder verwende `-o`, um es zu speichern).
`install` kopiert das gesamte Bündel - `SKILL.md` plus `references/` - und überspringt eine
vorhandene Kopie, sofern du nicht `--force` übergibst. Nach der Installation löst der Agent die
Fähigkeit automatisch aus, wann immer du metabigor erwähnst.
## Globale Flags
```
-i, --input string Target to look up (also accepts arguments or stdin)
-I, --input-file string File of targets, one per line (use - for stdin)
-o, --output string Also write results to this file
-f, --format string Output format: text, json, csv, flat (default "text")
--append Append to the output file instead of overwriting it
-c, --concurrency int Number of parallel workers (default 10)
-t, --timeout int Request timeout in seconds (default 40)
--retry int Retries per failed request (default 3)
--proxy string Upstream proxy, e.g. http://127.0.0.1:8080
-v, --verbose Show step-by-step progress
-q, --quiet Show results and errors only
--debug Show HTTP traffic and internal traces (implies --verbose)
--no-color Disable colored log output
```
Metabigor beendet sich bei einem Fehler mit einem Nicht-Null-Status und lässt sich so mit `&&`,
`set -e` und CI kombinieren.
## Upgrade von v2
v3 benennt Flags und Befehle für Konsistenz um. Es gibt keine Aliase - aktualisiere deine
Skripte.
| v2 | v3 | Warum |
|---|---|---|
| `metabigor ipc` | `metabigor cluster` | `ipc` war nicht erratbar |
| `-I, --inputFile` | `-I, --input-file` | camelCase ist keine CLI-Konvention |
| `-q, --silent` | `-q, --quiet` | `-q` sollte seiner Langform entsprechen |
| `--json` | `-f json` | ein Flag steuert die Ausgabeform |
| `ip --csv` / `ip --flat` | `-f csv` / `-f flat` | dasselbe |
| `cert --simple` | *(jetzt Standard)* | `--detail` wählt den ausführlichen Block |
| `net --dynamic` | `net --live` | klare Sprache |
| `cdn --strip-cdn` | `cdn --exclude` | paart mit dem neuen `--only` |
| `related -s ua` / `-s gtm` | `--sources analytics` | beide taten dasselbe |
| `related -s` | `-s, --sources` | akzeptiert jetzt wirklich eine Liste |
| `github` *(Subdomains standardmäßig)* | `github --subs` | die Ausgabeform hängt nicht mehr von Ergebnissen ab |
Verhaltensänderungen, die du kennen solltest:
- **Die Fortschrittsausgabe ist standardmäßig ruhig.** `[verbose]`-Zeilen erfordern jetzt `-v`.
- **`-o` überschreibt** statt still anzuhängen. Verwende `--append` für das alte Verhalten.
- **`ip` gibt lesbaren Text aus**, nicht rohes JSON. Verwende `-f json` für JSON.
- **`cert` gibt eine einfache Domainliste aus.** Verwende `--detail` für die gruppierte Zertifikatsansicht.
- **`net` bei einem CIDR meldet das besitzende Netzwerk**, statt es auf jeden Host zu erweitern.
- **Fehler beenden mit Exit-Status 1.** Bisher endete jeder Fehlschlag weiterhin mit 0.
- **`metabigor update` aktualisiert beide Datenbanken.** Früher wurde die Länderdatenbank übersprungen.
## Metabigor schmerzlos in deinen Recon-Workflow integrieren?
<p align="center">
<img alt="OsmedeusEngine" src="https://assets.kitploit.com/production/public/readmes/2602/eafa8ee9ab8d11baf808ad0024f1153b25dd09c470be9ccc68ccf44c2ab63b2a.png" />
<p align="center">
Dieses Projekt war Teil der Osmedeus Engine. Erfahre, wie es integriert wurde bei <a href="https://twitter.com/OsmedeusEngine">@OsmedeusEngine</a>
</p>
</p>
# Danksagungen
Logo von [flaticon](https://image.flaticon.com/icons/svg/1789/1789851.svg) von [freepik](https://www.flaticon.com/authors/freepik)
## 📊 Datenquellen
- **Lokale Datenbank** - IP-zu-ASN- und IP-zu-Land-Zuordnungen (2M+ Einträge)
- **crt.sh** - Certificate-Transparency-Protokolle
- **Shodan InternetDB** - Kostenlose IP-Anreicherungs-API
- **grep.app** - GitHub-Codesuche
- **bgp.he.net** - Live-BGP-Routingdaten
- **viewdns.info** - Reverse-WHOIS-Abfragen
- **builtwith.com** - Analytics-Tracking-Korrelation
- **projectdiscovery/cdncheck** - CDN/WAF-Erkennungsbibliothek
- **web.archive.org** - Wayback-Machine-CDX-Index
- **index.commoncrawl.org** - Common-Crawl-CDX-Indizes
- **otx.alienvault.com** - AlienVault-OTX-URL-Listen
- **urlscan.io** - Suche im Scan-Verlauf
- **ghostarchive.org** - Archivierte Seiten und ihre WARC-Dateien
- **virustotal.com** - Domainbeziehungen (optionaler API-Schlüssel)
- **intelx.io** - Intelligence-X-Telefonbuch (optionaler API-Schlüssel)
# Haftungsausschluss
Dieses Tool dient nur zu Bildungszwecken. Du bist für deine eigenen Handlungen verantwortlich.
Wenn du etwas vermasselst oder beim Verwenden dieser Software gegen Gesetze verstößt, ist das
deine Schuld, und nur deine Schuld.
# Lizenz
`Metabigor` wurde mit ♥ von [@j3ssie](https://twitter.com/j3ssie) entwickelt und unter der
MIT-Lizenz veröffentlicht.
# Spende
[](https://paypal.me/j3ssiejjj)
[](https://www.buymeacoffee.com/j3ssie)