Cómo recuperar archivos eliminados con Foremost en Linux

Cómo recuperar archivos eliminados con Foremost en Linux

En este artículo hablaremos principal, Una utilidad forense de código abierto muy útil que puede recuperar archivos eliminados utilizando la técnica llamada talla de datos. La utilidad fue desarrollada originalmente por la Oficina de Investigaciones Especiales de la Fuerza Aérea de los Estados Unidos, y puede recuperar varios tipos de archivos (el usuario puede agregar el soporte de tipos de archivos específicos a través del archivo de configuración). El programa también puede trabajar en imágenes de partición producidas por DD o herramientas similares.

En este tutorial aprenderás:

  • Cómo instalar
  • Cómo usar la primera para recuperar archivos eliminados
  • Cómo agregar soporte para un tipo de archivo específico


Foremost es un programa de recuperación de datos forense para Linux utilizado para recuperar archivos utilizando sus encabezados, pies de página y estructuras de datos a través de un proceso conocido como tallado de archivos.

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Independiente de la distribución
Software El programa "principal"
Otro Familiaridad con la interfaz de línea de comandos
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Instalación

Desde principal ya está presente en todos los principales repositorios de distribuciones de Linux, instalarlo es una tarea muy fácil. Todo lo que tenemos que hacer es usar nuestro Administrador de paquetes de distribución favorito. En Debian y Ubuntu, podemos usar apto:

$ sudo apt instalación

En versiones recientes de Fedora, usamos el DNF Administrador de paquetes para instalar paquetes, el DNF es un sucesor de beque. El nombre del paquete es el mismo:

$ sudo dnf instalación

Si estamos usando Archlinux, podemos usar Pacman instalar principal. El programa se puede encontrar en el repositorio de distribución "Comunidad":

$ sudo Pacman -S


Uso básico

ADVERTENCIA
No importa qué herramienta de recuperación de archivos o proceso, usará para recuperar sus archivos, antes de comenzar, se recomienda realizar un disco duro de bajo nivel o una copia de seguridad de partición, por lo tanto, evitando una sobrescritura de datos accidentales !!! En este caso, puede volver a montar para recuperar sus archivos incluso después de un intento de recuperación sin éxito. Verifique la siguiente guía de comando DD sobre cómo realizar una copia de seguridad de bajo nivel de disco duro o partición.

El principal La utilidad intenta recuperar y reconstruir archivos en la base de sus encabezados, pies de página y estructuras de datos, sin confiar en metadatos del sistema de archivos. Esta técnica forense se conoce como talla de archivos. El programa admite varios tipos de archivos, como por ejemplo:

  • JPG
  • gif
  • png
  • BMP
  • avi
  • exe
  • mpg
  • wav
  • riff
  • WMV
  • mudanza
  • pdf
  • viejo
  • doc
  • cremallera
  • rar
  • htm
  • CPP

La forma más básica de usar principal es proporcionando una fuente para escanear archivos eliminados (puede ser una partición o un archivo de imagen, como los generados con dd). Veamos un ejemplo. Imagina que queremos escanear el /dev/sdb1 Partición: Antes de comenzar, algo muy importante para recordar es nunca almacenar datos recuperados en la misma partición de la que estamos recuperando los datos, para evitar sobrescribir archivos de eliminación aún presentes en el dispositivo de bloque. El comando que ejecutaríamos es:

$ sudo -foreMost -i /dev /sdb1

Por defecto, el programa crea un directorio llamado producción Dentro del directorio lo lanzamos y lo usamos como destino. Dentro de este directorio, se crea un subdirectorio para cada tipo de archivo compatible que intentamos recuperar. Cada directorio contendrá el tipo de archivo correspondiente obtenido del proceso de talla de datos:

Salida ├iqute Auditoría.txt ├── avi ├── bmp ├── dll ├── doc ├── docx ├── exe ├── gif ├── htm ├── jar ├── jpg ├── mbd ├iqu. ── mp4 ├── mpg ├── ole ├── pdf ├── png ├── ppt ├── pPtx ├── ├─ig rif ├── sdw ├── sx ├─ sxc ──uev sxi ├── sxw ├── vis ├── wav ├── wmv ├── xls ├── xlsx └── zip zip 

