domingo, 16 de septiembre de 2007

Recuperar archivos borrados con un live-cd

(extraído del foro de Bulma)

Aún no lo he probado, pero no creo que tarde mucho en hacerlo. El paso a paso no es mío, así que se admiten comentarios (por supuesto que agradezco a su autor, que no sé quien es, su redacción)

La idea es esta:

1- No tocar nada de la partición!!!

2- Arrancar un CD-Live que tenga al menos la herramienta dd (dudo que alguna no la tenga)

3- Extraer imagen de la partición:

dd if=/dev/hda1 of=/ruta/donde/la/quieras/guardar

4- El Sleuthkit es un kit de análisis forense y permite entre muchas otras cosas VER FICHEROS BORRADOS (y su contenido) siempre y cuando no se hayan sobrescrito los i-nodos (por eso la importancia del paso 1)

5- Ya sea en tu S.O. o en tu CD-Live pero con la imagen hecha analizar dicha imagen con sleuthkit. Recomiendo usar el API web llamado autopsy.

Si lo haces por comandos con:

fls -d imagen

muestra los ficheros borrados. Por comandos es un poco raro ya que debes ver los i-nodos de cada fichero y después sacar el fichero con:

icat imagen inodo > ficherodestino

No es complicado hacerse un script para todo esto con un poco de paciencia.

Nota: solo tiene una pega... debes tener 1 partición donde quepa la imagen de la partición a recuperar.

Nota2: seguramente hay otros métodos pero este es el que conozco.

La segunda parte es para traspasarlo a otra máquina si no tenemos otro disco duro pero sí una red montada:

El ejemplo más fácil sería con netcat (nc), omitiendo el 'of=' en el dd para que largue la salida por el stdout:

- Primero en la máquina remota tendrías que poner en marcha el proceso servidor que espera la conexión:

$ nc -l 2000 >ficherobackup.img

- Y luego en la máquina en cuestión ejecutar el dd (siguiendo tu ejemplo):

# dd if=/dev/hda1 | nc w.x.y.z 2000

...donde w.x.y.z es la IP de la máquina remota y 2000 un puerto no privilegiado (al azar, puedes poner el año de tu nacimiento si te hace más ilusión :-P) para pasar los datos.

No hay comentarios: