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
psa-2026-00043-recovery — Note di ripristino per l'advisory Proxmox ID: PSA-2026-00043-1 (CVE-2023-54391) | Kitploit
Strumenti/GitHubGitHub/disqualifier/psa-2026-00043-recovery
Sicurezza dell'Infrastruttura CloudAnalisi delle VulnerabilitàInformatica ForenseRecupero DatiDigital ForensicsRisposta agli Incidenti
GitHubdisqualifier/psa-2026-00043-recovery

psa-2026-00043-recovery

Note di ripristino per l'advisory Proxmox ID: PSA-2026-00043-1 (CVE-2023-54391)

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 →
Vedi Repository
1 giorno faNon ancora revisionato
Condividi

psa-2026-00043-recovery

Recupero da un wiper presentato come ransomware, dopo un attacco contro infrastruttura Proxmox esposta a internet (PSA-2026-00043-1 / CVE-2023-54391).

L'attaccante ha cancellato le guest e lasciato i filesystem danneggiati. Due percorsi di recupero a seconda del tipo di guest:

  • guest database — estrazione di documenti BSON da pagine WiredTiger grezze
  • host applicativo — estrazione di file (nginx, unit systemd, env, root applicative) dal filesystem danneggiato

Questi sono gli strumenti e la metodologia, generalizzati per essere utili a chiunque si trovi nella stessa situazione. Sola lettura sulla sorgente, CC0. Nessun dato reale recuperato è incluso; l'output di esempio usa segnaposto.


Prima ora

Il disco danneggiato è ora la tua unica copia di ciò che resta. Non ripararlo. Creane un'immagine.

root@kitploit:~
blockdev --setro /dev/<source>                                    # 1. sola lettura, immediatamente
dd if=/dev/<source> of=/safe/disk.img bs=4M conv=noerror,sync     # 2. immagine su storage sicuro
# 3. NON eseguire fsck, montare in rw o "riparare"; ciò sovrascrive blocchi necessari a un carver
# 4. avvolgi ogni passaggio sulla sorgente in scripts/source_guard.sh
# 5. recupera solo dall'immagine, mai dall'originale

Gli script

Disciplina condivisa, carver separati. Esegui qualsiasi con -h. Python 3.8+ / bash, nessun pacchetto di terze parti. source_guard.sh richiede Linux /proc/diskstats.

scriptpercorsocosa fa
scripts/source_guard.shcondivisoAvvolge un comando di recupero; dimostra che la sorgente è rimasta in sola lettura tramite un diff del contatore di scritture. Fallisce su qualsiasi scrittura sulla sorgente.
scripts/wt_leaf_carve.pydatabaseEstrae BSON da pagine leaf WiredTiger grezze. Dimensione pagina tramite decodifica, non adattamento; controllo positivo obbligatorio.
scripts/bson_frame.pydatabaseConta/valida documenti BSON tramite framing su disco. Intero file di default; un campione è segnalato come FLOOR.
scripts/fs_carve_classify.pyfilesystemClassifica frammenti di file estratti tramite contenuto, non nome file; scrive un manifest per file; scansione esaustiva dei segreti.
scripts/sensitivity_scan.pycondivisoClassifica i dati recuperati in livelli RED/AMBER/GREEN per esposizione di credenziali/PII. Stampa i conteggi, mai i valori.
scripts/integrity_verify.pycondivisoDimostra che una copia riorganizzata è fedele alla sorgente. Basato sul contenuto (sopravvive ai rinomina); legge le colonne OK/FAILED, non i codici di uscita.
scripts/make_demo.py—Genera fixture BSON sintetiche (nessun dato reale) per testare il toolkit.

Provalo

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

Eseguita in questo ordine. Il passaggio di estrazione si dirama in base alla guest; i bookend setro/immagine e la verifica basata sul contenuto sono gli stessi in entrambi i casi.

root@kitploit:~
disco danneggiato ──setro+immagine──► immagine in sola lettura
                                    │
                database ──────────►│◄────────── filesystem
          estrai pagine WT          │            estrai file
          conta documenti           │            classifica per contenuto + manifest
                                    │
                          classifica esposizione (RED/AMBER/GREEN)
                          verifica copia (basata sul contenuto)
                                    │
                                 recupero

Modalità di errore

  1. Zero è ambiguo: regione vuota vs decoder cieco restituiscono entrambi nulla. Controllo positivo di ogni zero contro una pagina che già possiedi.
  2. Scegli la dimensione pagina tramite la prima decodifica riuscita, non il primo adattamento. L'adattamento sceglie sempre 4096 e scarta pagine multi-blocco.
  3. Un conteggio campionato è un minimo, non un totale. Leggi l'intero bin.
  4. I nomi sovra-segnalano (dati usati come chiavi di mappa), i valori sotto-segnalano (segreti formattati per umani). Richiedi entrambi più contesto.
  5. Conta i campi popolati, non le occorrenze. Campi con molti null gonfiano il numero.
  6. Verifica tramite hash del contenuto, non nome file; un recupero rinomina tutto.
  7. find | sort | xargs sha256sum | sha256sum esegue l'hash anche di percorsi e locale. Usa LC_ALL=C, o un manifest per file.
  8. sha256sum -c esce con 0 mentre stampa FAILED. Leggi le colonne, non $?.
  9. Un report di localizzazione credenziali non deve contenere valori di credenziali. Stampa solo forme e conteggi.
  10. Una verifica è vera solo quando è stata eseguita. Timbra ogni lettura; ricontrolla lo stato corrente.

Note

Punti di partenza, non soluzioni chiavi in mano. WiredTiger in produzione usa compressione delle pagine (snappy/zstd) e codifica delle celle che il carver generico lascia non implementate. Implementa il tuo decoder robusto per pagine compresse. Incrocia ogni numero con un controllo positivo e un secondo strumento, diverso: due strumenti che condividono un presupposto concordano per il presupposto, non perché è corretto; leggere i byte è ciò che lo rileva.

Se i tuoi dati non sono gli stessi (database, applicazione o filesystem diversi), la metodologia regge comunque: imposta la sorgente in sola lettura, crea un'immagine, estrai dalla copia, controllo positivo prima di credere a uno zero, conta l'intero contenuto, verifica tramite contenuto. Sostituisci il carver; mantieni la disciplina.

Rafforza la causa principale: l'interfaccia web Proxmox su :8006 non dovrebbe essere raggiungibile da internet. Segui gli advisory di sicurezza ufficiali Proxmox: https://forum.proxmox.com/threads/proxmox-virtual-environment-security-advisories.149331/

Un resoconto più user-friendly con i consigli generali dell'autore su recupero e rafforzamento: https://claude.ai/code/artifact/621495ce-4972-405a-ad90-f7703f7dc2f1

CC0 / pubblico dominio. Vedi LICENSE.

Scarica lo strumento