Cuando principal completa su trabajo, se eliminan los directorios vacíos. Solo los que contienen archivos se dejan en el sistema de archivos: esto permita saber de inmediato qué tipo de archivos se recuperaron correctamente. Por defecto, el programa intenta recuperar todos los tipos de archivos compatibles; Para restringir nuestra búsqueda, podemos, sin embargo, usar el -T opción y proporcionar una lista de los tipos de archivos que queremos recuperar, separados por una coma. En el siguiente ejemplo, restringimos la búsqueda solo a gif y pdf Archivos:

$ sudo FOREMST -T GIF, PDF -I /dev /SDB1
En este video probaremos el programa de recuperación de datos forenses Principal Para recuperar un solo png presentar desde /dev/sdb1 partición formateada con el Ext4 sistema de archivos.

Especificando un destino alternativo

Como ya dijimos, si un destino no se declara explícitamente, el principal crea un producción directorio dentro de nuestro CWD. ¿Qué pasa si queremos especificar una ruta alternativa?? Todo lo que tenemos que hacer es usar el -O opción y proporcionar dicha ruta como argumento. Si el directorio especificado no existe, se crea; Si existe pero no está vacío, el programa se queja:

Error:/home/egdoc/data no está vacío. Especifique otro directorio o ejecute con -t. 

Para resolver el problema, como lo sugiere el programa en sí, podemos usar otro directorio o relanzar el comando con el -T opción. Si usamos el -T opción, el directorio de salida especificado con el -O La opción está marcada. Esto hace posible ejecutar el programa varias veces con el mismo destino. En nuestro caso, el directorio que se utilizaría para almacenar los archivos recuperados sería:

/home/egdoc/data_thu_sep_12_16_32_38_2019

El archivo de configuración

El principal El archivo de configuración se puede utilizar para especificar formatos de archivo no compatibles de forma nativa por el programa. Dentro del archivo podemos encontrar varios ejemplos comentados que muestran la sintaxis que se debe usar para realizar la tarea. Aquí hay un ejemplo que involucra el png tipo (las líneas se comentan ya que el tipo de archivo es compatible de forma predeterminada):

# PNG (utilizado en páginas web) # (Nota Este formato tiene una función de extracción integrada) # PNG Y 200000 \ x50 \ x4e \ x47? \ xff \ xfc \ xfd \ xfe 

La información para proporcionar para agregar soporte para un tipo de archivo, de izquierda a derecha, se separan por un carácter de pestaña: la extensión del archivo (png en este caso), si el encabezado y el pie de página son sensibles a las casos (Y), el tamaño máximo de archivo en bytes (200000), el encabezado (\ x50 \ x4e \ x47?) y el pie de página (\ xff \ xfc \ xfd \ xfe). Solo este último es opcional y se puede omitir.

Si la ruta del archivo de configuración no se proporciona explícitamente con el -C Opción, un archivo nombrado principal.confusión se busca y usa, si está presente, en el directorio de trabajo actual. Si no se encuentra el archivo de configuración predeterminado, /etc/principal.confusión se usa en su lugar.

Agregar el soporte para un tipo de archivo

Al leer los ejemplos proporcionados en el archivo de configuración, podemos agregar fácilmente soporte para un nuevo tipo de archivo. En este ejemplo agregaremos soporte para flac archivos de sonido. Flac (Audio sin pérdidas gratuitas codificado) es un formato de audio sin pérdidas no propietario que puede proporcionar audio comprimido sin pérdida de calidad. En primer lugar, sabemos que el encabezado de este tipo de archivo en forma hexadecimal es 66 4C 61 43 00 00 00 22 (flac en ASCII), y podemos verificarlo usando un programa como hexdump En un archivo FLAC:

