terça-feira, 15 de setembro de 2009

Vinho é um santo remédio !

As ferramentas que usamos em Forense Computacional são muito importantes para atingirmos o objetivo. Elas permitem que possamos avaliar e examinar vestígios de forma adequada. Uma situação bem comum é quando estamos realizando uma perícia e precisamos avaliar um vestígio, mas as ferramentas necessárias para isso não estão disponíveis no SO que estamos usando. Ou seja, quando estamos usando um Live CD baseado em Linux e nossa imagem e vestígios estão disponíveis, tudo está indo bem. No entanto, podemos topar com a necessidade de uma analise que requer uma ferramenta somente disponível em Windows. Aí o caldo começa a engrossar ...

Há algumas estratégias desenvolvidas para tratar isso. Todas tem prós e contras. Vou tentar resumir:

1) Podemos extrair os vestígios da imagem, salvando em uma partição FAT que depois será acessada pelo Windows e suas ferramentas.

2) Podemos extrair os vestígios da imagem ou mesmo montá-la, colocando os arquivos acessíveis em um compartilhamento (via Samba). Pelo Windows, mapearemos o compartilhamento e acessaremos os artefatos/vestígios, completando as análises.

3) Podemos extrair os vestígios para fora da imagem e depois acessar a partição Ext2/Ext3 usando utilitários Windows que conseguem ler e recuperar arquivos dessas partições.

Como já disse, cada uma dessas estratégias possui limitações e situações indesejadas. Elas precisam ser bem conhecidas para que o perito possa escolher qual usar quando for necessário. As estratégias que envolvem retirar os vestígios da imagem podem requerer grande quantidade de espaço em disco, seja na partição FAT ou na Ext2/Ext3. As estratégias que usam compartilhamento vão requerer que as estações forenses estejam em rede. Um problema a mais é que o Samba foi retirado das versões mais recentes do Helix e do Caine. O FCCU oferece dificuldades a mais em relação à rede.

Há outra alternativa para o problema e que não possui as características negativas acima: Vinho !

Vinho ???

Wine é o nome de um programa para Linux que, segundo documentações do site, compatibiliza o SO Linux, origem de nossos Live CDs de Forense, com as aplicações Windows. A documentação tenta ser bastante enfática no conceito, afirmando que o Wine não faz emulação de código, nem cria algum tipo de máquina virtual. O Wine cria condições para que um programa Windows possa rodar em Linux, numa boa. Ele é comparado a opção de executar um programa criado para o WinXP dentro do Vista. As opções de compatibilização fazem, por debaixo dos panos, o mesmo que o Wine faz, no Linux; Elas criam o mesmo ambiente básico que o programa espera encontrar para poder executar.

O que é necessário ?

Uma conexão de internet funcionando para o Live CD. Isso porque, como nenhum deles traz o Wine, será necessário atualizar o SO e baixar o Wine antes de poder usá-lo. Vamos a um passo a passo, que deve funcionar da mesma maneira em todos os Live CDs. Eu testei no Helix e no Caine:

1) Em um terminal root, execute apt-get update
O Live CD vai buscar algumas atualizações para o SO diretamente da internet.
2) Execute apt-get install wine
Esse demora um pouco mais e no final garante que o wine esteja completamente instalado no Live CD.

3) Execute qualquer utilitário Windows: wine UTILITARIO.EXE
O Wine monta um ambiente simulando um C:\ e executa o utilitário.

A página de download do Wine oferece outras formas de download e instalação do Wine. Clique aqui para ver. Use a linha do Ubuntu Hardy tanto para o Helix quanto para o Caine.

Essa é uma das melhores maneiras de reaproveitar ferramentas e resolver a questão que coloquei acima, quando não temos ferramenta para o vestígio que queremos investigar, nem no Live CD, nem fora, pelo menos em Perl ou Python. Eu testei algumas ferramentas:

- WFA: Funcionou perfeitamente e em todos os módulos;
- FastResolver e IPNetInfo: Não apresentaram todas as informações;
- HashCalc e Pre-Search, ambos do Deft: Funcionaram perfeitamente;

O site do Wine mantém um database com informações de programas que foram testados e podem ser considerados compatível. Embora eu não tenha testado, não tenho grandes expectativas de que programas do tipo filemon ou regmon funcionem no Wine. Imagino que, por eles usarem capacidades bastante elementares do Windows, não sejam facilmente portáveis.

Nem tudo são flores

Além da questão da compatibilidade, que descrevi acima, há outro detalhe: Estamos lidando com um Live CD. Todo o processo de instalação se perde quando a máquina é desligada. Isso pode fazer com que seja necessário repetir o processo de reinstalação toda nova sessão de investigação/perícia. Podemos evitar isso com:

- Um esquema para perpetuar a sessão. Não cheguei a pesquisar essa opção, mas havia essa possibilidade no Helix 1.9;
- Usar máquina virtual, e dar uma "pausa" na máquina quando ela não for mais necessária. Quando ela for utilizada novamente, o restore vai garantir que ela esteja com o Wine lá;
- Usar uma versão instalada do Helix ou do Caine. Nesse caso, o Wine não vai embora quando desligamos as luzes da sala ...

Gostaria de ouvir comentários de quem já usa essa ferramenta. Quais são os utilitários forenses que você tem usado com sucesso ? Que estratégia para manter o Wine você usa ?

Até o próximo post !

2 comentários:

Jader Lima disse...

O live cd backtrack já vem o wine encapsulado...e pq não encapsular o wine no caine e no helix??

Tony Rodrigues disse...

Vou falar com os caras do Caine. A eFense, do Helix, só abre comentários para quem paga para usar o forum ...