Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cve-2026-31431-fleet-remediator — Fleet-weiter CVE-2026-31431-Audit- und Remediation-Orchestrator für Linux-Hosts über SSH, mit strenger Host-Key-Verifizierung und Berichterstattung in mehreren Formaten. | Kitploit
Tools/GitHubGitHub/wavesman/cve-2026-31431-fleet-remediator
Cloud-Infrastruktur-SicherheitSchwachstellenscannerKonfigurationsprüfungDevSecOps
GitHubwavesman/cve-2026-31431-fleet-remediator

cve-2026-31431-fleet-remediator

Fleet-weiter CVE-2026-31431-Audit- und Remediation-Orchestrator für Linux-Hosts über SSH, mit strenger Host-Key-Verifizierung und Berichterstattung in mehreren Formaten.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
5vor 4 MonatenNoch nicht geprüft
Teilen

CVE-2026-31431 Fleet-Audit- und Remediation-Tool

中文说明

Dieses Projekt ist ein Orchestrator im Fleet-Maßstab zur Prüfung und Behebung von CVE-2026-31431 auf Linux-Hosts in Unternehmens-/Internen Netzwerken.

  • Batch-SSH-Login auf mehrere Hosts
  • Erfassung von Risiko-Nachweisen und Statusklassifizierung
  • Temporäre Schadensbegrenzung (algif_aead deaktivieren)
  • Distro-bewusster Kernel-Patch-/Upgrade-Workflow
  • JSON / CSV / Markdown-Berichte

1. Voraussetzungen

  • Python: >=3.13
  • Paketmanager: uv
  • Netzwerk: Der Runner muss Ziel-Hosts über SSH erreichen

2. Schnellstart

2.1 Abhängigkeiten installieren

root@kitploit:~
uv sync

Der Tsinghua-Mirror ist in pyproject.toml konfiguriert:

root@kitploit:~
[tool.uv]
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"

2.2 Asset-Konfiguration vorbereiten

root@kitploit:~
cp fleet.env.example fleet.env

Aktualisieren Sie dann fleet.env mit Ihren echten Hosts und Anmeldedaten.

2.3 Ausführen

root@kitploit:~
uv run python main.py fleet.env

3. Projektstruktur

root@kitploit:~
.
├── main.py
├── pyproject.toml
├── uv.lock
├── fleet.env.example
├── reports/
└── src/
    ├── main.py
    ├── models.py
    ├── config.py
    ├── executor.py
    ├── collector.py
    ├── analyzer.py
    ├── adapters.py
    ├── remediator.py
    ├── orchestrator.py
    └── reporter.py

4. Referenz zur fleet.env-Konfiguration

Format ist KEY=VALUE. Leere Zeilen und #-Kommentare werden ignoriert.

4.1 Globale Schlüssel

MODE

  • Laufzeitmodus.
  • Werte:
    • audit: nur erkennen, keine Behebung.
    • fix: erkennen und Behebungsablauf ausführen.
  • Standard: audit

AUTO_REBOOT

  • Ob der Host nach erfolgreicher Behebung automatisch neu gestartet werden soll.
  • Werte: 0 oder 1
  • Standard: 0
  • Wirkt nur bei MODE=fix.

SSH_TIMEOUT

  • SSH-Verbindungs-/Authentifizierungs-Timeout (Sekunden).
  • Typ: Ganzzahl
  • Standard: 12

MAX_WORKERS

  • Fleet-Konkurrenzgröße (Thread-Pool-Arbeiter).
  • Typ: Ganzzahl
  • Standard: 8

REPORT_DIR

  • Ausgabeverzeichnis für generierte Berichte.
  • Typ: relativer oder absoluter Pfad
  • Standard: ./reports

PROGRESS_HEARTBEAT_SECONDS

  • Heartbeat-Intervall für Echtzeit-Fortschrittsprotokolle.
  • Typ: Ganzzahl (Sekunden)
  • Standard: 5

DEVICE_MAX_DURATION_SECONDS

  • Maximale Gesamtausführungszeit pro Gerät vor Timeout-/Stillstandswarnungen.
  • Typ: Ganzzahl (Sekunden)
  • Standard: 1800

PROGRESS_LOG_TO_FILE

  • Ob Fortschrittsprotokolle in REPORT_DIR gespeichert werden sollen.
  • Werte: 0 oder 1
  • Standard: 1

FLEET_COUNT

  • Anzahl der Geräte-Slots. Der Loader parst 1..FLEET_COUNT.
  • Typ: Ganzzahl
  • Wenn DEVICE_n_HOST leer ist, wird dieser Slot übersprungen.

4.2 Schlüssel pro Gerät

Jeder Host verwendet das Präfix DEVICE_{n}_, z. B. DEVICE_1_*, DEVICE_2_*.

DEVICE_n_NAME

  • Anzeigename in Berichten.
  • Optional. Wenn leer, automatischer Fallback auf device_n.

DEVICE_n_HOST

  • Ziel-Host-IP oder DNS-Name.
  • Erforderlich für diesen Slot.

DEVICE_n_PORT

  • SSH-Port.
  • Standard: 22

DEVICE_n_USER

  • SSH-Benutzername.
  • Standard: root

DEVICE_n_PASSWORD

  • SSH-Passwort-Authentifizierung.
  • Verwenden Sie es zusammen mit oder anstelle von DEVICE_n_KEY.
  • Das Skript verwendet nur Anmeldedaten, die explizit in fleet.env festgelegt sind.

