~/docs /Borrar rastro
Borrar rastro
Borrar rastro
Imported from Notion: Borrar rastro
updated:: 2026.07.10
[!NOTE] ⚠️ 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.
🎯 Objetivo Técnico
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.
🛠️ Comando Principal: Descarte y Sobrescritura en Bucle
while true; do
sudo blkdiscard /dev/nvmeXn1 || true
sudo dd if=/dev/urandom of=/dev/nvmeXn1 bs=1M status=progress
done
🔍 Desglose Técnico de cada Paso
-
while true; do ... done: Bucle infinito que se ejecuta hasta interrupción (Ctrl+C) o fallo del dispositivo. Ideal para scripts automatizados en background (nohuposystemd). -
sudo blkdiscard /dev/nvmeXn1 || true:-
Envía el comando
TRIM(oDISCARD) 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). -
|| trueasegura 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/randomy 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 usarbs=512o 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.
-
⚡ Variantes Avanzadas
🔹 Descarte parcial + sobrescritura rápida (Modo Agresivo)
sudo dd if=/dev/zero of=/dev/nvmeXn1 bs=1M status=progress && \
sudo blkdiscard /dev/nvmeXn1
/dev/zeroes más rápido queurandom. Útil si solo se busca “ensuciar” el disco para operaciones futuras sin generar alta entropía.
🔹 Verificación post-ejecución
sudo dd if=/dev/nvmeXn1 bs=1M | md5sum
lsblk -f /dev/nvmeXn1
smartctl -a /dev/nvmeXn1
-
smartctlmuestra el estado del disco, bloques reservados y ciclos de reasignación. -
md5sumverifica la entropía tras el descarte (debería ser alta y consistente).
📊 Comparativa: NVMe vs HDD en este contexto
| 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 |
🛡️ Notas de OPSEC & Seguridad
-
Cifrado en reposo: Si el disco usa
LUKS,blkdiscardno elimina las claves, solo los datos. Tras el bucle, la próxima escritura reutilizará bloques libres, dejando “huellas” del primer sector. Consideradm-cryptwipe si se requiere borrado criptográfico. -
Modo persistente (si se desea): Cambia
while truepor un temporizador o condición de interfaz:while [ $(cat /proc/uptime) -lt 30 ]; do ... donepara limitar a 30 segundos. -
Unmount garantizado: Antes de ejecutar, verifica que el disco no esté montado:
umount /dev/nvmeXn1p2 && echo "Listo". Si está en uso, añadesudo umount -l /dev/nvmeXn1(lazy unmount).
[!TOGGLE] Detalle técnico: ¿Por qué
/dev/urandomvs/dev/random?
/dev/random espera entropía del kernel y puede bloquearse si no hay suficiente interrupción. /dev/urandom usa el CSPRNG del kernel y es continuo, ideal para sobrescribir grandes volúmenes sin cuellos de botella. En Kali Linux, el estado inicial se genera con systemd y haveged.
[!NOTE] ✅ Si el objetivo es “dejar inservible” el disco para un cliente o cliente de pentesting, combina este script con
fstrim -v /dev/nvmeXn1y guarda los logs:dmesg | grep nvme. El efecto destructivo será visible inmediatamente en la tabla de particiones.
- EOF -