Skip to content

AML-COL/SecureShred

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SecureShred

Windows file shredder con análisis forense — borrado permanente e irrecuperable.

La papelera normal no borra nada: solo marca el espacio como disponible. SecureShred sobreescribe los bytes reales en disco, verifica la entropía post-borrado, y muestra exactamente qué rastros forenses quedan en el sistema (shadow copies, USN Journal, ADS ocultos, metadatos).

Descarga el .exe en Releases — sin instalador, sin dependencias.


Características

Módulo Qué hace
Shred (3 algoritmos) Aleatorio · DoD 5220.22-M (3 pasadas) · Gutmann (35 pasadas)
Mapa de sectores Muestra LCN/LBA exactos del archivo antes de borrar (FSCTL_GET_RETRIEVAL_POINTERS)
Verificación de entropía Mide la entropía Shannon tras el borrado — ≥7.95 bits/byte = irrecuperable
Shadow Copy Detector Lista y elimina las copias de sombra VSS que hacen recuperable cualquier archivo
Wipe Free Space Sobreescribe el espacio libre en disco para borrar archivos ya eliminados
Forensic Traces Cleaner Limpia Recientes, Jump Lists, Thumbnail Cache y Prefetch de Windows
ADS Scanner Detecta y elimina Alternate Data Streams NTFS ocultos (FindFirstStreamW API)
MFT / USN Journal Scanner Lee el journal de cambios de NTFS y lista archivos recientemente eliminados
File Anonymizer Crea copias sin metadatos, sin ADS, con nombre aleatorio y timestamps normalizados
Metadata Inspector Inspecciona EXIF (JPEG/PNG), propiedades Office (DOCX/XLSX/PPTX) y PDF
Context menu Instalación en menú contextual de Windows (clic derecho → "Shred with SecureShred")
Drag & drop Arrastra cualquier archivo directamente a la ventana
Audit log JSON con timestamp, tamaño, sectores y resultado de cada operación
EXE standalone Un solo archivo, sin instalador ni dependencias, con solicitud de elevación UAC

Capturas

Añadir tras primera release


Algoritmos de borrado

1 pasada — Random

Sobreescribe con bytes aleatorios criptográficamente seguros (secrets.token_bytes). Suficiente para SSD modernos y la mayoría de casos.

DoD 5220.22-M — 3 pasadas (recomendado)

Estándar del Departamento de Defensa de EE. UU.:

  1. 0x00 — ceros
  2. 0xFF — unos
  3. RANDOM — aleatorio + verificación de entropía

Gutmann — 35 pasadas

Diseñado para discos magnéticos antiguos. 35 patrones específicos que cubren todas las posibles codificaciones de canal. El más lento pero máxima paranoia.


Cómo funciona — detalles técnicos

Mapa de sectores (LCN → LBA)

Antes de borrar, SecureShred llama a FSCTL_GET_RETRIEVAL_POINTERS (DeviceIoControl). Devuelve los Logical Cluster Numbers exactos que ocupa el archivo en NTFS, convertidos a Logical Block Addresses para mostrar la posición física:

documento.pdf  →  LCN 48302–48419  (118 clusters · 1.8 MB)
LBA 386416–387359  ·  Posición: 12.4% del disco

Verificación de entropía Shannon

Después de cada borrado se mide la entropía del resultado:

H = -Σ p(x) · log₂ p(x)   [bits/byte, máximo teórico: 8.0]

Un archivo correctamente sobreescrito con datos aleatorios debe tener H ≥ 7.95. Cualquier resultado inferior indica un patrón recuperable.

Shadow Copies (VSS)

El mayor riesgo ignorado: Windows crea copias de sombra automáticamente. Aunque borres un archivo con 35 pasadas, la copia en VSS sigue siendo recuperable. SecureShred lista y elimina todas las shadow copies.

ADS (Alternate Data Streams)

NTFS permite adjuntar datos ocultos a cualquier archivo usando el formato archivo.txt:stream_oculto. Herramientas forenses los detectan fácilmente. SecureShred usa FindFirstStreamW/FindNextStreamW para encontrarlos y eliminarlos.

USN Journal

NTFS mantiene un log de todos los cambios del sistema de archivos. El nombre de un archivo borrado puede aparecer en el USN Journal días después de eliminado. SecureShred lee el journal directamente via FSCTL_READ_USN_JOURNAL y lista las eliminaciones recientes.


Instalación y uso

Opción A — EXE (recomendado, sin instalar nada)

  1. Descarga SecureShred.exe de Releases
  2. Ejecútalo — pedirá permisos de administrador (necesario para máxima efectividad)
  3. Arrastra archivos o usa el botón Añadir archivos → elige algoritmo → ELIMINAR DE FORMA SEGURA

Opción B — Desde código fuente

git clone https://github.com/AML-COL/SecureShred
cd SecureShred
python -m venv .venv
.\.venv\Scripts\pip install -r requirements.txt
python main.py

Compilar el EXE

.\build.bat
# → dist\SecureShred.exe  (~25 MB, standalone)

Estructura del proyecto

SecureShred/
├── main.py
├── assets/
│   └── icon.ico
├── src/
│   ├── core/
│   │   ├── shredder.py      # Algoritmos DoD/Gutmann + motor de eliminación
│   │   ├── disk_map.py      # FSCTL_GET_RETRIEVAL_POINTERS → LCN/LBA
│   │   ├── entropy.py       # Shannon entropy, verificación post-borrado
│   │   ├── shadow_copy.py   # VSS: listar y eliminar shadow copies
│   │   ├── traces.py        # Recientes, Jump Lists, Thumbnail Cache, Prefetch
│   │   ├── ads.py           # NTFS Alternate Data Streams (FindFirstStreamW)
│   │   ├── metadata.py      # EXIF, Office XML, PDF metadata stripping
│   │   ├── mft.py           # USN Journal via DeviceIoControl
│   │   ├── anonymizer.py    # Copia anónima: hex name + strip meta + strip ADS
│   │   ├── freespace.py     # Wipe free space
│   │   ├── context_menu.py  # Instalación HKCU menú contextual
│   │   └── ssd_detect.py    # Detección SSD/HDD
│   └── ui/
│       └── app.py           # CustomTkinter — 5 tabs, drag&drop, responsive
├── logs/                    # Audit log JSON por sesión (gitignored)
├── requirements.txt
└── build.bat                # PyInstaller standalone EXE

Advertencias

  • SSD con TRIM: Los SSDs reasignan sectores internamente. El método más seguro para datos muy sensibles en SSD es cifrado previo (BitLocker) + formateo. SecureShred sigue siendo útil para eliminar rastros de metadatos, ADS y trazas forenses.
  • Archivos en uso: Cierra el archivo en cualquier aplicación antes de eliminar.
  • Administrador: Necesario para shadow copies, USN Journal y algunos archivos del sistema. Las funciones de usuario funcionan sin él.
  • VSS: Siempre revisa y elimina las shadow copies antes de considerar un archivo completamente borrado.

Requisitos

  • Windows 10/11
  • Python 3.11+ (solo si ejecutas desde código fuente)
  • El .exe no requiere Python

Licencia

MIT © AML-COL

About

Windows file shredder with forensic analysis — DoD/Gutmann, entropy verification, shadow copy detection, ADS scanner, USN Journal reader

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages