Como recuperar arquivos excluídos com o principal em Linux

Como recuperar arquivos excluídos com o principal em Linux

Neste artigo, falaremos sobre principal, Um utilitário forense de código aberto muito útil, capaz de recuperar arquivos excluídos usando a técnica chamada escultura de dados. O utilitário foi originalmente desenvolvido pelo Escritório de Investigações Especiais da Força Aérea dos Estados Unidos e é capaz de recuperar vários tipos de arquivos (o suporte a tipos de arquivos específicos pode ser adicionado pelo usuário, através do arquivo de configuração). O programa também pode funcionar em imagens de partição produzidas por DD ou ferramentas semelhantes.

Neste tutorial, você aprenderá:

  • Como instalar mais de tudo
  • Como usar os principais para recuperar arquivos excluídos
  • Como adicionar suporte para um tipo de arquivo específico


O principal é um programa de recuperação de dados forense para Linux usado para recuperar arquivos usando seus cabeçalhos, rodapés e estruturas de dados através de um processo conhecido como escultura de arquivos.

Requisitos de software e convenções usadas

Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Independente da distribuição
Programas O programa "principal"
Outro Familiaridade com a interface da linha de comando
Convenções # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Instalação

Desde principal já está presente em todos os principais repositórios de distribuições Linux, instalando -o é uma tarefa muito fácil. Tudo o que precisamos fazer é usar nosso gerente de pacote de distribuição favorito. No Debian e Ubuntu, podemos usar apt:

$ sudo apt install mais importante

Nas versões recentes do Fedora, usamos o DNF Gerenciador de pacotes para instalar pacotes, o DNF é um sucessor de yum. O nome do pacote é o mesmo:

$ sudo dnf install mais importante

Se estivermos usando o ArchLinux, podemos usar Pacman para instalar principal. O programa pode ser encontrado no repositório "comunitário" de distribuição:

$ sudo pacman -s


Uso básico

AVISO
Não importa qual ferramenta de recuperação de arquivos ou processo você usará para recuperar seus arquivos, antes de começar, é recomendável realizar um disco rígido de baixo nível ou backup de partição, evitando uma substituição acidental de dados !!! Nesse caso, você pode voltar a recuperar seus arquivos, mesmo após a tentativa de recuperação malsucedida. Verifique o seguinte guia de comando dd sobre como executar o disco rígido ou particionar backup de baixo nível.

O principal Utilitário tenta recuperar e reconstruir arquivos na base de seus cabeçalhos, rodapés e estruturas de dados, sem depender Metadados do sistema de arquivos. Esta técnica forense é conhecida como escultura de arquivos. O programa suporta vários tipos de arquivos, como por exemplo:

  • jpg
  • gif
  • png
  • BMP
  • Avi
  • exe
  • mpg
  • WAV
  • riff
  • WMV
  • mov
  • pdf
  • Ole
  • Doc
  • fecho eclair
  • rar
  • htm
  • cpp

A maneira mais básica de usar principal é fornecendo uma fonte para digitalizar arquivos excluídos (pode ser uma partição ou um arquivo de imagem, como aqueles gerados com dd). Vamos ver um exemplo. Imagine que queremos escanear o /dev/sdb1 Partição: Antes de começarmos, uma coisa muito importante a lembrar é nunca armazenar dados recuperados sobre a mesma partição da qual estamos recuperando os dados, para evitar a substituição de arquivos de exclusão ainda presentes no dispositivo de bloco. O comando que executaríamos é:

$ sudo acima de tudo -i /dev /sdb1

Por padrão, o programa cria um diretório chamado saída Dentro do diretório, o lançamos e o utilizamos como destino. Dentro deste diretório, um subdiretório para cada tipo de arquivo suportado que estamos tentando recuperar é criado. Cada diretório manterá o tipo de arquivo correspondente obtido no processo de escultura de dados:

saída ├── Auditoria.txt ├── Avi ├── BMP ├── dll ├── Doc ├── Docx ├sto ─ M MP4 ├── MPG ├── OLE ├── PDF ├── PNG ├── PPT ├── PPTX ├sto sxi ├── sxw ├sto 

Quando principal completa seu trabalho, os diretórios vazios são removidos. Somente os que contêm arquivos são deixados no sistema de arquivos: isso nos informe imediatamente que tipo de arquivos foram recuperados com sucesso. Por padrão, o programa tenta recuperar todos os tipos de arquivos suportados; Para restringir nossa pesquisa, podemos, no entanto, usar o -t opção e forneça uma lista dos tipos de arquivos que queremos recuperar, separados por uma vírgula. No exemplo abaixo, restringimos a pesquisa apenas a gif e pdf arquivos:

$ sudo acima -t gif, pdf -i /dev /sdb1
Neste vídeo, testaremos o programa de recuperação de dados forense Principal Para recuperar um único png arquivo de /dev/sdb1 partição formatada com o Ext4 sistema de arquivo.

Especificando um destino alternativo

Como já dissemos, se um destino não for declarado explicitamente, a principal cria um saída diretório dentro do nosso cwd. E se quisermos especificar um caminho alternativo? Tudo o que precisamos fazer é usar o -o opção e forneça o referido caminho como argumento. Se o diretório especificado não existir, ele será criado; Se existir, mas não estiver vazio, o programa lança uma reclamação:

Erro:/home/egdoc/dados não está vazio, especifique outro diretório ou execute com -t. 

Para resolver o problema, como sugerido pelo próprio programa, podemos usar outro diretório ou relançar o comando com o -T opção. Se usarmos o -T opção, o diretório de saída especificado com o -o a opção é o registro de data e hora. Isso torna possível executar o programa várias vezes com o mesmo destino. No nosso caso, o diretório que seria usado para armazenar os arquivos recuperados seria:

