Dies ist eine alte Version des Dokuments!
Shodan in Claude Code (Linux Shell) – Einrichtung & Nutzung
<note important>
Voraussetzung: Claude Code ist bereits in der Linux-Shell eingerichtet und das Hacker-Profil (hacker.md) ist aktiv. Diese Anleitung baut auf dem bestehenden Setup auf.
</note>
1. Shodan installieren & initialisieren
1.1 Python-Paket installieren
pip install shodan
Überprüfen:
shodan --version
1.2 API-Key registrieren
Shodan-Account anlegen unter: https://account.shodan.io
Den API-Key aus dem Account-Dashboard kopieren, dann initialisieren:
shodan init DEIN_API_KEY shodan info
Erwartete Ausgabe (Free Account):
Successfully initialized Query credits available: 0 Scan credits available: 0
<note warning> Sicherheitshinweis: Den API-Key niemals im Chat, in Git-Repositories oder in geteilten Dokumenten im Klartext angeben. Den Key bei Verdacht auf Kompromittierung sofort unter https://account.shodan.io regenerieren. </note>
2. Claude Code konfigurieren
Die Konfiguration erfolgt in ~/.claude/settings.json (globale Nutzereinstellungen).
2.1 settings.json bearbeiten
nano ~/.claude/settings.json
Inhalt (bestehende Einträge beibehalten und ergänzen):
{
"env": {
"SHODAN_API_KEY": "DEIN_API_KEY"
},
"permissions": {
"allow": [
"Bash(shodan:*)"
]
}
}
| Schlüssel | Bedeutung |
|---|---|
env.SHODAN_API_KEY | API-Key wird in jeder Claude-Session als Umgebungsvariable gesetzt |
permissions.allow | shodan:* erlaubt alle Shodan-CLI-Befehle ohne Rückfrage |
2.2 Konfiguration testen
Claude Code neu starten, dann direkt in der Claude-Session:
führe "shodan info" aus
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?„ | shodan count 'hostname:bgv.de' |
| „Zeig Infos zur IP 8.8.8.8“ | shodan host 8.8.8.8 |
| „Welche offenen RDP-Ports gibt es in DE?„ | shodan count 'port:3389 country: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, IPs per DNS auflösen und offene Ports per nmap prüfen.
Claude führt dann folgende Schritte eigenständig aus:
# Schritt 1: Subdomains via crt.sh curl -s "https://crt.sh/?q=%.bgv.de&output=json" | python3 -c " import sys, json data = json.load(sys.stdin) names = set() for e in data: for n in e['name_value'].split('\n'): names.add(n.strip()) for n in sorted(names): print(n) " # Schritt 2: DNS-Auflösung for sub in citrix vpn owa mail login portal exchange; do ip=$(host $sub.bgv.de 2>/dev/null | grep "has address" | awk '{print $4}') [ -n "$ip" ] && echo "$sub.bgv.de -> $ip" done # Schritt 3: Port-Scan auf externe IPs nmap -sV -p 80,443,22,3389,8443 --open -T4 <gefundene_IPs>
3.3 Mit Membership: Search & Vulnerability-Scan
Ab dem bezahlten Plan (Membership ab $49/Jahr) stehen Query Credits und der vuln:-Filter zur Verfügung:
Suche alle Apache-Hosts in Deutschland mit Log4Shell-Schwachstelle.
shodan search 'vuln:CVE-2021-44228 country:DE product:Apache' --limit 50
Zeig alle offenen MongoDB-Instanzen ohne Auth in DE.
shodan search 'port:27017 country:DE "MongoDB Server Information"' --limit 20
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.
Claude generiert und führt aus:
import shodan, os api = shodan.Shodan(os.environ['SHODAN_API_KEY']) results = api.search('hostname:bgv.de', limit=100) print(f"Hosts gefunden: {results['total']}") for r in results['matches']: print(f"\n{r['ip_str']}:{r['port']} {r.get('product','')} {r.get('version','')}") if 'vulns' in r: for cve, info in r['vulns'].items(): print(f" ⚠ {cve} CVSS:{info.get('cvss','-')}")
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 (dev.md, architekt.md usw.).
4.1 Konzept: Projektverzeichnis als Hacker-Workspace
Claude Code liest Einstellungen hierarchisch:
~/.claude/settings.json ← global (alle Profile) ~/hacking/.claude/settings.json ← nur in diesem Verzeichnis aktiv ~/hacking/CLAUDE.md ← lokale Instruktionen
Die Shodan-Konfiguration aus Abschnitt 2 aus der globalen settings.json entfernen und stattdessen nur lokal ablegen:
4.2 Hacker-Workspace einrichten
mkdir -p ~/hacking/.claude
~/hacking/.claude/settings.json mit folgendem Inhalt anlegen:
{
"env": {
"SHODAN_API_KEY": "DEIN_API_KEY"
},
"permissions": {
"allow": [
"Bash(shodan:*)",
"Bash(nmap:*)",
"Bash(curl:*)",
"Bash(host:*)",
"Bash(dig:*)",
"Bash(python3:*)"
]
}
}
~/hacking/CLAUDE.md anlegen:
# Hacker-Workspace Profil: Ethical Hacker & Forensiker Alle Aktionen erfolgen im Rahmen autorisierter Penetrationstests. Tools verfügbar: shodan, nmap, curl, dig, python3 (shodan-API)
4.3 Claude im Hacker-Workspace starten
cd ~/hacking claude --profile hacker
Damit gilt:
- Shodan-Berechtigungen nur innerhalb von
~/hacking/ - Kein Shodan-Zugriff in anderen Projekten oder ohne
--profile hacker - Globale
settings.jsonbleibt sauber
4.4 Einschränkung
<note>
Claude Code unterstützt derzeit keine bedingten Berechtigungen pro Profil in einer einzigen settings.json. Die Trennung erfolgt ausschließlich über separate Verzeichnisse mit eigenen .claude/settings.json-Dateien. Das Profil (--profile hacker) steuert das Verhalten Claudes, aber nicht die Toolberechtigungen – diese kommen aus der Verzeichnishierarchie.
</note>
5. Shodan-Plan-Übersicht
| Feature | Free | Membership ($49/a) | API ($59/mo) |
|---|---|---|---|
shodan info | ✓ | ✓ | ✓ |
shodan count | ✓ | ✓ | ✓ |
shodan host <IP> | ✗ | ✓ | ✓ |
shodan search | ✗ | ✓ | ✓ |
shodan domain | ✗ | ✓ | ✓ |
vuln:-Filter | ✗ | ✓ | ✓ |
| Query Credits/Monat | 0 | 100 | unbegrenzt |
| Scan Credits | 0 | 0 | 100 |
6. Typischer Workflow mit Claude
1. cd ~/hacking && claude --profile hacker 2. "Führe passive Recon auf ziel.de durch" → Claude: crt.sh + DNS + nmap automatisch 3. "Zeig Shodan-Infos zur IP 1.2.3.4" → Claude: shodan host 1.2.3.4 4. "Welche CVEs sind für diese IP bekannt?" → Claude: shodan host 1.2.3.4 + vuln-Auswertung 5. "Erstelle einen Recon-Report als Markdown" → Claude fasst alle Ergebnisse strukturiert zusammen
Quellen
- SHODAN COMPUTER SEARCH ENGINE. Shodan Help Center. https://help.shodan.io [Zugriff: 2026-03-19]
- MATHERLY, John, 2015. Complete Guide to Shodan. Shodan, LLC. https://leanpub.com/shodan
- ANTHROPIC, 2024. Claude Code Documentation. https://docs.anthropic.com/claude-code [Zugriff: 2026-03-19]
- BSI, 2023. Technische Richtlinie BSI TR-03186: Penetrationstest. Bundesamt für Sicherheit in der Informationstechnik. https://www.bsi.bund.de
<note tip>
Empfehlung: Das sauberste Verfahren ist das Workspace-Prinzip aus Abschnitt 4 – ein eigenes Verzeichnis ~/hacking/ mit lokaler .claude/settings.json. Eine native Profil-Bindung für Berechtigungen (also „Permission X nur wenn --profile hacker“) gibt es in Claude Code aktuell nicht, aber der Workaround mit dem Arbeitsverzeichnis ist in der Praxis genauso effektiv.
</note>
