Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2026-31431-fleet-remediator — Fleet-scale CVE-2026-31431 audit e remediation orchestrator per host Linux tramite SSH, con verifica rigorosa delle host key e reporting multi-formato. | Kitploit
Strumenti/GitHubGitHub/wavesman/cve-2026-31431-fleet-remediator
Sicurezza dell'Infrastruttura CloudScanner di VulnerabilitàAudit di ConfigurazioneDevSecOps
GitHubwavesman/cve-2026-31431-fleet-remediator

cve-2026-31431-fleet-remediator

Fleet-scale CVE-2026-31431 audit e remediation orchestrator per host Linux tramite SSH, con verifica rigorosa delle host key e reporting multi-formato.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
54 mesi faNon ancora revisionato
Condividi

Strumento di Audit e Remediation per CVE-2026-31431

中文说明

Questo progetto è un orchestratore su scala flotta per l'audit e la remediation di CVE-2026-31431 su host Linux in reti aziendali/interne.

  • Accesso SSH batch a più host
  • Raccolta di prove di rischio e classificazione dello stato
  • Mitigazione temporanea (disabilitazione algif_aead)
  • Workflow di patch/aggiornamento del kernel specifico per distribuzione
  • Report in JSON / CSV / Markdown

1. Requisiti

  • Python: >=3.13
  • Gestore pacchetti: uv
  • Rete: il runner deve raggiungere gli host target via SSH

2. Avvio Rapido

2.1 Installare le dipendenze

root@kitploit:~
uv sync

Il mirror Tsinghua è configurato in pyproject.toml:

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

2.2 Preparare la configurazione degli asset

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

Poi aggiorna fleet.env con i tuoi host e le tue credenziali reali.

2.3 Esecuzione

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

3. Struttura del Progetto

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. Riferimento Configurazione fleet.env

Il formato è CHIAVE=VALORE. Le righe vuote e i commenti # vengono ignorati.

4.1 Chiavi globali

MODE

  • Modalità di esecuzione.
  • Valori:
    • audit: solo rilevamento, nessuna remediation.
    • fix: rilevamento ed esecuzione del flusso di remediation.
  • Predefinito: audit

AUTO_REBOOT

  • Se riavviare automaticamente l'host dopo una remediation riuscita.
  • Valori: 0 o 1
  • Predefinito: 0
  • Efficace solo quando MODE=fix.

SSH_TIMEOUT

  • Timeout di connessione/autenticazione SSH (secondi).
  • Tipo: intero
  • Predefinito: 12

MAX_WORKERS

  • Dimensione della concorrenza della flotta (worker del thread pool).
  • Tipo: intero
  • Predefinito: 8

REPORT_DIR

  • Directory di output per i report generati.
  • Tipo: percorso relativo o assoluto
  • Predefinito: ./reports

PROGRESS_HEARTBEAT_SECONDS

  • Intervallo del heartbeat per i log di avanzamento in tempo reale.
  • Tipo: intero (secondi)
  • Predefinito: 5

DEVICE_MAX_DURATION_SECONDS

  • Tempo massimo totale di esecuzione per dispositivo prima degli avvisi di timeout/stallo.
  • Tipo: intero (secondi)
  • Predefinito: 1800

PROGRESS_LOG_TO_FILE

  • Se salvare i log di avanzamento in REPORT_DIR.
  • Valori: 0 o 1
  • Predefinito: 1

FLEET_COUNT

  • Numero di slot dispositivo. Il loader analizza 1..FLEET_COUNT.
  • Tipo: intero
  • Se DEVICE_n_HOST è vuoto, quello slot viene saltato.

4.2 Chiavi per dispositivo

Ogni host usa il prefisso DEVICE_{n}_, come DEVICE_1_*, DEVICE_2_*.

DEVICE_n_NAME

  • Nome visualizzato nei report.
  • Opzionale. Se vuoto, fallback automatico a device_n.

DEVICE_n_HOST

  • IP dell'host target o nome DNS.
  • Obbligatorio per quello slot.

DEVICE_n_PORT

  • Porta SSH.
  • Predefinito: 22

DEVICE_n_USER

  • Nome utente SSH.
  • Predefinito: root

DEVICE_n_PASSWORD

  • Autenticazione con password SSH.
  • Da usare con o al posto di DEVICE_n_KEY.
  • Lo script usa solo le credenziali esplicitamente impostate in fleet.env.

DEVICE_n_KEY

  • Percorso della chiave privata SSH.
  • Esempio: ./keys/node-1_ed25519
  • Se sia DEVICE_n_PASSWORD che DEVICE_n_KEY sono vuoti, la connessione fallisce rapidamente.

DEVICE_n_SUDO_PASSWORD

  • Password sudo per utenti non root.
  • Usata per i comandi di remediation.

4.3 Esempio completo

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. Modalità di Esecuzione

5.1 Modalità audit (primo passaggio consigliato)

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

Comportamento:

  • Connessione agli host
  • Raccolta di indizi su kernel/modulo/patch
  • Classificazione dello stato di rischio
  • Generazione dei report

5.2 Modalità fix

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

Comportamento:

  • Applica prima la mitigazione temporanea:
    • scrive /etc/modprobe.d/disable-cve-2026-31431-algif-aead.conf
    • tenta di scaricare algif_aead
  • Esegue l'aggiornamento del kernel specifico per distribuzione
  • Riavvio opzionale in base a AUTO_REBOOT

6. Definizioni degli Stati

SAFE

  • Indizi di patch trovati e algif_aead non è caricato.

MITIGATED

  • Indizi di mitigazione trovati mentre gli indizi di patch sono ancora poco chiari.

NEEDS_PATCH

  • algif_aead è disponibile/caricato e gli indizi di patch mancano.

UNKNOWN

  • Prove insufficienti per classificare.

FAILED

  • Accesso SSH/esecuzione comandi fallita.

7. Output dei Report

Ogni esecuzione genera 3 file in REPORT_DIR:

  • cve_2026_31431_<timestamp>.json
  • cve_2026_31431_<timestamp>.csv
  • cve_2026_31431_<timestamp>.md
  • progress_<timestamp>.log (log di avanzamento in tempo reale e heartbeat)

Campi principali:

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

8. Note di Sicurezza

  • Non committare fleet.env o chiavi private.
  • Usa account operativi con privilegi minimi quando possibile.
  • Fai snapshot/backup prima della remediation in produzione.
  • Rollout consigliato: audit -> fix -> ri-audit.

9. Risoluzione dei Problemi

ModuleNotFoundError: No module named 'paramiko'

  • Esegui uv sync.

Molti host sono FAILED

  • Controlla connettività, credenziali SSH, permessi sudo e stato delle chiavi host.

BadHostKeyException

  • L'impronta dell'host è in conflitto con il record corrente in known_hosts.
  • Questo non è un fallback di autenticazione con chiave di sistema; l'autenticazione usa comunque solo le credenziali di fleet.env.
  • Verifica l'identità dell'host fuori banda, poi aggiorna known_hosts:
    • ssh-keygen -R <host>
    • ssh-keyscan -H <host> >> $env:USERPROFILE\.ssh\known_hosts

Server ... not found in known_hosts

  • La modalità rigorosa per le chiavi host è attiva e l'impronta dell'host manca.
  • Aggiungi la chiave host a known_hosts, poi riesegui.

Kernel aggiornato ma lo stato è ancora a rischio

  • Potrebbe essere necessario un riavvio per avviarsi con il kernel patchato.
Scarica lo strumento