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
psa-2026-00043-recovery — Notas de recuperação para o ID de aviso do proxmox: PSA-2026-00043-1 (CVE-2023-54391) | Kitploit
Ferramentas/GitHubGitHub/disqualifier/psa-2026-00043-recovery
Segurança de Infraestrutura em NuvemAnálise de VulnerabilidadesAnálise ForenseRecuperação de DadosForensia DigitalResposta a Incidentes
GitHubdisqualifier/psa-2026-00043-recovery

psa-2026-00043-recovery

Notas de recuperação para o ID de aviso do proxmox: PSA-2026-00043-1 (CVE-2023-54391)

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 →
Ver Repositório
há 1 diaAinda não revisado
Compartilhar

psa-2026-00043-recovery

Recuperação de um wiper que se apresentava como ransomware, após um ataque contra infraestrutura Proxmox exposta à internet (PSA-2026-00043-1 / CVE-2023-54391).

O atacante apagou os convidados e deixou os sistemas de arquivos danificados. Duas trilhas de recuperação, dependendo do que era o convidado:

  • convidado de banco de dados — extrair documentos BSON de páginas WiredTiger brutas
  • host de aplicação — extrair arquivos (nginx, unidades systemd, env, raízes de aplicativos) do sistema de arquivos danificado

Estas são as ferramentas e a metodologia, generalizadas para que sejam úteis a qualquer pessoa na mesma situação. Somente leitura sobre a fonte, CC0. Nenhum dado real recuperado está incluído; a saída de exemplo usa espaços reservados.


Primeira hora

O disco danificado agora é sua única cópia do que resta. Não o conserte. Faça uma imagem dele.

root@kitploit:~
blockdev --setro /dev/<fonte>                                    # 1. somente leitura, imediatamente
dd if=/dev/<fonte> of=/seguro/disk.img bs=4M conv=noerror,sync   # 2. imagem para armazenamento seguro
# 3. NÃO execute fsck, monte rw ou "repare"; isso sobrescreve blocos que um carver precisa
# 4. envolva cada passagem de fonte em scripts/source_guard.sh
# 5. recupere apenas da imagem, nunca do original

Os scripts

Disciplina compartilhada, carvers divididos. Execute qualquer um com -h. Python 3.8+ / bash, sem pacotes de terceiros. source_guard.sh precisa de Linux /proc/diskstats.

scripttrilhao que faz
scripts/source_guard.shcompartilhadaEnvolve um comando de recuperação; prova que a fonte permaneceu somente leitura via um diff de contador de escrita. Falha em qualquer escrita na fonte.
scripts/wt_leaf_carve.pybanco de dadosExtrai BSON de páginas folha WiredTiger brutas. Tamanho de página por decodificação, não ajuste; controle positivo obrigatório.
scripts/bson_frame.pybanco de dadosConta/valida documentos BSON por enquadramento em disco. Arquivo inteiro por padrão; uma amostra é sinalizada como um PISO.
scripts/fs_carve_classify.pysistema de arquivosClassifica fragmentos de arquivos extraídos por conteúdo, não nome de arquivo; escreve um manifesto por arquivo; varredura exaustiva de segredos.
scripts/sensitivity_scan.pycompartilhadaClassifica dados recuperados em VERMELHO/ÂMBAR/VERDE para exposição de credenciais/PII. Imprime contagens, nunca valores.
scripts/integrity_verify.pycompartilhadaProva que uma cópia reorganizada é fiel à fonte. Chaveada por conteúdo (sobrevive a renomeações); lê colunas OK/FALHOU, não códigos de saída.
scripts/make_demo.py—Gera fixtures BSON sintéticas (sem dados reais) para exercitar o kit de ferramentas.

Experimente

root@kitploit:~
python3 scripts/make_demo.py
python3 scripts/bson_frame.py --total demo/*.bson
python3 scripts/sensitivity_scan.py demo/*.bson
python3 scripts/integrity_verify.py --compare demo/source demo/copy

Metodologia

Executada nesta ordem. A etapa de extração ramifica por convidado; os limites setro/imagem e a verificação chaveada por conteúdo são os mesmos em ambos os casos.

root@kitploit:~
disco danificado ──setro+imagem──► imagem somente leitura
                                    │
                banco de dados ─────►│◄────────── sistema de arquivos
          extrair páginas WT        │            extrair arquivos
          contar documentos         │            classificar por conteúdo + manifesto
                                    │
                          classificar exposição (VERMELHO/ÂMBAR/VERDE)
                          verificar cópia (chaveada por conteúdo)
                                    │
                                 recuperar

Modos de Falha

  1. Zero é ambíguo: região vazia vs decodificador cego ambos retornam nada. Faça controle positivo de cada zero contra uma página que você já possui.
  2. Escolha o tamanho de página pela primeira decodificação bem-sucedida, não pelo primeiro ajuste. Ajuste sempre escolhe 4096 e descarta páginas de múltiplos blocos.
  3. Uma contagem amostrada é um piso, não um total. Leia o bin inteiro.
  4. Nomes sinalizam demais (dados usados como chaves de mapa), valores sinalizam de menos (segredos formatados por humanos). Exija ambos mais contexto.
  5. Conte campos populados, não ocorrências. Campos com muitos nulos inflam o número.
  6. Verifique por hash de conteúdo, não nome de arquivo; uma recuperação renomeia tudo.
  7. find | sort | xargs sha256sum | sha256sum também faz hash de caminhos e locale. Use LC_ALL=C, ou um manifesto por arquivo.
  8. sha256sum -c sai com 0 enquanto imprime FALHOU. Leia as colunas, não $?.
  9. Um relatório de localização de credenciais não deve conter valores de credenciais. Imprima apenas formas e contagens.
  10. Uma verificação só é verdadeira quando foi executada. Carimbe cada leitura; re-verifique o estado atual.

Notas

Pontos de partida, não soluções prontas. WiredTiger de produção usa compressão de página (snappy/zstd) e codificação de células que o carver genérico deixa como stub. Implemente seu próprio decodificador robusto para páginas comprimidas. Cruze cada número com um controle positivo e um segundo instrumento diferente: duas ferramentas que compartilham uma suposição concordam por causa da suposição, não porque está correto; ler os bytes é o que detecta isso.

Se seus dados não são os mesmos (banco de dados, aplicativo ou sistema de arquivos diferente), a metodologia ainda se aplica: coloque a fonte em somente leitura, faça a imagem, extraia da cópia, faça controle positivo antes de acreditar em um zero, conte tudo, verifique por conteúdo. Troque o carver; mantenha a disciplina.

Endureça a causa raiz: a interface web do Proxmox em :8006 não deve ser alcançável a partir da internet. Siga os avisos de segurança oficiais do Proxmox: https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/

Um relato mais amigável com os conselhos gerais do autor sobre recuperação e endurecimento: https://claude.ai/code/artifact/621495ce-4972-405a-ad90-f7703f7dc2f1

CC0 / domínio público. Veja LICENSE.

Baixar ferramenta