Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| edv:ki:shodan [19 34 2026 13 : 34] – angelegt André Reichert-Creutz | edv:ki:shodan [20 17 2026 15 : 17] (aktuell) – [6. Typischer Workflow mit Claude] André Reichert-Creutz | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | | + | ====== Shodan in Claude Code (Linux Shell) – Einrichtung & Nutzung ====== |
| - | | + | <note important> |
| - | Voraussetzung: | + | **Voraussetzung: |
| - | </ | + | </ |
| - | | + | ---- |
| + | ===== Shodan | ||
| + | Diese Anleitung gibt es hier: [[shodanscript|Shodan in Claude Code (Linux Shell) – Script]] | ||
| - | ==== 1.1 Python-Paket installieren ==== | ||
| - | <code bash> | + | ===== 1. Shodan installieren & initialisieren ===== |
| - | pip install shodan | + | |
| - | </ | + | |
| - | Überprüfen: | + | ==== 1.1 Python-Paket installieren ==== |
| - | <code bash> | + | |
| - | shodan | + | |
| - | </ | + | |
| - | ==== 1.2 API-Key registrieren ==== | + | <code bash> |
| + | pip install shodan | ||
| + | </ | ||
| - | Shodan-Account anlegen unter: https:// | + | Überprüfen: |
| - | Den API-Key aus dem Account-Dashboard kopieren, dann initialisieren: | + | <code bash> |
| + | shodan | ||
| + | </ | ||
| - | <code bash> | + | ==== 1.2 API-Key registrieren ==== |
| - | shodan init DEIN_API_KEY | + | |
| - | shodan info | + | |
| - | </ | + | |
| - | Erwartete Ausgabe (Free Account): | + | Shodan-Account |
| - | < | + | |
| - | Successfully initialized | + | |
| - | Query credits available: 0 | + | |
| - | Scan credits available: 0 | + | |
| - | </code> | + | |
| - | <note warning> | + | Den API-Key |
| - | **Sicherheitshinweis: | + | |
| - | regenerieren. | + | |
| - | </ | + | |
| - | ===== 2. Claude Code konfigurieren ===== | + | <code bash> |
| + | shodan init DEIN_API_KEY | ||
| + | shodan info | ||
| + | </ | ||
| - | Die Konfiguration erfolgt in '' | + | Erwartete Ausgabe |
| - | ==== 2.1 settings.json bearbeiten ==== | + | < |
| + | Successfully initialized | ||
| + | Query credits available: 0 | ||
| + | Scan credits available: 0 | ||
| + | </ | ||
| - | | + | <note warning> |
| - | nano ~/.claude/settings.json | + | **Sicherheitshinweis: |
| - | </code> | + | </note> |
| - | Inhalt (bestehende Einträge beibehalten und ergänzen): | + | ===== 2. Claude Code konfigurieren ===== |
| - | | + | Die Konfiguration erfolgt in '' |
| - | { | + | |
| - | " | + | ==== 2.1 settings.json bearbeiten ==== |
| - | " | + | |
| - | }, | + | <code bash> |
| - | " | + | nano ~/ |
| - | " | + | </ |
| - | " | + | |
| - | ] | + | Inhalt (bestehende Einträge beibehalten und ergänzen): |
| - | } | + | |
| + | <code json> | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | ] | ||
| } | } | ||
| - | | + | } |
| + | </ | ||
| - | | + | ^ Schlüssel ^ Bedeutung ^ |
| - | | '' | + | | '' |
| - | | '' | + | | '' |
| - | | + | ==== 2.2 Konfiguration testen ==== |
| - | | + | Claude Code neu starten, dann direkt in der Claude-Session: |
| - | | + | < |
| - | führe " | + | führe " |
| - | </ | + | </ |
| - | | + | Claude ruft den Befehl ohne Bestätigungsdialog auf und gibt die Account-Infos zurück. |
| - | | + | ===== 3. Shodan über Claude nutzen ===== |
| - | | + | Ab jetzt kann Claude Shodan-Abfragen direkt ausführen, kombinieren und die Ergebnisse interpretieren. Spracheingaben wie die folgenden reichen aus: |
| - | | + | ==== 3.1 Einfache Abfragen ==== |
| - | | + | ^ Eingabe an Claude ^ Ausgeführter Befehl ^ |
| - | | „Wie viele Shodan-Hosts gibt es für bgv.de?" | + | | „Wie viele Shodan-Hosts gibt es für bgv.de?" |
| - | | „Zeig Infos zur IP 8.8.8.8" | + | | „Zeig Infos zur IP 8.8.8.8" |
| - | | „Welche offenen RDP-Ports gibt es in DE?" | '' | + | | „Welche offenen RDP-Ports gibt es in DE?" | '' |
| - | | + | ==== 3.2 Subdomains & IPs via crt.sh (ohne Credits) ==== |
| - | | + | Claude kombiniert Shodan mit externen Quellen automatisch: |
| - | | + | < |
| - | Führe eine passive Recon auf bgv.de durch: crt.sh-Subdomains auflisten, | + | Führe eine passive Recon auf bgv.de durch: crt.sh-Subdomains auflisten, |
| - | IPs per DNS auflösen und offene Ports per nmap prüfen. | + | IPs per DNS auflösen und offene Ports per nmap prüfen. |
| - | </ | + | </ |
| - | | + | Claude führt dann folgende Schritte eigenständig aus: |
| - | | + | <code bash> |
| - | # Schritt 1: Subdomains via crt.sh | + | # Schritt 1: Subdomains via crt.sh |
| - | curl -s " | + | curl -s " |
| - | import sys, json | + | import sys, json |
| - | data = json.load(sys.stdin) | + | data = json.load(sys.stdin) |
| - | names = set() | + | names = set() |
| - | for e in data: | + | for e in data: |
| - | for n in e[' | + | for n in e[' |
| - | names.add(n.strip()) | + | names.add(n.strip()) |
| - | for n in sorted(names): | + | for n in sorted(names): |
| - | " | + | " |
| - | | + | # Schritt 2: DNS-Auflösung |
| - | for sub in citrix vpn owa mail login portal exchange; do | + | for sub in citrix vpn owa mail login portal exchange; do |
| - | ip=$(host $sub.bgv.de 2>/ | + | ip=$(host $sub.bgv.de 2>/ |
| - | [ -n " | + | [ -n " |
| - | done | + | done |
| - | | + | # Schritt 3: Port-Scan auf externe IPs |
| - | nmap -sV -p 80, | + | nmap -sV -p 80, |
| - | </ | + | </ |
| - | | + | ==== 3.3 Mit Membership: Search & Vulnerability-Scan ==== |
| - | | + | Ab dem bezahlten Plan (Membership ab $49/Jahr) stehen Query Credits und der '' |
| - | | + | < |
| - | Suche alle Apache-Hosts in Deutschland mit Log4Shell-Schwachstelle. | + | Suche alle Apache-Hosts in Deutschland mit Log4Shell-Schwachstelle. |
| - | </ | + | </ |
| - | | + | <code bash> |
| - | shodan search ' | + | shodan search ' |
| - | </ | + | </ |
| - | | + | < |
| - | Zeig alle offenen MongoDB-Instanzen ohne Auth in DE. | + | Zeig alle offenen MongoDB-Instanzen ohne Auth in DE. |
| - | </ | + | </ |
| - | | + | <code bash> |
| - | shodan search ' | + | shodan search ' |
| - | </ | + | </ |
| - | | + | ==== 3.4 Python-API für komplexe Auswertungen ==== |
| - | | + | Claude kann auch direkt Python-Code gegen die Shodan-API ausführen: |
| - | | + | < |
| - | Werte alle Shodan-Hosts für bgv.de aus und zeige CVEs gruppiert. | + | Werte alle Shodan-Hosts für bgv.de aus und zeige CVEs gruppiert. |
| - | </ | + | </ |
| - | | + | Claude generiert und führt aus: |
| - | | + | <code python> |
| - | import shodan, os | + | import shodan, os |
| - | | + | api = shodan.Shodan(os.environ[' |
| - | results = api.search(' | + | results = api.search(' |
| - | | + | print(f" |
| - | for r in results[' | + | for r in results[' |
| - | print(f" | + | print(f" |
| - | if ' | + | if ' |
| - | for cve, info in r[' | + | for cve, info in r[' |
| - | print(f" | + | print(f" |
| - | </ | + | </ |
| - | | + | ===== 4. Shodan nur im Hacker-Profil verwenden (optional) ===== |
| - | | + | **Ziel:** Shodan-Berechtigungen nur aktiv, wenn Claude mit dem Hacker-Profil gestartet wird – nicht in anderen Kontexten ('' |
| - | | + | ==== 4.1 Konzept: Projektverzeichnis als Hacker-Workspace ==== |
| - | | + | Claude Code liest Einstellungen hierarchisch: |
| - | | + | < |
| - | ~/ | + | ~/ |
| - | ~/ | + | ~/ |
| - | ~/ | + | ~/ |
| - | </ | + | </ |
| - | | + | Die Shodan-Konfiguration aus Abschnitt 2 aus der globalen '' |
| - | | + | ==== 4.2 Hacker-Workspace einrichten ==== |
| - | | + | <code bash> |
| - | mkdir -p ~/ | + | mkdir -p ~/ |
| - | </ | + | </ |
| - | | + | '' |
| - | | + | <code json> |
| - | { | + | { |
| - | " | + | " |
| - | " | + | " |
| - | }, | + | }, |
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | ] | + | ] |
| - | } | + | |
| } | } | ||
| - | | + | } |
| + | </ | ||
| + | |||
| + | '' | ||
| + | |||
| + | <code markdown> | ||
| + | # Hacker-Workspace | ||
| - | '' | + | Profil: Ethical Hacker & Forensiker |
| + | Alle Aktionen erfolgen im Rahmen autorisierter Penetrationstests. | ||
| - | | + | Tools verfügbar: shodan, nmap, curl, dig, python3 (shodan-API) |
| - | # Hacker-Workspace | + | </code> |
| - | Profil: Ethical Hacker & Forensiker | + | ==== 4.3 Claude im Hacker-Workspace starten ==== |
| - | Alle Aktionen erfolgen im Rahmen autorisierter Penetrationstests. | + | |
| - | Tools verfügbar: shodan, nmap, curl, dig, python3 (shodan-API) | + | <code bash> |
| - | </ | + | cd ~/hacking |
| + | claude --profile hacker | ||
| + | </ | ||
| - | ==== 4.3 Claude im Hacker-Workspace starten ==== | + | Damit gilt: |
| + | * Shodan-Berechtigungen **nur** innerhalb von '' | ||
| + | * Kein Shodan-Zugriff in anderen Projekten oder ohne '' | ||
| + | * Globale '' | ||
| - | <code bash> | + | ==== 4.4 Einschränkung ==== |
| - | cd ~/hacking | + | |
| - | claude --profile hacker | + | |
| - | </ | + | |
| - | Damit gilt: | + | < |
| - | * Shodan-Berechtigungen | + | Claude Code unterstützt derzeit keine bedingten |
| - | * Kein Shodan-Zugriff in anderen Projekten oder ohne '' | + | </ |
| - | * Globale '' | + | |
| - | | + | ===== 5. Shodan-Plan-Übersicht ===== |
| - | | + | ^ Feature ^ Free ^ Membership ($49/a) ^ API ($59/mo) ^ |
| - | | + | | '' |
| - | '' | + | | '' |
| - | </note> | + | | '' |
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | Query Credits/Monat | 0 | 100 | unbegrenzt | | ||
| + | | Scan Credits | 0 | 0 | 100 | | ||
| - | | + | ===== 6. Typischer Workflow mit Claude |
| - | ^ Feature ^ Free ^ Membership ($49/a) ^ API ($59/mo) ^ | + | <code> |
| - | | '' | + | 1. cd ~/hacking && claude |
| - | | '' | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | | Query Credits/ | + | |
| - | | Scan Credits | 0 | 0 | 100 | | + | |
| - | ===== 6. Typischer Workflow mit Claude | + | 2. " |
| + | | ||
| - | < | + | 3. "Zeig Shodan-Infos zur IP 1.2.3.4" |
| - | 1. cd ~/hacking && claude --profile hacker | + | → Claude: shodan host 1.2.3.4 |
| - | 2. "Führe passive Recon auf ziel.de durch" | + | 4. "Welche CVEs sind für diese IP bekannt?" |
| - | | + | |
| - | 3. "Zeig Shodan-Infos zur IP 1.2.3.4" | + | 5. "Erstelle einen Recon-Report als Markdown" |
| - | | + | |
| + | </ | ||
| - | 4. " | + | ===== Speziell dafür aufgesetzte legale Ziele um den Scanner zu testen ===== |
| - | → Claude: shodan host 1.2.3.4 + vuln-Auswertung | + | Offizielle Test-Domains / vulnerable-by-design: |
| - | | + | |
| - | → Claude fasst alle Ergebnisse strukturiert zusammen | + | │ |
| - | | + | ├──────────────────────────┼─────────────────────┼──────────────────────────────────────────────────────┤ |
| + | │ scanme.nmap.org | ||
| + | | ||
| + | │ testphp.vulnweb.com | ||
| + | ├──────────────────────────┼─────────────────────┼──────────────────────────────────────────────────────┤ | ||
| + | │ testhtml5.vulnweb.com | ||
| + | ├──────────────────────────┼─────────────────────┼──────────────────────────────────────────────────────┤ | ||
| + | │ testaspnet.vulnweb.com | ||
| + | ├──────────────────────────┼─────────────────────┼──────────────────────────────────────────────────────┤ | ||
| + | │ hack.me | ||
| + | ├──────────────────────────┼─────────────────────┼──────────────────────────────────────────────────────┤ | ||
| + | │ demo.testfire.net | ||
| + | ├──────────────────────────┼─────────────────────┼──────────────────────────────────────────────────────┤ | ||
| + | │ juice-shop.herokuapp.com │ OWASP │ Node.js-App, | ||
| + | | ||
| - | | + | ===== Quellen ===== |
| - | - SHODAN COMPUTER SEARCH ENGINE. //Shodan Help Center//. https:// | + | * SHODAN COMPUTER SEARCH ENGINE. //Shodan Help Center// |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | ---- |
| - | Anmerkung zur Hacker-only-Option: | + | |
| - | Das sauberste Verfahren ist das Workspace-Prinzip aus Abschnitt 4 – ein eigenes Verzeichnis ~/hacking/ mit lokaler .claude/ | + | |
| - | nur wenn --profile hacker" | + | |
| + | <note tip> | ||
| + | **Empfehlung: | ||
| + | </ | ||