/home/egdoc/data_thu_sep_12_16_32_38_2019

O arquivo de configuração

O principal O arquivo de configuração pode ser usado para especificar formatos de arquivo não suportados nativamente pelo programa. Dentro do arquivo, podemos encontrar vários exemplos comentados mostrando a sintaxe que deve ser usada para realizar a tarefa. Aqui está um exemplo envolvendo o png Tipo (as linhas são comentadas desde que o tipo de arquivo é suportado por padrão):

# Png (usado em páginas da web) # (observe que este formato possui uma função de extração incorporada) # png y 200000 \ x50 \ x4e \ x47? \ xff \ xfc \ xfd \ xfe 

As informações a serem fornecidas para adicionar suporte para um tipo de arquivo são, da esquerda para a direita, separadas por um caractere de guia: a extensão do arquivo (png neste caso), se o cabeçalho e o rodapé são sensíveis ao maiúsculas (y), o tamanho máximo do arquivo em bytes (200000), o cabeçalho (\ x50 \ x4e \ x47?) e e o rodapé (\ xff \ xfc \ xfd \ xfe). Somente o último é opcional e pode ser omitido.

Se o caminho do arquivo de configuração não receber explicitamente o -c opção, um arquivo nomeado principal.conf é pesquisado e usado, se presente, no diretório de trabalho atual. Se não for encontrado o arquivo de configuração padrão, /etc/acima de tudo.conf é usado em vez disso.

Adicionando o suporte para um tipo de arquivo

Ao ler os exemplos fornecidos no arquivo de configuração, podemos facilmente adicionar suporte para um novo tipo de arquivo. Neste exemplo, adicionaremos suporte para flac arquivos de áudio. Flac (Codificado de áudio sem perdas gratuito) é um formato de áudio sem perdas não proprietário, capaz de fornecer áudio compactado sem perda de qualidade. Primeiro de tudo, sabemos que o cabeçalho desse tipo de arquivo em forma hexadecimal é 66 4C 61 43 00 00 22 22 (flac em ASCII), e podemos verificá -lo usando um programa como Hexdump Em um arquivo FLAC:

$ HEXDUMP -C Blind_guardian_war_of_wrath.FLAC | CABEÇA 00000000 66 4C 61 43 00 00 00 22 12 00 12 00 00 00 0E 00 | FLAC… "… | 00000010 36 F2 0A C4 42 F0 00 4D 04 60 6D 0B 64 36 D7 BD | 6… B… M… M… M… M.'m.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 |… Referência 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 da 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… Rótulo = Virgi | 

Como você pode ver, a assinatura do arquivo é realmente o que esperávamos. Aqui vamos assumir um tamanho máximo de arquivo de 30 MB ou 30000000 bytes. Vamos adicionar a entrada ao arquivo:

flac y 30000000 \ x66 \ x4c \ x61 \ x43 \ x00 \ x00 \ x00 \ x22

O rodapé A assinatura é opcional, então aqui não fornecemos. O programa agora deve ser capaz de recuperar excluído flac arquivos. Vamos verificar isso. Para testar que tudo funciona como esperado, eu coloquei anteriormente e depois removido, um arquivo FLAC do /dev/sdb1 partição, e depois passou a executar o comando:

$ sudo acima de tudo -i/dev/sdb1 -o $ home/documentos/saída

Como esperado, o programa foi capaz de recuperar o arquivo FLAC excluído (era o único arquivo no dispositivo, de propósito), embora o renomeasse com uma string aleatória. O nome do arquivo original não pode ser recuperado porque, como sabemos, os metadados de arquivos estão contidos no sistema de arquivos, e não no próprio arquivo:

/home/egdoc/documentos └── saída ├── Auditoria.txt └── flac └── 00020482.flac 


A auditoria.O arquivo txt contém informações sobre as ações executadas pelo programa, neste caso:

Principal versão 1.5.7 Por Jesse Kornblum, Kris Kendall e Nick Mikus Arquivo de Auditoria Primeiro iniciado em Qui 12 de setembro 23:47:04 2019 Invocação: Primeiro EGDOC/documentos/arquivo de configuração de saída:/etc/acima de tudo.conf --------------------------------------------------- ------------------- Arquivo: /dev /sdb1 Início: Qui 12 de setembro 23:47:04 2019 Comprimento: 200 MB (209715200 bytes) Nome (BS = 512) Tamanho Comentário de deslocamento de arquivo 0: 00020482.FLAC 28 MB 10486784 Acabamento: Qui 12 de setembro 23:47:04 2019 1 Arquivos extraídos FLAC: = 1 -------------------------------- ------------- 

Conclusão

Neste artigo, aprendemos a usar os principais, um programa forense capaz de recuperar arquivos excluídos de vários tipos. Aprendemos que o programa funciona usando uma técnica chamada escultura de dados, e conta com assinaturas de arquivos para atingir seu objetivo. Vimos um exemplo do uso do programa e também aprendemos a adicionar o suporte para um tipo de arquivo específico usando a sintaxe ilustrada no arquivo de configuração. Para mais informações sobre o uso do programa, consulte sua página manual.

Tutoriais do Linux relacionados:

  • Como particionar uma unidade no Linux
  • Como particionar a unidade USB no Linux
  • Como manipular as tabelas de partição GPT com Gdisk e Sgdisk…
  • Como recuperar a tabela de partição no Linux
  • Coisas para instalar no Ubuntu 20.04
  • Manjaro Linux Windows 10 Boot dual
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Mastering Bash Script Loops
  • Partição de clone no Linux
  • Como montar a imagem ISO no Linux