DEVICE_n_KEY

  • Pfad zum SSH-Private-Key.
  • Beispiel: ./keys/node-1_ed25519
  • Wenn sowohl DEVICE_n_PASSWORD als auch DEVICE_n_KEY leer sind, schlägt die Verbindung schnell fehl.

DEVICE_n_SUDO_PASSWORD

  • Sudo-Passwort für Nicht-Root-Benutzer.
  • Wird für Behebungsbefehle verwendet.

4.3 Vollständiges Beispiel

root@kitploit:~
# =========================
# Global
# =========================
MODE=audit
AUTO_REBOOT=0
SSH_TIMEOUT=12
MAX_WORKERS=8
REPORT_DIR=./reports
PROGRESS_HEARTBEAT_SECONDS=5
DEVICE_MAX_DURATION_SECONDS=1800
PROGRESS_LOG_TO_FILE=1
FLEET_COUNT=3

# =========================
# Device 1
# =========================
DEVICE_1_NAME=pve-node-1
DEVICE_1_HOST=192.168.1.10
DEVICE_1_PORT=22
DEVICE_1_USER=root
DEVICE_1_PASSWORD=
DEVICE_1_KEY=./keys/pve-node-1_ed25519
DEVICE_1_SUDO_PASSWORD=

# =========================
# Device 2
# =========================
DEVICE_2_NAME=web-1
DEVICE_2_HOST=192.168.1.20
DEVICE_2_PORT=22
DEVICE_2_USER=admin
DEVICE_2_PASSWORD=your_ssh_password
DEVICE_2_KEY=
DEVICE_2_SUDO_PASSWORD=your_sudo_password

# =========================
# Device 3
# =========================
DEVICE_3_NAME=
DEVICE_3_HOST=192.168.1.30
DEVICE_3_PORT=22
DEVICE_3_USER=ops
DEVICE_3_PASSWORD=
DEVICE_3_KEY=./keys/db-1_ed25519
DEVICE_3_SUDO_PASSWORD=

5. Laufmodi

5.1 Audit-Modus (empfohlen für den ersten Durchlauf)

root@kitploit:~
MODE=audit
uv run python main.py fleet.env

Verhalten:

  • Verbindung zu Hosts herstellen
  • Kernel-/Modul-/Patch-Hinweise sammeln
  • Risikostatus klassifizieren
  • Berichte generieren

5.2 Fix-Modus

root@kitploit:~
MODE=fix
AUTO_REBOOT=0
uv run python main.py fleet.env

Verhalten:

  • Zuerst temporäre Schadensbegrenzung anwenden:
    • /etc/modprobe.d/disable-cve-2026-31431-algif-aead.conf schreiben
    • versuchen, algif_aead zu entladen
  • Distro-spezifisches Kernel-Update ausführen
  • Optionaler Neustart basierend auf AUTO_REBOOT

6. Statusdefinitionen

SAFE

  • Patch-Hinweise gefunden und algif_aead ist nicht geladen.

MITIGATED

  • Schadensbegrenzungs-Hinweise gefunden, während Patch-Hinweise noch unklar sind.

NEEDS_PATCH

  • algif_aead ist verfügbar/geladen und Patch-Hinweise fehlen.

UNKNOWN

  • Nicht genügend Nachweise zur Klassifizierung.

FAILED

  • SSH-Login/Befehlsausführung fehlgeschlagen.

7. Berichtsausgaben

Jeder Lauf generiert 3 Dateien in REPORT_DIR:

  • cve_2026_31431_<timestamp>.json
  • cve_2026_31431_<timestamp>.csv
  • cve_2026_31431_<timestamp>.md
  • progress_<timestamp>.log (Echtzeit-Fortschritts- und Heartbeat-Protokolle)

Kernfelder:

  • name, host
  • status
  • kernel, os
  • algif_loaded, algif_available
  • patch_hint
  • fixed, rebooted
  • error

8. Sicherheitshinweise

  • Committen Sie fleet.env oder private Schlüssel nicht.
  • Verwenden Sie nach Möglichkeit Betriebskonten mit minimalen Rechten.
  • Erstellen Sie Snapshots/Sicherungen vor der Behebung in der Produktion.
  • Empfohlener Rollout: audit -> fix -> erneutes audit.

9. Fehlerbehebung

ModuleNotFoundError: No module named 'paramiko'

  • Führen Sie uv sync aus.

Viele Hosts sind FAILED

  • Prüfen Sie Konnektivität, SSH-Anmeldedaten, Sudo-Berechtigungen und den Zustand des Host-Keys.

BadHostKeyException

  • Host-Fingerabdruck kollidiert mit dem aktuellen known_hosts-Eintrag.
  • Dies ist kein Fallback auf System-Key-Authentifizierung; die Authentifizierung verwendet weiterhin nur fleet.env-Anmeldedaten.
  • Verifizieren Sie die Host-Identität out-of-band und aktualisieren Sie dann known_hosts:
    • ssh-keygen -R <host>
    • ssh-keyscan -H <host> >> $env:USERPROFILE\.ssh\known_hosts

Server ... not found in known_hosts

  • Der strikte Host-Key-Modus ist aktiviert und der Host-Fingerabdruck fehlt.
  • Fügen Sie den Host-Key zu known_hosts hinzu und führen Sie dann erneut aus.

Kernel aktualisiert, aber Status weiterhin riskant

  • Ein Neustart kann erforderlich sein, um in den gepatchten Kernel zu booten.
Tool herunterladen