Shadowbroker OSINT-Konsole – Installation auf Ubuntu

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…