domingo, 13 de janeiro de 2008

Product ID

Um dos peritos da lista Perícia Forense trouxe na semana passada uma necessidade interessante. Ele precisava levantar o Product ID (o serial) de cada programa instalado em um grupo de máquinas, de forma não invasiva.

Esse número fica no registry, e isso é a única coisa em comum nos softwares. De resto, cada um tem um formato diferente e é armazenado em uma chave distinta.

Todas as opções que a turma comentou cumpriam bem o ponto, menos no quesito mais importante: elas vasculhavam o registry ativo, e isso não atendia, pois seria um procedimento invasivo.

Basicamente, o que precisamos aqui é de um programa que acesse arquivos de registry e localize os seriais de cada programa instalado. Como não há um formato único nem padrão de localização, precisamos de uma base de conhecimento que nos indique onde procurar. É exatamente aí que entra a sugestão de um dos participantes. Um programa chamado Product Key Explorer faz exatamente isso, ele vasculha o registry procurando os seriais, sendo que ele tem uma base com a localização de onde cada programa guarda o seu serial number. Porém, novamente esse programa não atende ao nosso colega, já que ele faz sua busca no registry ativo.

Harlan Carvey disponibilizou há algum tempo uma rotina em Perl que faz o parse do registry, e como ela o faz sem usar as bibliotecas do Windows, essa rotina funciona em Linux e, logicamente, em qualquer arquivo de registry que você achar na imagem do hd.

Sabendo disso, minha sugestão é de implementar alterações nessa rotina, fazendo-a listar todos os seriais encontrados em um determinado arquivo de registry. Para isso, podemos usar o RegMon da SysInternals para monitorar o Product Key Explorer. Listaremos cada chave procurada, e passaremos a lista para o programa Perl.

Dá até para criar um script shell que monte (usando o loopback) todas as imagens em um diretório e extraia delas os arquivos de registry (use file e grep para isso). Aplique a rotina Perl em cada arquivo de registry extraído.

Pronto !

A idéia está dada. Alguém se habilita ?

A tal rotina do Harlan, inclusive, pode ser ponto de partida para vários outros itens de busca importantes, e já há quem fale sobre uma nova disciplina surgindo, como um grande subconjunto de conhecimento de Forense de Windows. Seria a Forense de Registry.

Quem finalizar o processo, por favor deixe uma nota nos comentários desse artigo, para que possamos divulgá-la.

Até o próximo post !

Nenhum comentário: