Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
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
Ferramentas/GitHubGitHub/wavesman/cve-2026-31431-fleet-remediator
Segurança de Infraestrutura em NuvemScanners de VulnerabilidadesAuditoria de ConfiguraçãoDevSecOps
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 Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
há 3 mesesAinda não revisado
Compartilhar

Ferramenta de Auditoria e Remediação de Frota CVE-2026-31431

中文说明

Este projeto é um orquestrador em escala de frota para auditar e remediar CVE-2026-31431 em hosts Linux em redes corporativas/internas.

  • Login SSH em lote para múltiplos hosts
  • Coleta de evidências de risco e classificação de status
  • Mitigação temporária (desativação de algif_aead)
  • Fluxo de trabalho de patch/atualização de kernel ciente da distribuição
  • Relatórios em JSON / CSV / Markdown

1. Requisitos

  • Python: >=3.13
  • Gerenciador de pacotes: uv
  • Rede: o executor deve alcançar os hosts de destino via SSH

2. Início Rápido

2.1 Instalar dependências

root@kitploit:~
uv sync

O espelho Tsinghua está configurado em pyproject.toml:

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

2.2 Preparar configuração de ativos

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

Em seguida, atualize fleet.env com seus hosts e credenciais reais.

2.3 Executar

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

3. Estrutura do Projeto

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. Referência de Configuração do fleet.env

O formato é CHAVE=VALOR. Linhas vazias e comentários com # são ignorados.

4.1 Chaves globais

MODE

  • Modo de execução.
  • Valores:
    • audit: apenas detecção, sem remediação.
    • fix: detecção e execução do fluxo de remediação.
  • Padrão: audit

AUTO_REBOOT

  • Se deve reiniciar o host automaticamente após remediação bem-sucedida.
  • Valores: 0 ou 1
  • Padrão: 0
  • Efetivo apenas quando MODE=fix.

SSH_TIMEOUT

  • Tempo limite de conexão/autenticação SSH (segundos).
  • Tipo: inteiro
  • Padrão: 12

MAX_WORKERS

  • Tamanho de concorrência da frota (workers do pool de threads).
  • Tipo: inteiro
  • Padrão: 8

REPORT_DIR

  • Diretório de saída para os relatórios gerados.
  • Tipo: caminho relativo ou absoluto
  • Padrão: ./reports

PROGRESS_HEARTBEAT_SECONDS

  • Intervalo de heartbeat para logs de progresso em tempo real.
  • Tipo: inteiro (segundos)
  • Padrão: 5

DEVICE_MAX_DURATION_SECONDS

  • Tempo máximo total de execução por dispositivo antes de avisos de timeout/stall.
  • Tipo: inteiro (segundos)
  • Padrão: 1800

PROGRESS_LOG_TO_FILE

  • Se deve persistir logs de progresso em REPORT_DIR.
  • Valores: 0 ou 1
  • Padrão: 1

FLEET_COUNT

  • Contagem de slots de dispositivos. O carregador analisa 1..FLEET_COUNT.
  • Tipo: inteiro
  • Se DEVICE_n_HOST estiver vazio, esse slot é ignorado.

4.2 Chaves por dispositivo

Cada host usa o prefixo DEVICE_{n}_, como DEVICE_1_*, DEVICE_2_*.

DEVICE_n_NAME

  • Nome de exibição nos relatórios.
  • Opcional. Se vazio, usa automaticamente device_n.

DEVICE_n_HOST

  • IP do host de destino ou nome DNS.
  • Obrigatório para esse slot.

DEVICE_n_PORT

  • Porta SSH.
  • Padrão: 22

DEVICE_n_USER

  • Usuário SSH.
  • Padrão: root

DEVICE_n_PASSWORD

  • Autenticação por senha SSH.
  • Use com ou em vez de DEVICE_n_KEY.
  • O script usa apenas credenciais explicitamente definidas em fleet.env.

DEVICE_n_KEY

  • Caminho da chave privada SSH.
  • Exemplo: ./keys/node-1_ed25519
  • Se tanto DEVICE_n_PASSWORD quanto DEVICE_n_KEY estiverem vazios, a conexão falha rapidamente.

DEVICE_n_SUDO_PASSWORD

  • Senha sudo para usuários não-root.
  • Usada para comandos de remediação.

4.3 Exemplo 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

# =========================
# Dispositivo 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=

# =========================
# Dispositivo 2
# =========================
DEVICE_2_NAME=web-1
DEVICE_2_HOST=192.168.1.20
DEVICE_2_PORT=22
DEVICE_2_USER=admin
DEVICE_2_PASSWORD=sua_senha_ssh
DEVICE_2_KEY=
DEVICE_2_SUDO_PASSWORD=sua_senha_sudo

# =========================
# Dispositivo 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 Execução

5.1 Modo de auditoria (recomendado como primeira passagem)

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

Comportamento:

  • Conectar aos hosts
  • Coletar dicas de kernel/módulo/patch
  • Classificar status de risco
  • Gerar relatórios

5.2 Modo de correção

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

Comportamento:

  • Aplicar mitigação temporária primeiro:
    • escrever /etc/modprobe.d/disable-cve-2026-31431-algif-aead.conf
    • tentar descarregar algif_aead
  • Executar atualização de kernel específica da distribuição
  • Reinicialização opcional com base em AUTO_REBOOT

6. Definições de Status

SAFE

  • Dicas de patch encontradas e algif_aead não está carregado.

MITIGATED

  • Dicas de mitigação encontradas enquanto as dicas de patch ainda não estão claras.

NEEDS_PATCH

  • algif_aead está disponível/carregado e as dicas de patch estão ausentes.

UNKNOWN

  • Evidências insuficientes para classificar.

FAILED

  • Falha no login SSH/execução de comando.

7. Saídas de Relatório

Cada execução gera 3 arquivos em REPORT_DIR:

  • cve_2026_31431_<timestamp>.json
  • cve_2026_31431_<timestamp>.csv
  • cve_2026_31431_<timestamp>.md
  • progress_<timestamp>.log (logs de progresso e heartbeat em tempo real)

Campos principais:

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

8. Notas de Segurança

  • Não faça commit de fleet.env ou chaves privadas.
  • Use contas operacionais com privilégios mínimos quando possível.
  • Tire snapshots/backups antes da remediação em produção.
  • Rollout recomendado: audit -> fix -> re-auditoria.

9. Solução de Problemas

ModuleNotFoundError: No module named 'paramiko'

  • Execute uv sync.

Muitos hosts estão FAILED

  • Verifique conectividade, credenciais SSH, permissão sudo e estado da chave do host.

BadHostKeyException

  • A impressão digital do host entra em conflito com o registro atual de known_hosts.
  • Isso não é fallback de autenticação por chave do sistema; a autenticação ainda usa apenas credenciais de fleet.env.
  • Verifique a identidade do host fora de banda e atualize known_hosts:
    • ssh-keygen -R <host>
    • ssh-keyscan -H <host> >> $env:USERPROFILE\.ssh\known_hosts

Server ... not found in known_hosts

  • O modo estrito de chave de host está habilitado e a impressão digital do host está ausente.
  • Adicione a chave do host a known_hosts e execute novamente.

Kernel atualizado, mas o status ainda é arriscado

  • Pode ser necessário reiniciar para inicializar com o kernel corrigido.
Baixar ferramenta