Escriu per cercar…

Recovery

Borrar un fichero no borra los datos - recupéralos con photorec y aprende a borrarlos de verdad.

S'ensenya a
Seguretat i alta disponibilitatSeguretatASIXSistemes informàticsSistema de fitxersDAMDAWDAW-BIO

Introducción

Borrar un fichero de 4 GB tarda lo mismo que borrar uno de 4 bytes.

Esto debería hacerte sospechar.

Si el sistema realmente sobrescribiera los bits, un fichero grande tardaría mucho más que uno pequeño.

El sistema de ficheros

Un sistema de ficheros ext4 separa dos cosas.

super bitmaps taula d'inodes blocs de dades metadades contingut

La tabla de inodos guarda los metadatos de cada fichero: el propietario, los permisos, las fechas y la lista de bloques donde están los datos.

Los bloques de datos guardan el contenido.

Cuando borras un fichero, el sistema no toca los bloques de datos: solo marca el inodo y los bloques como libres.

Por eso borrar es instantáneo.

Y por eso los bloques siguen teniendo el contenido del fichero hasta que otro fichero los reutiliza.

Como el inodo se ha perdido, nadie sabe qué bloques eran de aquel fichero.

Las herramientas de recuperación lo resuelven de otra manera: leen todo el disco buscando patrones.

Un JPEG empieza por FF D8 FF y termina por FF D9, un PDF empieza por %PDF.

Esto se llama file carving, y es lo que hace photorec.

Entorno de trabajo

Crea una máquina virtual Ubuntu 24.04 Server en Isard.

No trabajarás con el disco del sistema: hay demasiada actividad y el resultado no sería repetible.

En su lugar harás un disco de mentira — un fichero de 1 GB que el núcleo tratará como si fuera un disco:

shell
sudo fallocate -l 1G /disk.img
sudo mkfs.ext4 -L drive /disk.img
mke2fs 1.47.0 (5-Feb-2023)
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: 123e42a9-bf44-44c8-9895-0d269bc7c854
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376

mkfs.ext4 ha escrito dentro del fichero exactamente las mismas estructuras que escribiría en un disco real.

Móntalo:

shell
sudo mkdir /drive
sudo mount -o loop /disk.img /drive
sudo chmod 777 /drive
df -h /drive
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop1      974M   24K  907M   1% /drive

Fíjate en el nombre: /dev/loop1.

El núcleo ha creado un dispositivo de bucle, un disco que en realidad es un fichero:

shell
losetup -a
/dev/loop1: [0041]:14231024 (/disk.img)

Estàs llegint una vista prèvia.

Inicia la sessió amb Google per llegir la pàgina sencera.

Inicia la sessió amb Google

Només et demanarem que acceptis les condicions del servei.