<aside> ⚠️ El contenido original incluye instrucciones para dañar un disco y borrar datos de forma destructiva. Esta técnica es ideal para entornos donde se requiere degradación rápida del almacenamiento (SSD/NVMe) o eliminación masiva en tiempo real, simulando un escenario post-pentest con huella mínima.
</aside>
Eliminación de trazas mediante sobrescritura aleatoria y descarte de bloques (TRIM/DISCARD), dejando el disco en un estado inestable para escrituras futuras o con capacidad reducida. Optimizado para Kali Linux y dispositivos NVMe/SSD, pero compatible con HDD bajo controladores que soporten BLKDISCARD.
while true; do
sudo blkdiscard /dev/nvmeXn1 || true
sudo dd if=/dev/urandom of=/dev/nvmeXn1 bs=1M status=progress
done
while true; do ... done: Bucle infinito que se ejecuta hasta interrupción (Ctrl+C) o fallo del dispositivo. Ideal para scripts automatizados en background (nohup o systemd).sudo blkdiscard /dev/nvmeXn1 || true:
TRIM (o DISCARD) al controlador del disco, marcando los bloques lógicos como no usados. En NVMe, esto activa la Garbage Collection y libera las páginas de flash reservadas en el FTL (Flash Translation Layer).|| true asegura que si el dispositivo se desconecta, cambia de estado o devuelve un error transitorio, el bucle continúa sin romper la ejecución (set -e).sudo dd if=/dev/urandom of=/dev/nvmeXn1 bs=1M status=progress:
if=/dev/urandom: origen de datos aleatorios criptográficamente seguros (más rápido que /dev/random y sin cuellos de botella por entropía).bs=1M: bloque de 1 MiB. Equilibrio óptimo entre velocidad de E/S y uso de memoria RAM. No usar bs=512 o valores pequeños para evitar overhead del kernel y fragmentación del disco.status=progress: muestra bytes transferidos en tiempo real (GNU coreutils ≥ 8.30). Oculta la salida estándar (stdout) que saturaría el terminal.sudo dd if=/dev/zero of=/dev/nvmeXn1 bs=1M status=progress && \
sudo blkdiscard /dev/nvmeXn1
/dev/zero es más rápido que urandom. Útil si solo se busca "ensuciar" el disco para operaciones futuras sin generar alta entropía.sudo dd if=/dev/nvmeXn1 bs=1M | md5sum
lsblk -f /dev/nvmeXn1
smartctl -a /dev/nvmeXn1
smartctl muestra el estado del disco, bloques reservados y ciclos de reasignación.md5sum verifica la entropía tras el descarte (debería ser alta y consistente).| Tipo de Disco | Comportamiento con blkdiscard + dd |
Recomendación |
|---|---|---|
| NVMe SSD | La sobrescritura ocurre sobre páginas físicas. blkdiscard activa el garbage collection, reduciendo la latencia en escrituras futuras y liberando bloques huérfanos. |
Ideal para entornos de prueba / pentesting rápido |
| SSD SATA | Similar a NVMe, pero con controlador más limitado. Considera ejecutar fstrim antes del bucle si el disco está montado. |
Usar conv=notrunc en dd para mayor precisión |
| HDD (Plato) | blkdiscard actúa como seek aleatorio. dd sobrescribe físicamente. El rendimiento depende del C1/C2 head parking y la velocidad de rotación. |
Añadir if=/dev/urandom conv=notrunc para mayor precisión |