
Rilevamento e ripristino delle catture PNG dello Strumento di cattura di Windows vulnerabili a CVE-2023-28303
Rilevamento e ripristino delle acquisizioni PNG di Windows Snipping Tool vulnerabili a CVE-2023-28303
SnipRecover CLI è un'utilità da riga di comando minimalista e senza dipendenze, progettata per:
Rileva i file PNG modificati dalla vulnerabilità di Windows Snipping Tool (CVE‑2023‑28303).
Ripristina l'immagine originale recuperando i dati compressi aggiunti dopo il chunk IEND.
Per impostazione predefinita, le immagini ripristinate usano RGBA e una risoluzione di 1920×1080; se non viene specificato un percorso di output, lo strumento scrive in restored-<original_name>.png.
Secondo la specifica PNG (ISO/IEC 15948), tutti i dati dell'immagine (chunk IDAT) devono trovarsi prima del chunk finale IEND. Windows Snipping Tool aggiunge erroneamente altri dati IDAT dopo IEND, violando lo standard ed esponendo il contenuto completo dell'immagine che era stato “ritagliato”.
Struttura standard di un PNG:
Firma (8 byte): 89 50 4E 47 0D 0A 1A 0A
Chunk:
IHDR: intestazione dell'immagine (larghezza, altezza, tipo di colore, ecc.)
IDAT: dati dei pixel compressi
IEND: indicatore di fine file
Un PNG ritagliato con Snipping Tool contiene byte extra oltre IEND. SnipRecover CLI rileva questa anomalia e ricostruisce il flusso di compressione per recuperare l'immagine originale.
Prerequisiti:
Passaggi:
git clone https://github.com/m31r0n/SnipRecover-CLI.git
cd SnipRecover-CLI
chmod +x sniprecover
Non sono necessarie librerie esterne: bastano i moduli standard di Python _struct_, _zlib_ e _io_.
# Display help
python3 sniprecover --help
# 1. Detect vulnerable PNG(s)
python3 sniprecover detect /path/to/images/
# 2. Restore a cropped capture
python3 sniprecover restore capture.png --output restored-capture.png
Nota: Se ometti
--width,--heighto--alpha, vengono applicati i valori predefiniti 1920×1080 e RGBA. Se ometti--output, le immagini ripristinate vengono salvate comerestored-<original_name>.png.
SnipRecover-CLI/
├── sniprecover # Main CLI executable (make sure it's executable)
└── README.md # Documentation and theory
CVE‑2023‑28303: vulnerabilità di Windows Snipping Tool – Microsoft Security Response Center
Specifica PNG (ISO/IEC 15948) – W3C
MIT © 2025 – Sviluppato da m31r0n
| Opzione | Descrizione | Predefinito |
|---|
--width <int> | Larghezza immagine originale | 1920 |
--height <int> | Altezza immagine originale | 1080 |
--alpha | Includi canale alfa (RGBA) | abilitato |
--output <file> | Percorso in cui salvare il PNG ripristinato | restored-<original_name>.png |