setembro 2013 | Date Archive | Auditoria e Análise Forense - A computação forense na análise de crimes e incidentes
Registro do Windows – Parte IV – Buscando evidências
O Registro do Windows além de ser um banco de dados de configurações, também um log das atividades realizadas no sistema. No Registro podemos encontrar os últimos arquivos acessados, os processos carregados na carga inicial do sistema, últimos arquivos executados, configurações de rede, entre tantas outras coisas mais.
De forma análoga ao que acontece com os arquivos, as chaves de Registro também mantém um valor associado, armazenado no formato FILETIME do Windows, onde é registrada a última alteração (modificação, acesso e exclusão) sofrida, denominada de LASTWRITE. Esta característica só é associada para as chaves de Registro, para os valores não.
Nos posts anteriores mostramos a localização das Hives e a estrutura do Registro assim como citamos o software Windows Registry Recovery da Mitec. Existem outras ferramentas para fins forenses como o Registry Report e o Registry Viewer, ambos da Gaijin ou ainda o Registry Ripper do Harlan Carvey, desenvolvidas para extração e visualização do conteúdo do Registro.
Visão do regedit do windows
Onde então estariam evidências importantes no Registro? Tomaremos como exemplo o Microsoft Windows 7.
Carga automática de Programas ou scripts
Na inicialização do sistema operacional alguns programas, scripts e arquivos são executados/carregados automaticamente. Algumas chaves contém valores que carregam programas e/ou aplicativos na inicialização do sistema. Para quem avalia um registro com fins forenses é especialmente útil a busca por programas de inicialização persistente como malwares, que podem estar nas seguintes chaves:
HKEY_USERS\SID\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_USERS\SID\Software\Microsoft\Windows\CurrentVersion\RunOnce
C:\Users\username\AppData\Roaming\Microsoft\Windows\Menu Iniciar\Programas\Inicializar ou
Configurações de rede (inclusive wireless)
As configurações de rede do sistema ficam armazenadas na chave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters que abriga as chaves DNSRegisteredAdapters e Interfaces onde se encontram respectivamente valores com as informações relativas às configurações de DNS e as configurações de endereço IP, máscara de rede, gateway, servidor DHCP, entre outras, atribuídas a cada interface de rede na última conexão realizada. Já os SSIDs das redes sem fio configuradas ficam na chave HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\NetworkList\Profiles, entretanto essas mesmas informações ficam armazenadas na pasta C:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces, em arquivos XML.
SSID das conexões Wi-Fi
Arquivos e programas mais recentes utilizados também são guardados no Registro do Windows. São estas chaves que fornecem informação aos recursos do "menu iniciar" como o "Itens Recentes" ou preenchem a linha do "Executar" (Run). Também armazenam as listas de arquivos recentes mostrados pelos aplicativos instaladas.
A análise destas chaves de Registro é especialmente útil quando queremos saber quais foram os últimos arquivos abertos ou últimos programas carregados pelo usuário do computador suspeito. As chaves listadas a seguir possuem sub-chaves organizadas por extensão de arquivos:
Documentos Recentemente Utilizados
HKEY_USERS\SID\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
Caixa "Executar" (Run) do menu iniciar
HKEY_USERS\SID\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
Chaves RunMRU
Observa-se que os valores são nomeados por letras seguindo ordem alfabética, sendo a letra a indica o valor mais antigo. Os dados armazenados nestes valores também estão assim ordenados.
A chave UserAssist (HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Explorer\UserAssist) é formada por duas ou mais sub-chaves cujos valores possuem dados codificados em ROT13 que representam GUIDs (Globally Unique Identifiers ou Identificadores Globais Únicos). Cada valor está associados a um determinado objeto acessado pelo usuário, como um programa, um atalho, um comando, etc. A codificação ROT13 utiliza um algoritmo que rotaciona cada caractere em 13 posições, para cima ou para baixo, a depender de sua posição. de A a M soma-se 13 e de N a Z diminui-se 13, assim a letra A passa a ser N e O passa a ser B. Veja um conversor ROT13 on line em http://edoceo.com/utilitas/rot13.
Chave UserAssit
O nome do valor destacado na imagem é "{0139Q44R-6NSR-49S2-8690-3QNSPNR6SSO8}\7-Mvc\7-Mvc Svyr Znantre.yax" que ao ser descodificado passa a ser "{0139D44E-6AFE-49F2-8690-3DAFCAE6FFB8}\7-Zip\7-Zip File Manager.lnk".