Mostrando postagens com marcador AFF. Mostrar todas as postagens
Mostrando postagens com marcador AFF. Mostrar todas as postagens

Conversão de Imagens

Opa, e aí galera.

Tudo bem?
Hoje nós vamos falar sobre conversão entre alguns formatos de imagens forense. Lembrando que temos basicamente 3 tipos de formato forense: raw (dd), ewf/e01 e AFF. Existem outros, mas esses são os mais usados.
Então, a intensão deste post é falar sobre como fazer a conversão de um formato para outro formato.
Resumindo, o que nós vamos fazer nesse post é a conversão dos seguintes formatos:

1) Conversão do formato EWF/E01 para o formato RAW
Bom, falamos sobre o formato ewf/e01 aqui. Mostramos, inclusive, sobre como criar uma imagem forense nesse formato. Agora, nós vamos mostrar como eu posso converter uma imagem forense "ewf" para o formato "raw".
Mas você pode estar se perguntando: por que eu quero converter de e01 para raw? Qual o benefício disso? A minha resposta é: a partir do formato RAW, eu posso realizar várias técnicas como o file carving visando a recuperação de arquivos, eu posso usar ferramentas para analisar o timeline (e.g. log2timeline), eu posso fazer exame de evidências em geral (analisar o registro do Windows, analisar o histórico do browser, etc) fazendo uso de várias ferramentas forense (até mesmo ferramentas open source). Tudo isso eu consigo fazer quando analiso uma imagem no formato RAW.
E se eu não converter para RAW? Se eu quiser analisar a imagem no formato EWF mesmo? Quais ferramentas eu vou usar para analisar uma imagem no formato EWF? A minha resposta é: basicamente, você vai usar o EnCase, que é uma ferramenta paga/proprietária.

Bom, então vamos lá.
O que eu quero, neste momento, é converter uma imagem do formato ewf para o formato raw. Pra isso, eu preciso ter uma imagem no formato ewf, não é mesmo? :)
E aí vem a pergunta: Onde eu vou conseguir uma imagem .E01/EWF? Resposta: eu vou usar uma imagem forense criada para um exercício do Lance Mueller, o forensics_practical_3. Pra baixar a imagem referente a este exercício, basta ir neste link. No fim deste post, ele coloca o link para baixar a imagem forense.

Existem 2 maneiras de realizar a conversão do formato ewf para o formato raw:
  1. Usando o utilitário ewfexport (que faz parte da libewf)
  2. Usando o utilitário img_cat (que faz parte da suíte do sleuthkit)
Vamos mostrar as 2 opções.
A primeira opção que vou mostrar é usando o utilitário ewfexport.


O utilitário vai fazer algumas perguntas básicas. Vamos analisá-las:
  • na primeira pergunta, ele quer saber qual o formato depois da conversão. No caso, eu escolhi que após a conversão, a imagem vai ser no formato raw
  • na segunda pergunta, ele quer saber o caminho completo do diretório onde a imagem no formato raw será armazenada. Nisso, ele pede pra ser incluído o nome da imagem no formato raw (sem usar nenhuma extensão no nome). No exemplo aqui eu disse que a imagem no formato raw vai se chamar imagem (ele vai adicionar a extensão automaticamente). O path completo (caminho do diretório) onde a imagem será armazenada vai ser em /home/sansforensics/Desktop/cases/Forensics_practical. Lá dentro, vai ter um arquivo chamado imagem.raw.
  • na terceira pergunta, o tamanho do segmento. Esse segmento é quando queremos trabalhar com o chamado split image. E o que é isso? É quando queremos dividir o nosso arquivo de imagem forense em vários pedaços/segmentos. Aí então, se quiséssemos uma split image no formato raw, iríamos indicar qual o tamanho de cada segmento. Como eu não quero que a imagem no formato raw não seja "repartida" em segmentos, eu escolhi o valor zero (0). Isso significa que eu não vou querer "splitar" a imagem forense; eu vou querer somente um arquivo, mesmo que seja grande, para ser a minha imagem forense no formato raw.
  • na quarta pergunta, ele quer saber qual o primeiro byte que será exportado/convertido. Podemos notar que ele mostra um intervalo que vai de 0 até 7.9 EiB. Nesse caso eu indiquei que o primeiro byte a ser exportado/convertido é o byte 0, justamente porque eu quero converter toda imagem no formato ewf, desde o início. Como o início é no byte 0, então eu indiquei que ele vai começar a exportar/converter desde o início :). Isso parece até um pouco óbvio :)
  • na quinta pergunta, ele quer saber o número de bytes a ser exportado/convertido. Como eu quero converter toda a imagem forense, então eu optei por converter o número máximo de bytes da imagem, assim significa que eu vou exportar/converter o arquivo inteiro.
