Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2026-31431-fleet-remediator — Fleet-scale CVE-2026-31431 audit and remediation orchestrator for Linux hosts via SSH, with strict host-key verification and multi-format reporting. | Kitploit
Herramientas/GitHubGitHub/wavesman/cve-2026-31431-fleet-remediator
Seguridad de Infraestructura en la NubeEscáneres de VulnerabilidadesAuditoría de ConfiguraciónDevSecOps
GitHubwavesman/cve-2026-31431-fleet-remediator

cve-2026-31431-fleet-remediator

Fleet-scale CVE-2026-31431 audit and remediation orchestrator for Linux hosts via SSH, with strict host-key verification and multi-format reporting.

Ver Repositorio
5hace 4 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Herramienta de Auditoría y Remediación de Flota para CVE-2026-31431

中文说明

Este proyecto es un orquestador a escala de flota para auditar y remediar CVE-2026-31431 en hosts Linux en redes empresariales/internas.

  • Inicio de sesión SSH por lotes a múltiples hosts
  • Recopilación de evidencia de riesgo y clasificación de estado
  • Mitigación temporal (deshabilitar algif_aead)
  • Flujo de parcheo/actualización de kernel según la distribución
  • Informes en JSON / CSV / Markdown

1. Requisitos

  • Python: >=3.13
  • Gestor de paquetes: uv
  • Red: el ejecutor debe poder alcanzar los hosts de destino por SSH

2. Inicio Rápido

2.1 Instalar dependencias

root@kitploit:~
uv sync

El espejo de Tsinghua está configurado en pyproject.toml:

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

2.2 Preparar la configuración de activos

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

Luego actualiza fleet.env con tus hosts y credenciales reales.

2.3 Ejecutar

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

3. Estructura del Proyecto

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. Referencia de Configuración de fleet.env

El formato es CLAVE=VALOR. Las líneas vacías y los comentarios con # se ignoran.

4.1 Claves globales

MODE

  • Modo de ejecución.
  • Valores:
    • audit: solo detección, sin remediación.
    • fix: detección y ejecución del flujo de remediación.
  • Predeterminado: audit

AUTO_REBOOT

  • Si se debe reiniciar el host automáticamente después de una remediación exitosa.
  • Valores: 0 o 1
  • Predeterminado: 0
  • Solo tiene efecto cuando MODE=fix.

SSH_TIMEOUT

  • Tiempo de espera de conexión/autenticación SSH (segundos).
  • Tipo: entero
  • Predeterminado: 12

MAX_WORKERS

  • Tamaño de concurrencia de la flota (trabajadores del grupo de hilos).
  • Tipo: entero
  • Predeterminado: 8

REPORT_DIR

  • Directorio de salida para los informes generados.
  • Tipo: ruta relativa o absoluta
  • Predeterminado: ./reports

PROGRESS_HEARTBEAT_SECONDS

  • Intervalo de latido para registros de progreso en tiempo real.
  • Tipo: entero (segundos)
  • Predeterminado: 5

DEVICE_MAX_DURATION_SECONDS

  • Tiempo máximo total de ejecución por dispositivo antes de advertencias de tiempo de espera/estancamiento.
  • Tipo: entero (segundos)
  • Predeterminado: 1800

PROGRESS_LOG_TO_FILE

  • Si se deben persistir los registros de progreso en REPORT_DIR.
  • Valores: 0 o 1
  • Predeterminado: 1

FLEET_COUNT

  • Cantidad de ranuras de dispositivos. El cargador analiza 1..FLEET_COUNT.
  • Tipo: entero
  • Si DEVICE_n_HOST está vacío, esa ranura se omite.

4.2 Claves por dispositivo

Cada host usa el prefijo DEVICE_{n}_, como DEVICE_1_*, DEVICE_2_*.

DEVICE_n_NAME

  • Nombre para mostrar en los informes.
  • Opcional. Si está vacío, se usa automáticamente device_n.

DEVICE_n_HOST

  • IP del host de destino o nombre DNS.
  • Requerido para esa ranura.

DEVICE_n_PORT

  • Puerto SSH.
  • Predeterminado: 22

DEVICE_n_USER

  • Usuario SSH.
  • Predeterminado: root

DEVICE_n_PASSWORD

  • Autenticación por contraseña SSH.
  • Usar junto con o en lugar de DEVICE_n_KEY.
  • El script solo usa credenciales establecidas explícitamente en fleet.env.

DEVICE_n_KEY

  • Ruta de la clave privada SSH.
  • Ejemplo: ./keys/node-1_ed25519
  • Si tanto DEVICE_n_PASSWORD como DEVICE_n_KEY están vacíos, la conexión falla rápidamente.

DEVICE_n_SUDO_PASSWORD

  • Contraseña de sudo para usuarios no root.
  • Se usa para comandos de remediación.

4.3 Ejemplo 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. Modos de Ejecución

5.1 Modo auditoría (primera pasada recomendada)

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

Comportamiento:

  • Conectarse a los hosts
  • Recopilar pistas de kernel/módulo/parche
  • Clasificar el estado de riesgo
  • Generar informes

5.2 Modo corrección

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

Comportamiento:

  • Aplicar primero la mitigación temporal:
    • escribir /etc/modprobe.d/disable-cve-2026-31431-algif-aead.conf
    • intentar descargar algif_aead
  • Ejecutar la actualización de kernel específica de la distribución
  • Reinicio opcional según AUTO_REBOOT

6. Definiciones de Estado

SAFE

  • Se encontraron pistas de parche y algif_aead no está cargado.

MITIGATED

  • Se encontraron pistas de mitigación mientras las pistas de parche siguen sin estar claras.

NEEDS_PATCH

  • algif_aead está disponible/cargado y faltan pistas de parche.

UNKNOWN

  • No hay suficiente evidencia para clasificar.

FAILED

  • Falló el inicio de sesión SSH o la ejecución de comandos.

7. Salidas de Informes

Cada ejecución genera 3 archivos en REPORT_DIR:

  • cve_2026_31431_<timestamp>.json
  • cve_2026_31431_<timestamp>.csv
  • cve_2026_31431_<timestamp>.md
  • progress_<timestamp>.log (registros de progreso y latido en tiempo real)

Campos principales:

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

8. Notas de Seguridad

  • No confirmes fleet.env ni claves privadas.
  • Usa cuentas operativas con privilegios mínimos cuando sea posible.
  • Toma instantáneas/copias de seguridad antes de la remediación en producción.
  • Despliegue recomendado: audit -> fix -> re-auditoría.

9. Solución de Problemas

ModuleNotFoundError: No module named 'paramiko'

  • Ejecuta uv sync.

Muchos hosts están en FAILED

  • Verifica conectividad, credenciales SSH, permisos de sudo y estado de la clave del host.

BadHostKeyException

  • La huella digital del host entra en conflicto con el registro actual de known_hosts.
  • Esto no es una alternativa de autenticación por clave del sistema; la autenticación sigue usando solo las credenciales de fleet.env.
  • Verifica la identidad del host fuera de banda y luego actualiza known_hosts:
    • ssh-keygen -R <host>
    • ssh-keyscan -H <host> >> $env:USERPROFILE\.ssh\known_hosts

Server ... not found in known_hosts

  • El modo estricto de clave de host está habilitado y falta la huella digital del host.
  • Agrega la clave del host a known_hosts y vuelve a ejecutar.

El kernel se actualizó pero el estado sigue siendo riesgoso

  • Puede ser necesario reiniciar para arrancar con el kernel parcheado.
Descargar herramienta