Dieser Blogbeitrag enthält eine detaillierte Installationsanleitung für ShadowBroker (Version 0.9.6) auf Docker-Basis für einen Ubuntu-Server 24.04 LTS.
Was ist ShadowBroker?
ShadowBroker ist ein browserbasiertes Open-Source-Geointelligence-(GEOINT-)Dashboard, das öffentlich verfügbare Echtzeit-Geodaten aus über 60 verschiedenen Quellen in einer einzigen interaktiven Kartenoberfläche aggregiert und visualisiert.
ShadowBroker hat nichts mit der Hackergruppe „The Shadow Brokers” zu tun. Die optische Ähnlichkeit hat jedoch dazu geführt, dass das Projekt von github.com entfernt wurde und aktuell nur auf gitlab.com verfügbar ist.
Die ShadowBroker zeigen keinerlei geheime oder klassifizierte Daten. Alles, was auf dem Dashboard dargestellt wird, ist ohnehin bereits öffentlich im Internet verfügbar, wird aber Dutzende verschiedener Tools verteilt. ShadowBroker ist kein Angriffstool, kein Hacking-Framework.
Das Projekt ist lizenztechnisch unter der AGPL-3.0 veröffentlicht. Der Quellcode ist vollständig öffentlich einsehbar.
Offiziell Seite: https://gitlab.com/bigbodycobain/Shadowbroker
Installation
1. System vorbereiten
1. System vorbereiten und wichtige Werkzeuge (git, curl und Standard-Zertifikate) installieren:
sudo apt update && sudo apt upgrade -y sudo apt install -y git curl ca-certificates gnupg
2. Docker installieren
2.2. Die weiteren Schritte entsprechen dem offiziellen Installationsweg.
Das Verzeichnis für APT-Keys wird erstellt und der offizielle Docker-GPG-Schlüssel wird heruntergeladen und gespeichert.
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
2.3. Das offizielle Docker-APT-Repository wird der Paketquellenliste des Systems hinzugefügt.
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2.4. Die Paketliste wird aktualisiert und die Docker-Engine sowie die wichtigsten Zusatzkomponenten (CLI, Containerd, Buildx und Compose) werden installiert.
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2.5. Den aktuellen Benutzer zur Docker-Gruppe hinzugefügt, damit Docker-Befehle ohne sudo ausgeführt werden können.
sudo usermod -aG docker $USER newgrp docker
2.6. Überprüfen, ob Docker und Docker Compose korrekt installiert sind:
docker --version docker compose version
Erwartetes Ergebnis:
Docker version 29.4.0, build 9d7ad9f
Docker Compose version v5.1.1
3. Repository klonen
3.7. Das Projekt wurde von GitHub auf GitLab migriert. Die korrekte aktuelle URL ist gitlab.com/bigbodycobain/Shadowbroker. Das Repository von GitLab lokal speichern und in den Ordner „Shadowbroker” wechseln. Git wurde bereits im Schritt 1 installiert.
git clone https://gitlab.com/bigbodycobain/Shadowbroker.git cd Shadowbroker
4. AIS Stream API-Key besorgen
Der AIS_API_KEY ist der einzige Required-Key. OpenSky und andere sind optional.
4.1. Browser öffnen: https://aisstream.io
4.2. Kostenlosen Account erstellen (E-Mail + Passwort)
4.3. Nach Login: Menü „API Keys“ aufrufen

4.5. Neuen Key generieren (Button „Create“ oder „Generate“)

4.6. Den generierten String kopieren. Wird bei der Anpassung von docker-compose.yml benötigt.
5. Konfiguration anpassen
Die Datei „docker-compose.yml” muss an einigen Stellen angepasst werden.
nano docker-compose.yml
Folgende Werte anpassen:
| Variable | Wert |
| AIS_API_KEY | Vorher kopierten Key direkt eintragen (ohne ${…} mehr) |
| CORS_ORIGINS | http://192.168.1.125:3000,http://osint.demo.lab:3000 |
| backend / ports: | ${BIND:-0.0.0.0}:8000:8000 |
| frontend / ports: | ${BIND:-0.0.0.0}:3000:3000 |
| BACKEND_URL= | http://192.168.1.125:8000 |
services: backend: image: registry.gitlab.com/bigbodycobain/shadowbroker/backend:latest container_name: shadowbroker-backend ports: - "${BIND:-0.0.0.0}:8000:8000" environment: - AIS_API_KEY=cccd64404cf19e42755ab03a78b7ca56a8432b9e - OPENSKY_CLIENT_ID=${OPENSKY_CLIENT_ID} - OPENSKY_CLIENT_SECRET=${OPENSKY_CLIENT_SECRET} - LTA_ACCOUNT_KEY=${LTA_ACCOUNT_KEY} - ADMIN_KEY=${ADMIN_KEY:-} - FINNHUB_API_KEY=${FINNHUB_API_KEY:-} # Override allowed CORS origins (comma-separated). Auto-detects LAN IPs if empty. - CORS_ORIGINS=http://192.168.1.125:3000,http://osint.demo.lab:3000 frontend: image: registry.gitlab.com/bigbodycobain/shadowbroker/frontend:latest container_name: shadowbroker-frontend ports: - "${BIND:-0.0.0.0}:3000:3000"
6. Container starten
Die Container werden auf Grundlage der Compose-Konfiguration erstellt und gestartet.
docker compose up -d --build
Beim ersten Start werden die Images vom GitLab Container Registry geladen, deswegen dauert es einige Zeit.
Status prüfen:
docker compose ps
7. Dashboard aufrufen
Im Browser aufrufen: http://192.168.1.125:3000 (zuerst nutzte ich die IP-Adresse meines Servers anstelle des FQDN.. Das „Mission Briefing“ (First-Time Setup) erscheint mit drei Tabs:
- WELCOME — Projektübersicht
- API KEYS — Optionale Keys können hier auch über die UI eingetragen werden
- FREE SOURCES — Zeigt die 8 sofort verfügbaren Quellen
Klicke durch die Tabs und abschließend auf LAUNCH. Danach erscheint ein „What’s New“-Dialog, mit ACKNOWLEDGED bestätigen.

NEXT:
Die Anforderung zur Schlüssel-Eingabe ist irreführend, da der Schlüssel von https://aisstream.io bereits in docker-compose.yml eingetragen wurde.

LAUNCH

ACKNOWLEDGED

So sieht das Dashboard beim ersten Mal aus:

Die Webkonsole ist extrem ressourcenintensiv. Sobald sie gestartet ist, steigt die CPU-Auslastung auf 98 %, und zwar bei allen vier Kernen.
Der Beitrag ist noch nicht vollständig und wird noch erweitert…