OBS: vale a pena observar que ele mostra os valores defaults entre colchetes. Se você quiser os valores default, é só apertar a tecla Enter.
Como dissemos no post anterior, o formato EWF permite a compressão de dados. Então, a imagem no formato EWF será bem menor do que a mesma imagem no formato RAW.

Outra alternativa que nós temos é usar o utilitário img_cat, que faz parte da suíte de utilitários do sleuthkit. O comando é: img_cat -v -i ewf "imagem.e01" > "imagem.dd"

Podemos notar alguns parâmetros na linha de comando. O primeiro parâmetro (-v) significa que ele vai jogar para o stderr uma saída detalhada de erros; o parâmetro (-i) indica qual é o tipo da minha imagem antes de ser convertida. Neste caso, eu disse que antes da conversão, a minha imagem original é do tipo/formato ewf. Por fim, eu tenho um redirecionamento para um arquivo de imagem forense do tipo raw (imagem.dd).

Podemos notar também a compressão de dados do formato EWF. A imagem no formato EWF é bem menor do que a imagem no formato RAW.


2) Conversão do formato RAW para o formato EWF/E01
E se eu tenho uma imagem forense no formato RAW e quero convertê-la para o formato EWF. Como eu faço isso? Resposta, eu posso usar um utilitário que faz parte da libewf, o ewfacquire.
No post sobre imagens ewf, eu comentei sobre esse utilitário (este utilitário serve para se criar uma imagem forense no formato ewf). Só que eu também posso usar este utilitário para converter uma imagem raw para uma imagem ewf/e01.
Como eu faço isso? Basta digitar: ewfacquire "nome da imagem no formato raw".
Para exemplificar, eu tenho uma imagem no formato raw chamada: imagem.raw. Se eu quiser convertê-la para o formato ewf/e01, basta digitar o comando: ewfacquire imagem.raw. Assim, eu vou converter o arquivo imagem.raw para o formato ewf/e01 (tornando assim imagem.e01).


Vocês podem notar que ele vai me pedir para responder algumas questões básicas. Essas questões são os metadados referentes à imagem no formato EWF (lembram que esse tipo de formato permite armazenar metadados?). Pois é, são algumas perguntas básicas, coisa rápida (nós já vimos sobre o ewfacquire aqui).
Lembrando que para responder as perguntas com as opções default, basta apertar a tecla "enter". Depois de responder essas perguntas, ele começa o processo de conversão. Ao fim, ele mostra quanto tempo durou essa conversão e o hash da nova imagem forense (imagem esta que está no formato ewf).
Agora, uma pergunta: o ewfacquire mostra o hash da nova imagem. Se eu digitar "md5sum imagem.E01", porque esse novo hash vai ser diferente do hash apresentado pelo ewfacquire? Resposta: o hash mostrado pelo utilitário ewfacquire é calculado somente em cima dos dados (isso significa que o hash não leva em conta os metadados da imagem.E01). Portanto, o hash mostrado pelo ewfacquire vai ser igual ao hash do arquivo imagem.raw

3) Conversão do formato AFF para RAW
Já falamos sobre imagens AFF aqui. Se alguém tiver alguma dúvida, basta acessar o link para ver como o aff funciona.
Agora, nós vamos falar sobre a conversão do formato aff para raw.
Eu tenho uma imagem física de uma pendrive. Esta imagem física está no formato AFF? Como eu faço para convertê-la para o formato Raw? Resposta: eu uso o utilitário affconvert (lembrando que nós falamos sobre o affconvert aqui).

E como o affconvert funciona para converter de um formato para o outro? Como ele funciona para converter uma imagem no formato AFF para RAW? É simples. O comando é: affconvert -r "imagem.aff". Neste exemplo, a minha imagem no formato AFF se chama "image.aff". Então, neste exemplo, a linha de comando fica assim: affconvert -r image.aff.

Podemos ver que usei o parâmetro -r. Ele serve para falar que após a conversão, a nova imagem será no formato RAW (-r vem de raw).
Simples, né? :)


4) Conversão do formato RAW para AFF
E se eu quiser converter do formato raw para aff? Qual ferramenta eu posso usar? Resposta: o próprio affconvert. O comando é: affconvert "imagem no formato raw". Como eu vou converter um arquivo de imagem que se chama "imagem.raw", a linha de comando fica assim: affconvert imagem.raw.

Notem que eu não tenho nenhum parâmetro na linha de comando.


5) Conversão do formato AFF para AFF
Agora que nós já falamos de algumas conversões, vamos falar sobre conversão do formato AFF para AFF. Mas como assim? Conversão de um formato para o mesmo formato? Não; o que eu quis dizer é que agora nós vamos falar sobre a conversão entre os vários formatos do container AFF. Lembra que no post passado, sobre imagens AFF, eu comentei que existem 3 métodos/formatos para o container AFF? Esses 3 métodos/formatos são o próprio AFF, o AFD e o AFM.
Então, o que nós vamos fazer agora é pegar uma imagem em um destes 3 formatos e converter para outro formato.

5.1) Conversão do formato AFF para o AFM
A primeira conversão será do formato AFF (armazena tanto os metadados quanto os dados em um único arquivo) para o formato AFM (os metadados são armazenados no arquivo .afm e os dados são armazenados no arquivo splitraw).

Notem que,depois do processo de conversão, eu vou ter 3 arquivos. O arquivo image.000 é o meu arquivo de imagem splitraw. O arquivo image.aff era a minha imagem original, antes da conversão. O arquivo image.afm é o arquivo que contém os metadados referentes a imagem splitraw.
Resumindo, em grosso modo, bem simplista, o que fiz foi o seguinte: eu peguei a imagem aff (arquivo image.aff, que contém os metadados e os dados juntamente em um único arquivo) e separei os metadados dos dados em si; os metadados foi para um novo arquivo (imagem.afm) e os dados foram para o arquivo image.000.
Se eu quiser acessar os metadados, basta digitar o comando "affinfo image.afm. Se eu quiser ver a geometria do disco da minha imagem, basta digitar "mmls image.000" ou "mmls image.aff", vai dar no mesmo.

5.2) Conversão do formato AFF para o AFD
Agora, nós vamos fazer a conversão da imagem no formato AFF para o formato AFD. Lembrando que no formato AFF a imagem e os metadados estão contidos em um único arquivo; e, no formato AFD, os metadados estão armazenados na própria imagem forense, porém, quebra-se a imagem forense em alguns "pedaços".

O nome da imagem forense no formato AFF é: image.aff.
Depois do processo de conversão, será criado um diretório para os arquivos AFD (o diretório recebe o nome da imagem com extensão AFD - image.afd). Nesse diretório estarão os arquivos da imagem splitraw. No meu exemplo, dentro do diretório image.afd, eu vou ter o arquivo file_000.aff (que é um arquivo AFF - img_stat file_000.aff). Se eu quiser, eu posso até montar o arquivo file_000.aff usando o utilitário affuse; já vimos esse procedimento aqui.

5.3) Conversão do formato AFD para o AFM
O processo é o mesmo. Eu vou usar o utilitário affconvert com o parâmetro -a.

Depois do processo de conversão, eu vou ter 4 arquivos:
  • image000: a imagem forense em si. Ela é do tipo splitraw.
  • image.afd: era a minha imagem no formato AFD antes da conversão
  • image.aff: é somente uma imagem no formato AFF, que não participou em nada no processo de conversão
  • image.afm: arquivo que contém os metadados referentes à imagem splitraw - metadados referentes ao arquivo de imagem image.000
5.4) Conversão do formato AFM para o AFD
O processo não é diferente. Vamos usar novamente o utilitário affconvert com o parâmetro -a.

Se eu quiser, eu posso até entrar no diretório "image.afd", que eu vou ver um arquivo de imagem AFF lá dentro. No meu exemplo aqui, a imagem AFF que vai estar dentro do diretório image.afd é o arquivo: file_000.aff.
Eu posso fazer o que quiser com o arquivo file_000.aff; eu posso montá-lo, e posso também exibir algumas informações (metadados) referentes à imagem forense, usando o utilitário affinfo file_000.aff

5.5) Conversão do formato AFM para o AFF
O processo para conversão do formato AFM para o formato AFF é o mesmo das outras conversões. Eu vou usar o utilitário affconvert com o parâmetro -a

5.6) Conversão do formato AFD para o AFF
Por fim, nós temos a conversão do formato AFD para o formato AFF. Novamente, eu vou usar o utilitário affconvert com o parâmetro -a.


Bom, é isso galera.
Espero que esse post tenha alguma importância para você, leitor.

Um abraço!





Referências:

Imagens AFF

Opa, e aí galera.

Tudo bem?
Nós já falamos sobre imagens no formato EWF/E01 aqui. Agora, nesse post, nós vamos falar sobre um outro tipo de formato de imagens forense: o formato AFF.

1) História
Pra começo de história, este formato foi idealizado pelo cientista Simson Garfinkel e a empresa Basis Technology. AFF significa Advanced Forensics Format. A versão mais recente do AFF foi implementado pela sua biblioteca, a AFFLIBv3, que pode ser encontrado em seu github. Não vamos confundir o formato AFF com o AFFv4. Este último foi um "redesenho" do formato AFF, ou seja, é um novo formato (Fonte: AFF4).

2) AFFLIBv3
Como já dissemos, para ter suporte ao formato AFF precisamos ter instalado sua biblioteca, a AFFLIBv3. Essa biblioteca permite ter suporte a algumas ferramentas que iremos falar mais adiante. Mas vamos falar primeiro sobre o AFF.

