Ferramenta para salvar um intervalo de clusters de disco em um arquivo

3

Ontem, excluí um arquivo compactado (fragmentado) apenas para descobrir que ele não foi extraído corretamente, por isso fiquei preso. Felizmente, não havia muito espaço livre na unidade; portanto, a maior parte do espaço marcado como livre era do arquivo agora excluído. Peguei um editor de disco e, dolorosamente , consegui obter uma lista de intervalos de cluster do FAT que foram marcados como não utilizados. Minha tarefa foi salvar esses intervalos de clusters em arquivos para que eu pudesse examiná-los para tentar determinar quais partes eram do arquivo morto e recombiná-los para tentar restaurar o arquivo excluído.

Isso acabou sendo uma grande dor de cabeça, porque o editor de disco não tinha a capacidade de selecionar um conjunto de clusters, então tive que navegar até o início de cada cluster e pressionar Ctrl+ Shift+ PgDnaté chegar ao final do range (que geralmente levava uma eternidade!)

Eu fiz uma pesquisa rápida no Google para ver se encontrava uma ferramenta de linha de comando (de preferência nas versões Windows e DOS) que me permitisse emitir comandos como:

SAVESECT -c 0xBEEF 0xCAFE FOO.BAR ::save clusters 0xBEEF-0xCAFE to FOO.BAR
SAVESECT -s 1111 9876 BAZ.BIN ::save sectors 1111-9876 to BAZ.BIN

Infelizmente, minha pesquisa apareceu vazia.

Alguma ideia?


Obrigado!

Synetech
fonte

Respostas:

1

Você diz que prefere uma ferramenta (aplicativo) executada no Windows.

Bem, há um ótimo software forense que funciona (melhor) em sistemas como o Unix, chamado Sleuth Kit (TSK). É uma coleção / suíte de aplicativos. Em particular, um desses aplicativos é chamado blkls.

Experimentar:

blkls /dev/sda1 1200-1250 1>> /media/usbdrive/<file>

Onde <file>é onde você deseja que os dados brutos sejam salvos.

Nesse exemplo hipotético, os setores / blocos #s 1200 a 1250 serão copiados da partição / volume mapeado (pelo sistema * nix) /dev/sda1para o arquivo de saída / destino de sua escolha (em um volume montado de, por exemplo , unidade USB removível). É uma boa prática para o destino / destino ser um dispositivo físico diferente da fonte dos dados.

Uma distribuição Linux especializada ao vivo baseada no Debian chamada grml pode ser baixada gratuitamente. Ele já tem a versão mais recente do TheSleuthKit já instalada. Você pode baixar a imagem .iso (usando o BitTorrent ou com qualquer cliente HTTP comum (como um navegador da web)) e gravá-la em um CD-R e, em seguida, inicializar o computador a partir do CD-R.

Quando o sistema inicializa no grml, você pode abrir uma janela do Terminal e usar o Kit Sleuth.

Se você inicializar seu computador com Windows em uma distribuição Linux ativa, seu disco rígido interno, que provavelmente possui o sistema operacional Windows instalado, será mapeado para um "arquivo" virtual no sistema de arquivos Linux chamado /dev/sda.

O disco rígido interno vai ser mapeado para 'a' e quaisquer dispositivos de armazenamento adicional (bloco) que o achado sistema operativo ser mapeados para cartas subsequentes no alfabeto, por exemplo /dev/sdb, /dev/sdc, etc.

Cada partição no dispositivo de armazenamento é mapeada para um número anexado ao nome do dispositivo na /dev/pasta (dispositivo).

Se o disco rígido interno tiver o Windows instalado na primeira partição (ou seja, um volume NTFS residir dentro dos limites da primeira partição na unidade de disco rígido, ele será mapeado pelo sistema operacional * nix para /dev/sda1, ou se estiver na segunda partição de /dev/sda então seria /dev/sda2.

Verifique como o sistema operacional * nix mapeou /dev/arquivos usando

fdisk -l /dev/sd*

ou

blkid /dev/sd*

Saber em qual mapeamento de partição o mapeamento do SO no qual o SleuthKit está executando o volume de origem do qual você está tentando extrair dados está mapeado permitirá que você use as ferramentas úteis do Sleuth Kit.

Fleetwood
fonte
Isso parece bom. Vou ver se consigo encontrar uma porta do Windows (ou mesmo DOS). Nesse caso, deve ser perfeito tanto para essa questão quanto para outra .
Synetech 10/03/12
0

O dd (para Win32) deve permitir que você faça exatamente o que precisa.

Rafael Rivera
fonte
Feche, mas não parece haver uma maneira de fazer isso sem muito cálculo manual para converter clusters em desvios / setores absolutos.
Synetech