SuckerPot

Hilf dem Netzwerk

Drei Befehle. Kein Dashboard. Kein VPN nötig.

Betreib die Sensoren auf einem freien Rechner, öffne die Ports, die der Installer ausgibt, und du bist dabei. Wenn du diesen Modus wählst, stimmst du dem Beitritt zum SuckerPot-Netzwerk zu.

shell
git clone --depth 1 --branch v0.9.0 https://github.com/selfhostr/suckerpot.git
cd suckerpot
./scripts/install.sh --participant

Ersetze v0.9.0 durch die gewünschte Version. SuckerPot ist dafür gebaut, angegriffen zu werden: Nutze einen eigenen Rechner, auf dem nichts anderes liegt, was dir wichtig ist.

Was du brauchst

Ein Linux-Rechner und ein Router, den du kontrollierst.

Nur Sensoren, Datenbank und der Netzknoten, mit etwa 2 GiB Arbeitsspeicher.

RechnerEine Linux-VM oder ein Server, x86_64 oder aarch64, mit mindestens 2 GiB Arbeitsspeicher und 15 GiB freiem Speicher.
SoftwareDocker Engine 24+ (28 empfohlen) mit dem Compose-Plugin, git, curl und Bash 4+. Dein Benutzer muss docker ohne sudo ausführen können.
RouterDu kannst Ports an diesen Rechner weiterleiten.
VPNNicht nötig.

Was du zu teilen erlaubst

Fakten über Angreifer. Nie über dich.

Der Installer zeigt, was er teilt, und stellt vor dem Beitritt eine Frage. Mit --yes fragt er nicht, und das gilt als deine Zustimmung.

  • Die Adressen, die deine Sensoren angegriffen haben, mit dem genutzten Dienst, was sie getan haben und gerundeten Zahlen. Einmal am Tag, einige Stunden verzögert.
  • Download-Links, die Angreifer versucht haben, als Hashes. Der Klartext-Link geht erst an den Hub, wenn zwei oder mehr Sensoren denselben Link gesehen haben.
  • Malware-Hashes und Adressen von Command-and-Control-Servern, aber nur, wenn du ein VPN hast und der Sammelmodul aktiv ist.
  • Nie Passwörter, Befehle, deine Ports, deine eigene Adresse oder ein Name von dir.

Das vollständige Bild steht auf der Netzwerkseite.

Öffne die Ports

Deine einzige Aufgabe nach der Installation.

Der Installer endet mit einer Porttabelle. Leite jeden Router-Port an diesen Rechner weiter. Leite niemals deinen eigenen SSH-Admin-Port weiter, und nutze nicht die DMZ deines Routers: Sie leitet jeden Port weiter. Der Installer ändert nie deine SSH-Einstellungen.

Router-PortDieser RechnerProtokollSensor
2222TCPssh
2323TCPtelnet
8080TCPweb
443443TCPweb

Beispiel für die Ausgabe des Installers. Ist Port 22 auf dem Rechner belegt, nutzt der SSH-Sensor 2222.

Privatsphäre ohne VPN

Der Hub sieht eine Adresse. Er speichert sie nicht.

Ohne VPN sieht der Hub deine Heimadresse, wenn dein Rechner sich verbindet. Ein Tunnelanbieter vor dem Hub sieht sie ebenfalls. Der Hub speichert sie nicht und protokolliert sie nicht, aber die Adresse ist nicht verborgen.

  • In diesem Modus hat nur ein Dienst eine Route nach draußen. Er leitet Verbindungen nur an den Hub-Host weiter, sonst nichts.
  • Der Ingest-Dienst, der Angreiferdaten verarbeitet, hat keine Route nach draußen. Deine Sensoren laden nie etwas herunter.
  • Ein VPN kannst du jederzeit nachrüsten: ./scripts/participant.sh vpn /path/to/wireguard.conf.

Behalte die Kontrolle

Prüfen, aktualisieren, jederzeit austreten.

BefehlWas er tut
./scripts/status.shZeigt die Sensoren und ihre Ports, deinen Status, den letzten Kontakt mit dem Hub und was jeden Tag gesendet wurde.
./scripts/participant.sh ports-checkZeigt, ob das Internet deine Sensoren schon erreicht.
./scripts/participant.sh firewallLädt die Host-Firewall (fragt nach sudo) oder entfernt sie.
./scripts/participant.sh leaveVerlässt das Netzwerk. Die Sensoren laufen weiter.
./scripts/participant.sh joinZeigt die Zustimmung erneut und tritt bei.
./scripts/participant.sh vpn FILESchickt alles über dein VPN.
./scripts/participant.sh auto-update offSchaltet den täglichen Update-Zeitplan aus.
./scripts/participant.sh uninstallVerlässt das Netzwerk, stoppt den Stack und entfernt den Zeitplan. Er gibt den Befehl aus, der die Daten löscht, und führt ihn nie selbst aus.

Automatische Updates

Signierte Releases installieren sich einmal am Tag selbst, frühestens 48 Stunden nach ihrer Veröffentlichung, und nur innerhalb derselben Hauptversion. Vorher wird ein Datenbank-Dump erstellt, und ein fehlgeschlagenes Update stellt die vorherige Version wieder her. Wäre der Release-Kanal je kompromittiert, wären Teilnehmer mit automatischen Updates betroffen: Signatur und Verzögerung verringern dieses Risiko, sie beseitigen es nicht. Ein Befehl schaltet Updates aus.

Verifizierer-Knoten

Die meisten Teilnehmer laden nie Malware herunter. Ein Verifizierer ist ein freiwilliger Knoten mit VPN und Sammelmodul, der einen Link, den zwei Knoten gemeldet haben, abrufen und die Datei beschreiben kann. Er braucht außerdem eine Rolle vom Hub-Betreiber.

In den Vollmodus wechseln

./scripts/install.sh --full fügt das Dashboard hinzu und behält deine Daten und deine Mitgliedschaft. Der umgekehrte Weg, von voll zu Teilnehmer, wird nicht unterstützt. Siehe Installieren.