O formato AFF foi criado para ser um formato extensível e aberto para o armazenamento de imagens de disco e de seus metadados. Quando eu digo aberto, é porque qualquer um pode "integrar/acoplar" os utilitários da AFFLIB em seus próprios softwares, sejam eles abertos ou proprietários. Quando eu digo extensível, é porque novas características podem ser adicionadas mantendo, ainda assim, a compatibilidade (Fonte: aqui). Além disso, o formato AFF é livre de patentes.

Segundo o Luiz Rabelo, "AFF suporta dois algoritmos de compressão: zlib, que é rápido e razoavelmente eficiente, e LZMA, que é mais lento, mas muito mais eficiente. O zlib é o mesmo algoritmo de compactação usado pelo EnCase. Como resultado, arquivos AFF compactados com zlib são aproximadamente do mesmo tamanho que o arquivo  equivalente no formato EnCase. A grande vantagem é que arquivos AFF  podem ser "re-compactados" (!) utilizando o algoritmo LZMA. Esses arquivos tem um tamanho aproximado de 1/2 a 1/10 do tamanho do original AFF / arquivo EnCase."

As imagens no formato AFF podem ser armazenadas em um destes 3 métodos/formatos:
  • AFF: formato padrão. Neste método, um único arquivo de imagem forense contém os dados forense (que é a imagem forense em si) e os metadados embarcados.
  • AFD: Neste método, o metadado está armazenado na imagem forense. Porém, "quebra-se" a imagem forense em tamanhos fixos.
  • AFM: Neste método a imagem é armazenada no formato raw e os metadados são armazenados em um outro arquivo.

A biblioteca AFFLIBv3 possui algumas ferramentas que permite trabalharmos com imagens no formato AFF. Algumas dessas ferramentas são:
  • affconvert: permite converter imagens em todos os formatos suportados pelo formato AFF (RAW --> AFF; AFF --> RAW; AFF-->AFF). 
  • affuse: permite que os arquivos de imagens AFF (imagens AFF) apareçam como arquivos/imagens no formato RAW. Assim, o affuse permite que as imagens de disco sejam montadas.
  • affinfo: exibe algumas informações sobre a imagem AFF
  • affxml: exibe algumas informações sobre a imagem AFF como XML



3) Criando uma Imagem Forense AFF
Já fizemos uma introdução sobre o formato AFF, agora vamos ver como criar uma imagem forense no formato AFF. 

Para criar uma imagem forense no formato AFF podemos usar o software FTK Imager. Ele permite tanto criar uma imagem física quanto uma imagem lógica. Como dissemos no post sobre imagens ewf, o FTK Imager serve tanto para criar imagens de dispositivos atachados na minha estação forense (HDs, pendrives, etc) quanto também serve para criar imagens forense de uma máquina virtual (se eu tenho uma máquina virtual qualquer e quero criar uma imagem forense desta máquina, eu posso usar o FTK Imager pra isso) (Fonte: aqui).
OBS: Vale lembrar que para se criar uma imagem forense de uma máquina virtual no VMWare (considerando que esta máquina virtual está ligada e funcionando), precisamos primeiro suspender esta máquina virtual pra depois começar o processo de criação da imagem forense.

Se alguém tiver alguma dúvida de como se criar uma imagem forense utilizando o FTK Imager, pode entrar neste link.


4) Montando Imagens AFF
Agora que já temos nossa imagem no formato AFF, vamos montá-la. É um processo simples.
Precisamos primeiro ter o diretório para o ponto de montagem. Vamos montar a imagem no formato AFF no diretório /mnt/aff. Como a SIFT vem com esse diretório criado por default, não precisamos criá-lo. O próximo passo é usar o utilitário affuse para podermos montar a imagem no formato AFF no diretório /mnt/aff. Depois de usar o affuse e montando a imagem no formato AFF, vamos ver que ele é, na verdade, um container, e que carrega lá dentro dele uma imagem no formato raw. Então, se entrarmos no diretório /mnt/aff vamos ver que existe uma imagem no formato raw lá dentro. Depois disso, podemos montar a imagem no formato raw normalmente, utilizando o comando mount.

A imagem que eu montei foi uma imagem de uma pendrive, que não tinha nada armazenado lá dentro. Por isso que depois de montada, não apareceu nenhum arquivo com o comando "ls".

No post sobre imagens ewf, comentamos sobre o parâmetro offset. Se alguém tiver alguma dúvida, pode ir lá e ver a explicação sobre este parâmetro. Naquele post também comentamos a necessidade de se desmontar a imagem depois de analisá-la. O processo de desmontagem de imagens no formato AFF é o mesmo processo de desmontagem de imagens ewf (acontece em 2 passos).


Bom, é isso.
Um abração!





Referências: