Maltego CSV Konverter (to_maltego.py)
Version: 1.0 | Pfad: /home/andre/Claude/Hacking/tools/to_maltego.py
Zweck: OSINT-Scan-Ergebnisse für Maltego aufbereiten
Überblick
to_maltego.py konvertiert die Scan-Outputs von email_recon.py und recon.sh
in eine CSV-Datei, die direkt in Maltego importiert werden kann. Jede Zeile entspricht
einer Maltego-Entity mit Typ, Wert und Metadaten.
Unterstützte Quellen
| Quelle | Format | Beschreibung |
|---|---|---|
email_recon.py | JSON-Datei | E-Mail OSINT: DNS, Sherlock, Holehe, HIBP, Gravatar, SPF/DMARC |
recon.sh | Report-Verzeichnis | Domain OSINT: Subdomains, IPs, SSL-Certs, MX, nuclei-Findings |
Erzeugte Entity-Typen
| Maltego-Typ | Befüllt aus |
|---|---|
maltego.EmailAddress | E-Mail-Adresse (Ziel) |
maltego.Domain | Ziel-Domain, SPF-Includes |
maltego.DNSName | Subdomains, MX-Hosts, SSL-SANs/CNs |
maltego.IPv4Address | A-Records, SPF-IPs, externe IPs |
maltego.MXRecord | MX-Records (DNS + E-Mail-Security) |
maltego.Netblock | SPF IP-Ranges (z. B. ip4:212.0.0.0/24) |
maltego.Alias | Sherlock-Usernamen, Holehe-Plattformen |
maltego.URL | Sherlock-Profil-URLs, nuclei-Findings, Gravatar |
maltego.Phrase | SPF/DMARC-Records, HIBP-Breaches, Flags |
maltego.Banner | SMTP-Banner |
maltego.Person | Gravatar-Displayname |
Installation
Keine zusätzlichen Pakete nötig – nur Python 3 Standardbibliothek.
chmod +x /home/andre/Claude/Hacking/tools/to_maltego.py
Verwendung
Nur E-Mail-Scan
python3 /home/andre/Claude/Hacking/tools/to_maltego.py \ --email-json /home/andre/Claude/Hacking/email_recon/ziel_osint.json
Nur Domain-Scan
python3 /home/andre/Claude/Hacking/tools/to_maltego.py \ --domain-report /home/andre/Claude/Hacking/domain_recon/reports/example.com_20260321_120000
Beide Quellen kombinieren
python3 /home/andre/Claude/Hacking/tools/to_maltego.py \ --email-json /home/andre/Claude/Hacking/email_recon/ziel_osint.json \ --domain-report /home/andre/Claude/Hacking/domain_recon/reports/example.com_20260321_120000 \ -o /home/andre/Claude/Hacking/tools/ziel_maltego.csv
Alle Parameter
| Parameter | Beschreibung |
|---|---|
--email-json FILE | JSON-Output von email_recon.py |
--domain-report DIR | Report-Verzeichnis von recon.sh |
-o FILE | Ausgabe-CSV (Standard: maltego_<timestamp>.csv) |
Die CSV wird standardmäßig unter /home/andre/Claude/Hacking/tools/ gespeichert.
CSV-Format
"entity_type","value","label","source","notes" "maltego.EmailAddress","ziel@example.com","ziel@example.com","email_recon","" "maltego.Domain","example.com","example.com","email_recon/dns","" "maltego.MXRecord","mail.example.com","MX [10] mail.example.com","email_recon/dns","Priority: 10" "maltego.IPv4Address","93.184.216.34","93.184.216.34","email_recon/dns","A-Record von example.com" "maltego.Alias","zielname@BugCrowd","zielname @ BugCrowd","email_recon/sherlock","https://bugcrowd.com/zielname"
| Spalte | Beschreibung | Maltego-Mapping |
|---|---|---|
entity_type | Maltego Entity Class | → Type |
value | Primärwert der Entity | → Value |
label | Anzeigename im Graphen | → Display Name |
source | Herkunft (Modul) | → Note / Property |
notes | Zusatzinfos, URLs, Kontext | → Note |
Import in Maltego
Schritt-für-Schritt
- Maltego öffnen
- Oben: Import → Import Entities from Table
- CSV-Datei auswählen
- Trennzeichen: Komma (automatisch erkannt)
- Spalten-Mapping:
- Spalte
entity_type→ Type - Spalte
value→ Value - Spalte
label→ Display Name (optional) - Spalte
notes→ Note (optional)
- Finish → Entities erscheinen im aktiven Graphen
Empfehlung: Neuen Graphen erstellen
Vor dem Import einen leeren Graphen anlegen: File → New Graph (Ctrl+N) → dann Import durchführen.
Relationships manuell ziehen
Der CSV-Import erzeugt isolierte Nodes. Beziehungen (Edges) müssen in Maltego manuell gezogen oder über Transforms erzeugt werden:
- E-Mail-Node auf Domain-Node ziehen → Relationship setzen
- IP auf Domain-Node →
Resolves To - Alias auf EmailAddress →
Belongs To
Start aus Claude heraus
Der komfortabelste Workflow: Claude führt Scan und Export in einem Schritt durch.
Beispiel: Vollständiger Workflow
In Claude Code eingeben:
Führe einen E-Mail-Scan für ziel@example.com durch, danach einen Domain-Scan für example.com, und exportiere alles für Maltego.
Claude führt sequenziell aus:
email_recon.py→ JSONrecon.sh→ Report-Verzeichnisto_maltego.py→ CSV
Danach in Claude:
Wie viele Entities wurden exportiert? Welche Entity-Typen dominieren und was bedeutet das für die Angriffsfläche?
Claude liest die CSV und gibt eine strukturierte Auswertung – inklusive Hinweise welche Nodes in Maltego besonders interessant für weitere Transforms sind.
Gezielte Nachfragen nach Export
- „Welche der exportierten URLs sollte ich in Maltego mit 'Resolve to IP' aufdrehen?“
- „Welche Aliases lohnen sich für weitere Sherlock-Runs in anderen Tools?“
- „Gibt es IPs in mehreren Entities – deutet das auf Shared Hosting hin?“
Tipps für Maltego
Nützliche built-in Transforms nach dem Import
| Entity | Empfohlene Transform |
|---|---|
maltego.Domain | DNS to IP Address, Resolve to NS, MX |
maltego.IPv4Address | To Ports, Shodan (kostenpflichtig), Reverse DNS |
maltego.EmailAddress | To Domains, Hunter.io (API) |
maltego.URL | To Domain, Screenshot (kostenpflichtig) |
maltego.Alias | To EmailAddress (manuell erweitern) |
Layout
Nach dem Import: Layouts → Organic oder Block für übersichtliche Darstellung bei vielen Nodes.
Dateipfade
| Datei | Beschreibung |
|---|---|
to_maltego.py | Hauptscript |
maltego_<timestamp>.csv | Automatisch benannte Export-Dateien |
docs/maltego_konverter.txt | Diese Anleitung |