$ hexdump -c ciego_guardian_war_of_wrath.FLAC | Cabeza 00000000 66 4C 61 43 00 00 00 22 12 00 12 00 00 00 0E 00 | FLAC ... "... | 0000000010 36 F2 0A C4 42 F0 00 4D 04 60 6D 0B 64 36 D7 BD | 6 ... B ... M.'metro.D6 ... | 00000020 3E 4C 0D 8B C1 46 B6 FE CD 42 04 00 03 DB 20 00 |> L ... F ... B ... | 00000030 00 00 72 65 66 65 72 65 6E 63 65 20 6C 69 62 46 |… referencia libf | 00000040 4C 41 43 20 31 2e 33 2e 31 20 32 30 31 34 31 31 | lac 1.3.1 201411 | 00000050 32 35 21 00 00 00 12 00 00 00 54 49 54 4C 45 3D | 25!… Título = | 00000060 57 61 72 20 6f 66 20 57 72 61 74 68 11 00 00 00 | Guerra de ira ... | 00000070 52 45 4C 45 41 53 45 43 4F 55 4E 54 52 59 3D 44 | Releasecountry = D | 00000080 45 0C 00 00 00 54 4F 54 41 4C 44 49 53 43 53 3D | E ... TotalDiscs = | 00000090 32 0C 00 00 00 4C 41 42 45 4C 3D 56 69 72 67 69 | 2 ... etiqueta = Virgi | 

Como puede ver, la firma del archivo es de hecho lo que esperábamos. Aquí asumiremos un tamaño de archivo máximo de 30 MB, o 30000000 bytes. Agregamos la entrada al archivo:

FLAC Y 30000000 \ X66 \ X4C \ X61 \ X43 \ X00 \ X00 \ X00 \ X22

El pie de página La firma es opcional, así que aquí no lo proporcionamos. El programa ahora debería poder recuperar eliminado flac archivos. Vamos a verificarlo. Para probar que todo funciona como se esperaba, he colocado anteriormente, y luego eliminé, un archivo FLAC del /dev/sdb1 Partición, y luego procedió a ejecutar el comando:

$ sudo falsa -i/dev/sdb1 -o $ home/documents/output

Como se esperaba, el programa pudo recuperar el archivo FLAC eliminado (era el único archivo en el dispositivo, a propósito), aunque lo cambió el nombre con una cadena aleatoria. El nombre de archivo original no se puede recuperar porque, como sabemos, los metadatos de archivos están contenidos en el sistema de archivos, y no en el archivo en sí:

/Home/EgDoc/Documentos └── Salida ├── Auditoría.txt └── flac └── 00020482.flac 


La auditoría.El archivo txt contiene información sobre las acciones realizadas por el programa, en este caso:

La versión más importante 1.5.7 por Jesse Kornblum, Kris Kendall y Nick Mikus El archivo de auditoría comenzó en el jueves 12 de septiembre 23:47:04 2019 Invocación: Foremost -i/Dev/Sdb1 -o/Home/EgDoc/Documents/Output Sutide Directory:/Home/Home/Home/Home/Home/Home/Home/Home/ EGDOC/Documentos/archivo de configuración de salida:/etc/por ejemplo.Conf ------------------------------------------------- ----------------- Archivo: /dev /sdb1 Inicio: Jue 12 de septiembre 23:47:04 2019 Longitud: 200 MB (209715200 bytes) Nombre del número (BS = 512) Tamaño Comentario de compensación de archivos 0: 00020482.FLAC 28 MB 10486784 Final: Jue 12 de septiembre 23:47:04 2019 1 Archivos extraídos FLAC: = 1 ---------------------------- -------------------------------------- Terminado en el jueves 12 de septiembre 23:47:04 2019 

Conclusión

En este artículo aprendimos a usar Foremost, un programa forense capaz de recuperar archivos eliminados de varios tipos. Aprendimos que el programa funciona utilizando una técnica llamada talla de datos, y se basa en las firmas de archivos para lograr su objetivo. Vimos un ejemplo del uso del programa y también aprendimos cómo agregar el soporte para un tipo de archivo específico usando la sintaxis ilustrada en el archivo de configuración. Para obtener más información sobre el uso del programa, consulte su página manual.

Tutoriales de Linux relacionados:

  • Cómo particionar una unidad en Linux
  • Cómo dividir la unidad USB en Linux
  • Cómo manipular las tablas de partición GPT con Gdisk y Sgdisk ..
  • Cómo recuperar la tabla de partición en Linux
  • Cosas para instalar en Ubuntu 20.04
  • Manjaro Linux Windows 10 Dual Boot
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Mastering Bash Script Loops
  • Partición clon en Linux
  • Cómo montar la imagen ISO en Linux