Baixe o app para aproveitar ainda mais
Prévia do material em texto
Kit de Ferramentas Forense Ambiente Microsoft Andrey Rodrigues de Freitas Agradecimentos Em primeiro lugar, a Deus; pela saúde e sabedoria. Aos membros do grupo de discussão Perícia Forense Aplicada à Informática, aos colaboradores que participaram das edições da Revista Evidência Digital e aos leitores/seguidores do site Guia Técnico. Andrey Rodrigues de Freitas Dedicatória Dedico este livro à minha esposa Simone e aos meus filhos Rodrigo e Rafael. Este livro é também dedicado à minha mãe Neide, à minha avó Arminda (in memorian), e ao meu avô Salvador (in memorian), que me educaram para a vida e sempre acreditaram em mim. Sumário Introdução Kit de Ferramentas Iniciando uma Investigação Criando o Arquivo de Hash do Kit de Ferramentas Usando um Prompt de Comando Confiável Capturando a Data e a Hora do Início da Investigação Investigando o Sistema Descobrindo o Nome do Computador Descobrindo a Versão do Windows Descobrindo o MAC Address da Placa de Rede Descobrindo Conexões ao Sistema Descobrindo Quais Portas estão Abertas no Sistema Descobrindo Quais Processos estão em Execução Analisando as Atividades do SO em Tempo-Real Procurando por Logs de Aplicativos Investigando os Logs de Evento Investigando os Logs de Evento com o Utilitário PsLogList Investigando os Logs de Evento com a Ferramenta Dumpel Investigando os Logs de Evento com o Utilitário Event Viewer Investigando o Registro do Sistema Analisando o Registro através do Prompt de Comando Descobrindo Arquivos com Inicialização Automática Identificando Rootkits no Sistema Investigando Discagem Automática Decifrando Senhas do Sistema Operacional Descobrindo Serviços de Controle e Acesso Remoto Procurando por Recursos Compartilhados Descobrindo Tarefas Agendadas Detectando Sniffer na Rede Investigando os Usuários Descobrindo Quem está Conectado ao Sistema Detectando Quais Usuários Logaram ou Tentaram Logar no Computador Descobrindo Contas e Grupos de Usuários Descobrindo a Primeira vez que o Usuário Logou no Sistema Descobrindo a Última vez que o Usuário Logou no Sistema Investigando os Arquivos Analisando as Horas de Modificação, Criação e Acesso de Todos os Arquivos Descobrindo Informações através de Buscas por Palavras-Chave Descobrindo o Tipo do Arquivo e suas Associações Descobrindo Quem tem Acesso ao Arquivo Comparando Arquivos Descobrindo se o Arquivo está Criptografado Recuperando Arquivos Excluídos Investigando Arquivos na Lixeira Investigando Arquivos Temporários Investigando Links de Atalhos Descobrindo Arquivos Incomuns Descobrindo Arquivos Ocultos Descobrindo Quais Arquivos Foram Acessados Descobrindo Buscas Realizadas no Sistema Procurando por Arquivos Impressos Procurando Vírus em Arquivos Suspeitos Procurando por Arquivos Usados Recentemente Investigando os Vestígios de Acesso à Internet Investigando Arquivos Temporários do Browser Investigando o Histórico do Browser Investigando a Barra de Endereços do Browser Investigando o Menu Favoritos do Browser Descobrindo Informações em Cookies Finalizando uma Investigação Capturando a Data e a Hora do Final da Investigação Documentando os Comandos Usados na Investigação Garantindo a Integridade do Kit e das Provas Apêndices Apêndice I – Kit de Ferramentas Apêndice II - Eventos de Auditoria Apêndice III - Security Identifier (SID) Apêndice IV - Portas e Serviços Apêndice V - Determinando a Origem dos Ataques Introdução Por onde começar uma investigação forense? O que procurar em um Sistema Operacional invadido? Ou melhor, onde procurar? Para responder a estas perguntas dividi este livro em sete tópicos: Kit de Ferramentas Conjunto de softwares confiáveis usados na investigação. Iniciando uma Investigação Neste tópico estão os passos iniciais de toda investigação. Investigando o Sistema Será através deste tópico que você aprenderá a identificar quais processos estão em execução e quais portas estão abertas no SO, a analisar arquivos de logs, a investigar o registro do Windows, compartilhamentos etc. Investigando os Usuários Quem está conectado ao sistema neste momento? Quem logou ou tentou logar no computador recentemente? Descubra quem são os usuários que utilizam ou utilizaram o equipamento. Investigando os Arquivos Recupere arquivos excluídos, investigue arquivos na lixeira, descubra arquivos temporários, ocultos e impressos. Investigando os Vestígios de Acesso à Internet Descubra quais sites foram acessados pelo suspeito, identifique os arquivos temporários da Internet, analise o histórico e o item favoritos do browser. Finalizando uma Investigação Neste último grupo estão os passos finais de uma investigação. Capture a data e hora do final da perícia, documente os comandos utilizados e garanta a integridade das evidências. Kit de Ferramentas O Kit de Ferramentas é um conjunto de softwares confiáveis usados na investigação. O Kit é um componente fundamental da perícia forense, pois será através dele que você obterá as evidências do crime. No Windows existem dois tipos de aplicativos: os gráficos e os de linha de comando. Neste livro, demonstrarei a utilização dos dois tipos, sendo que o mais aconselhável em uma análise ao vivo é o de linha de comando. Para criar o Kit, você deverá copiar as ferramentas que utilizará na investigação para um CD-ROM ou armazená-las em disquete ou em um dispositivo USB, sendo que um dos itens do Kit deverá ser um arquivo de texto contendo o hash de todas as ferramentas. Este arquivo de hash será utilizado para garantir a integridade do Kit no final da perícia. Iniciando uma Investigação 1. Criando o Arquivo de Hash do Kit de Ferramentas Para garantir a integridade do Kit de Ferramentas ao final da investigação, utilize o comando md5sum para gerar um arquivo texto contendo a soma de verificação de cada arquivo do Kit (a soma de verificação também é conhecida como hash). O Hash pode ser considerado como uma assinatura digital onde cada arquivo possui um valor exclusivo. Depois de gerado o arquivo, guarde-o. A sintaxe do comando é: md5sum *.* > Integridade_Dados_Inicial.txt Veja um exemplo do arquivo gerado pelo md5sum na Figura 1. Figura 1 Usando um Prompt de Comando Confiável Em todas as investigações sempre execute um prompt de comando confiável, por isso a necessidade da criação do Kit de Ferramentas. Imagine a surpresa ao digitar o comando dir e descobrir tarde demais que o invasor havia alterado o comando dir para format, tornando assim a investigação um fracasso. Para que isso nunca aconteça, utilize sempre um Kit de Ferramentas criado por você. Para executar o prompt de comando que está no Kit de Ferramentas, siga os seguintes passos: Botão Iniciar > Executar e digite na caixa de texto: <Drive>:\Kit\cmd.exe (ver Figura 2). Figura 2 Observe na Figura 3 o prompt sendo executado a partir do Kit de Ferramentas. Figura 3 Capturando a Data e a Hora do Início da Investigação Ao capturar a data e a hora do sistema, você estará comprovando oficialmente o momento em que deu início ao processo de investigação. Execute o comando date redirecionando a saída para um arquivo texto em um disquete ou para um dispositivo USB, conforme mostra a Figura 4. Execute depois o comando time adicionando a resposta também ao arquivo. Figura 4 DICA Use o comando type para exibir um arquivo de texto sem modificá-lo. Se o nome do arquivo tiver espaços, ele deverá ser colocado entre aspas. Investigando o Sistema Descobrindo o Nome do Computador O comando utilizado para identificar o nome do computador é o hostname. Observe o comando sendo executado na Figura 5. Figura 5 Para descobrir o nome do computador em ambiente gráfico, clique com o botão direito do mouse no ícone “Meu computador”, escolha “Propriedades”, e na tela que se abre escolha a aba “Identificação de rede”. Veja nas Figuras 6 (Windows 2000) e 7 (Windows 7) os nomes dos computadores em ambientes gráficos. Figura 6 Figura7 Descobrindo a Versão do Windows Para descobrir a versão do Windows, você poderá utilizar a ferramenta de linha de comando chamado psinfo. Além das informações do sistema local, o psinfo é capaz de mostrar as informações de um sistema remoto, tais como: versão do Windows, nome do computador, service pack instalado, versão do Kernel, data de instalação, número de processadores, quantidade de memória e muito mais. Observe na Figura 8 o resultado da execução do comando psinfo. Para descobrir a versão do Windows em ambiente gráfico, clique no ícone “Meu computador” com o botão direito do mouse e escolha “Propriedades”. Observe na Figura 9 o item Sistema. Figura 8 Figura 9 Através do recurso “Informações sobre o Sistema” também é possível obter as informações de configuração da máquina investigada (local ou remotamente). O recurso Informações sobre o sistema é um utilitário nativo do Windows, e pode ser encontrado no seguinte diretório: <Drive>:\Arquivos de programas\Arquivos comuns\Microsoft Shared\MSInfo. Observe na Figura 10 o recurso “Informações sobre o Sistema” do Windows 2000. Figura 10 É possível obter as mesmas informações através do prompt de comando e, caso queira, criar um relatório com as evidências da máquina investigada. Digite o seguinte comando no prompt do Windows: msinfo32 /report MsInfo32.txt /computer forense Onde: msinfo32 : Nome do comando; /report : Informa que a saída será um arquivo; MsInfo32.txt : Nome do arquivo; /computer : Informa que deverá se conectar a um computador específico; forense : Nome do computador. Observe o relatório gerado pelo comando msinfo32 na Figura 11. Figura 11 ATENÇÃO! Cuidado ao usar o comando ver para obter o nome e a versão do Sistema Operacional. Quando digitamos o comando ver no prompt do Windows, ele nos informa o nome e a versão do Sistema Operacional, mas o que pouca gente sabe é que o nome que aparece não é o nome do Sistema Operacional que está sendo executado, e sim o nome do S.O. de onde foi originado o prompt de comando. Por exemplo, observe as Figuras 12 e 13 onde ambos os prompts de comando estão sendo executados no Windows 2000, porém a Figura 13 informa que o Sistema Operacional é um Windows XP (porque o prompt foi copiado de um Windows XP). Observe também que nas duas figuras a versão é a mesma, porém com um zero a menos. Figura 12 Figura 13 Outro exemplo para uma melhor compreensão: Os dois prompts de comando estão sendo executados em um Windows XP, a Figura 14 é um prompt original (prompt do XP sendo executado no Windows XP) e a Figura 15 é um prompt do Windows 2000 sendo executado no Windows XP. Figura 14 Figura 15 Outro exemplo: Os dois prompts abaixo estão sendo executados em um Windows 7, a Figura 16 é um prompt original e a Figura 17 é um prompt do Windows 2000 sendo executado no Windows 7. Figura 16 Figura 17 Conclusão: A versão que aparecerá quando digitarmos o comando ver sempre será a do Sistema Operacional corrente, porém o nome do S.O. será de onde foi originado o prompt de comando. Descobrindo o MAC Address da Placa de Rede Os utilitários de linha de comando que você utilizará para obter o MAC Address da placa de rede serão o ipconfig e o getmac. Veja os exemplos dos comandos nas Figuras 18 (ipconfig) e 19 (getmac). Figura 18 Figura 19 Descobrindo Conexões ao Sistema Para descobrir se há algum sistema remoto tentando se conectar, conectado ou que se conectou recentemente ao computador investigado, você deverá utilizar os comandos arp, nbtstat e netstat. O comando arp exibe a tabela de conversão que mapeia o endereço IP (Internet Protocol) para o endereço MAC Address dos sistemas que se comunicaram recentemente. Veja um exemplo da sintaxe “arp –a” na Figura 20. Figura 20 O nbtstat é um comando de diagnóstico que exibe as estatísticas do protocolo e as conexões TCP/IP que usam o NetBIOS (Network Basic Input Output System). Este comando lista o conteúdo do cache de nomes NetBIOS, fornecendo os endereços IP de cada conexão. A Figura 21 mostra um exemplo de como usar o comando nbtstat. Figura 21 Os cabeçalhos das colunas gerados pelo comando nbtstat possuem os seguintes significados: O comando netstat exibe a estatística do protocolo e as conexões atuais da rede TCP/IP. Veja dois exemplos da utilização do comando netstat nas Figuras 22 e 23. Figura 22 Figura 23 Os cabeçalhos das colunas gerados pelo comando netstat possuem os seguintes significados: Descobrindo Quais Portas Estão Abertas no Sistema O utilitário de linha de comando que enumera todas as portas à escuta em Sistemas Operacionais Windows é o fport. A Figura 24 mostra a sintaxe do fport e a saída correspondente. Figura 24 Veja a seguir o significado das informações listadas pelo comando fport. Outro utilitário de linha de comando que também exibe todas as portas de conexões e de escuta é o netstat. O netstat é útil para registrar dados voláteis como conexões atuais e conexões que acabaram de ser finalizadas. Observe na Figura 25 o comando netstat em execução. Figura 25 Para encerrar um processo em execução e proteger o sistema, utilize o comando kill informando o pid do processo. Veja um exemplo na Figura 26. Figura 26 Número das Portas Para mais informações sobre o número da porta que um processo está utilizando consulte o Apêndice IV. Descobrindo Quais Processos Estão em Execução Um item muito importante na investigação é registrar todos os processos que estão em execução no sistema. Um processo pode ser um programa executável, um serviço ou um subsistema. O utilitário de linha de comando que lista todos os processos é o pslist. Veja um exemplo do comando pslist na Figura 27. Figura 27 Podemos observar na Figura 27 que o pslist identificou vários processos em execução, dentre eles estão o sqlservr (servidor de banco de dados SQL Server) e o inetinfo (servidor Web IIS). Na tabela a seguir estão alguns dos principais processos do Windows. Para visualizar os processos em modo gráfico utilize o “Gerenciador de Tarefas do Windows”, veja a Figura 28. Figura 28 Analisando as Atividades do SO em Tempo-Real O aplicativo utilizado para monitorar e mostrar todas as atividades de um sistema em tempo-real chama-se filemon. Com o filemon é possível explorar as atividades do Windows e identificar como uma aplicação suspeita utiliza seus arquivos e dlls. Veja um exemplo do filemon na Figura 29. Figura 2.29 Procurando por Logs de Aplicativos Ao explorar um sistema suspeito, procure por arquivos com o sufixo .log. Muitos utilitários do Sistema Operacional Windows e aplicativos terceiros (firewall, antivírus, FTP, compartilhamento de arquivos, etc.) criam arquivos de log específicos. Analise estes arquivos, pode ser que em um deles você encontre informações importantes. Investigando os Logs de Evento Os Sistemas Operacionais Windows NT, 2000 e 2003 mantêm três arquivos de log separados, encontrados em “\System32\Config”, são eles: · Log de Sistema (sysevent.evt) - Neste log estão os eventos do sistema que são auditados, incluem drivers de dispositivos, falhas no hardware, endereços de IPs duplicados, e o inicio, pausa e parada de serviços. Log de Aplicativo (appevent.evt) - O log de aplicativos inclui eventos auditados pelo “Performance Monitor” do Windows, como o número de logon, a quantidade de uso de disco e outras medições importantes. Log de Segurança (secevent.evt) - Os eventos de segurança que são auditados incluem mudanças nos privilégios do usuário, mudança na diretiva de auditoria, acesso a diretórios e arquivos, atividade da impressora e login/logoff do sistema. Investigando os Logs de Evento com o Utilitário PsLogList O psloglist é um utilitário de linha de comando capaz de gerar relatórios dos logs de evento. Observena Figura 30 como criar um relatório utilizando o psloglist. Figura 30 A Figura 31 mostra um relatório criado pelo psloglist. Figura 31 Investigando os Logs de Evento com a Ferramenta Dumpel Com a ferramenta dumpel é possível gerar relatórios de qualquer um dos três logs de evento. A linha de comando dumpel -l security –t > log_security.txt cria um relatório do log de segurança, o resultado pode ser visto na Figura 32. Figura 32 Investigando os Logs de Evento com o Utilitário Event Viewer Os Sistemas Operacionais Windows NT, 2000, XP e 2003 fornecem um utilitário chamado “Event Viewer” (Visualizar Eventos) para acessar os logs de auditoria em um computador local ou remoto. Para analisar uma entrada específica, clique em uma linha do log, observe a Figura 33. Os itens mais interessantes do “Event Viewer” são os IDs da coluna Evento. Cada evento possui um número e um significado, para mais informações consulte o Apêndice II. Figura 33 DICA Os logs do aplicativo e do sistema podem ser visualizados por todos os usuários, mas os logs de segurança poderão ser acessados apenas por administradores. Investigando o Registro do Sistema O Sistema Operacional Windows armazena suas informações de configuração em um banco de dados hierárquico e centralizado chamado de Registro. O Registro contém perfis de cada usuário do computador, assim como informações sobre o hardware, programas instalados e configurações de propriedades do sistema. É formado por chaves e subchaves, seções e entradas de valores. Para visualizar o conteúdo do Registro em modo gráfico utilize o “Editor do Registro”, botão Iniciar > Executar e digite na caixa de texto: Regedit, Figura 34. Figura 34 Em uma investigação, o Registro pode revelar ao perito se houve a instalação de um determinado software naquela máquina, identificar cavalos-de-tróia, usuários e suas preferências, etc. As principais chaves do Registro são: HKEY_CLASSES_ROOT (HKCR) - Contêm informações sobre as associações de arquivos aos seus respectivos softwares. HKEY_CURRENT_USER (HKCU) - A chave HKCU armazena as configurações relacionadas ao perfil do usuário conectado na máquina. A subchave Software lista os programas usados no computador. HKEY_LOCAL_MACHINE (HKLM) - Contém informações sobre o hardware e software instalados no computador. Também possui uma subchave Software com os programas utilizados no computador. HKEY_USERS (HKU) - HKEY_USERS armazena informações relacionadas a todos os usuários do equipamento e suas configurações pessoais. HKEY_CURRENT_CONFIG (HKCC) - Esta chave armazena informações sobre o perfil atual do hardware, caso o usuário tenha perfis de hardware ativados, senão esta chave fornecerá as configurações defaults para o Windows. O Registro está contido em um conjunto de arquivos denominados hives. Os hives são arquivos binários, alguns ocultos, de sistema ou somente leitura. Os hives específicos do sistema estão no diretório “<Drive>:\Winnt\system32\config”. Os arquivos hives específicos do usuário estão em “<Drive>:\documents and settings\<usuário>”, onde: Como o Registro armazena informações que são muito úteis em uma análise pericial, destaco algumas chaves e subchaves que devem ser verificadas quando for analisá-lo: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs - Mantém um registro dos últimos arquivos utilizados, sejam eles documentos, atalhos, arquivos binários, etc. HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs - Mantém um registro das últimas 25 URLs visitadas no Internet Explorer. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList - Mantém uma lista de usuários do sistema sob a forma de SID. Analisando o Registro através do Prompt de Comando Através do utilitário reg query é possível pesquisar o conteúdo das chaves do Registro. Veja a seguir um exemplo da sintaxe do comando reg query e o arquivo de retorno criado pelo comando (Figura 35): Exemplo do comando reg query: reg query HKLM\SYSTEM\ /s > registro.txt Figura 35 Outro comando que pode ser utilizado em uma perícia para pesquisa de conteúdo no Registro é o dureg. Na sintaxe a seguir o dureg está sendo utilizado para pesquisar todas as ocorrências da palavra version no Registro e o retorno do comando pode ser visto na Figura 36. A sintaxe do comando dureg é: dureg /S "version" > Registro_Version.txt Figura 36 Descobrindo Arquivos com Inicialização Automática Para identificar quais programas foram configurados para iniciar junto com o Sistema Operacional Windows será necessário utilizar o utilitário Autoruns. Com o Autoruns é possível saber em que diretório está o programa suspeito, ir para o local onde se encontra sua entrada no registro, apagar, copiar, visualizar suas propriedades e pesquisar mais informações na Web. A versão gráfica do Autoruns pode ser vista na Figura 37. Figura 37 A Sysinternals criadora do Autoruns também disponibiliza para download uma versão do utilitário em linha de comando, veja um exemplo na Figura 38. Figura 38 Identificando Rootkits no Sistema O termo rootkit é usado para descrever os mecanismos e técnicas usadas por vírus, malware, spyware e trojans na tentativa de esconder sua presença de antivírus, antispyware e utilitários. Para tentar identificar um rootkit em um Sistema Operacional Windows pode-se utilizar o utilitário de detecção chamado RootkitRevealer. O RootkitRevealer possui uma versão para linha de comando e uma versão gráfica que pode ser vista na Figura 39. Figura 39 Investigando Discagem Automática Quando um aplicativo requer uso da Internet, o Windows automaticamente inicia uma conexão utilizando o recurso “Discagem Automática”. O recurso “Discagem Automática” mapeia e mantém uma lista dos endereços IP que foram conectados através dele. Para visualizar esta listagem utilize o comando rasautou –s conforme mostra a Figura 40. Figura 40 Decifrando Senhas do Sistema Operacional Um dos softwares mais utilizados para decifrar senhas em Sistemas Operacionais Windows é o L0phtcrack da @stake. Com o L0phtcrack é possível examinar as senhas do banco de dados SAM (Security Access Manager) que é o banco de dados de contas de segurança local do Windows, localizado em “<Drive>:\WINNT\system32\config”. Observe na figura a seguir o L0phtcrack utilizando ataque de dicionário para tentar quebrar as senhas de um Windows 2000. Figura 41 Descobrindo Serviços de Controle e Acesso Remoto Os serviços de controle remoto são aqueles onde o usuário remoto tem controle do sistema, incluindo tela, mouse e teclado, permitindo apenas um único usuário remoto controlando o sistema por vez. Para identificar se há algum sistema de controle remoto no computador, procure primeiro pelos arquivos de instalação, depois pelos programas que se encontram dentro do diretório “<Drive>:\Arquivos de Programas”, e por último utilize os comandos netstat, fport e pslist a fim de descobrir se há portas abertas relacionadas aos sistemas de controle remoto. Exemplos de sistemas de controle remoto: PcAnywhere e VNC. O RAS do Windows é um exemplo de acesso remoto, pois permite várias conexões simultâneas. Para identificar se há acessos remotos no sistema, utilize o comando net start para listar todos os serviços que foram iniciados, conforme mostra a Figura 42, depois utilize o comando rasusers para listar os usuários que possuem privilégios de conexão a um servidor RAS. Figura 42 Procurando por Recursos Compartilhados O utilitário de linha de comando que é utilizado para procurar recursos compartilhados no computador chama-se net share. Este comando do Windows informa o nome de compar-tilhamento de cada recurso, o caminho ou os nomes dos dispositivos associados e um comentário descritivo sobre o recurso. Veja um exemplo da utilização do comando na Figura 43. Através do net share é possível criar um novo compartilhamento ou apagar um existente, caso desconfiede algum compartilhamento suspeito. Figura 43 Através do utilitário gráfico “Gerenciamento do Computador”, que se encontra dentro de “Ferramentas Administrativas”, também é possível visualizar os recursos compartilhados, conforme mostra a Figura 44. Figura 44 Compartilhamentos Administrativos Os Sistemas Operacionais Windows NT, 2000, XP, Vista, 2003, 2008 e 7 possuem compartilhamentos ocultos chamados de administrativos (compartilhamentos usados pelo Sistema Operacional). Estes compartilhamentos são automaticamente carregados depois de cada processo de inicialização e todos possuem o caractere $ em seus nomes. Observe a seguir a descrição de cada compartilhamento administrativo. Descobrindo Tarefas Agendadas Nunca se esqueça de procurar por eventos agendados em um computador. Por ser uma ação simples e rápida, muitos invasores depois de acessarem indevidamente um sistema, deixam agendados eventos que possam facilitar uma nova invasão, como por exemplo iniciar um backdoor, ou agendar que determinado programa limpe as pistas deixadas na invasão. Para procurar por eventos agendados, utilize o comando at ou o próprio utilitário “Tarefas Agendadas” do Windows. Observe na Figura 45 a utilização do comando at. Sem argumentos o comando mostrará todas as tarefas agendadas. Figura 45 Na Figura 46 é possível visualizar o agendamento de um evento através do utilitário “Tarefas Agendadas”. Figura 46 No Windows 7 o sistema de agendamento é conhecido como “Agendador de Tarefas”, conforme mostra a Figura 47. Figura 47 Detectando Sniffer na Rede Sniffer é um software ou hardware que monitora passivamente uma rede de computadores capturando todo o tráfego em busca de informações. Os Sniffers deixam a placa de rede em modo promíscuo, permitindo a captura dos pacotes que passam pela rede independente do endereço de destino. Se um computador estiver com uma placa de rede em modo promíscuo é possível que haja um Sniffer em execução nesta máquina. A ferramenta gráfica PromqryUI (Figura 48) e a ferramenta de linha de comando Promqry (Figura 49) são duas ferramentas que detectam interfaces de rede em execução no modo promíscuo. Figura 48 Figura 49 A Figura 50 mostra uma placa de rede (AMD PCNET Family PCI Ethernet Adapter) em modo promíscuo (POSITIVE: Promíscuous mode enabled!). Figura 50 Investigando os Usuários Descobrindo Quem Está Conectado ao Sistema A ferramenta que identifica qual usuário está conectado localmente na máquina é o whoami. Observe na figura a seguir que o comando whoami informa que o usuário que está conectado na máquina é o Administrador. Figura 51 Que contas possuem conexões ativas ao sistema? Quem mais está conectado ao sistema além do Administrador? O comando que enumera todos os usuários conectados localmente e remotamente é o psloggedon, como mostra a Figura 52. Figura 52 Se em algum momento estiver investigando um sistema que ofereça acesso remoto através de um modem, será preciso determinar que contas de usuários possuem o direito de acesso. O comando utilizado para enumerar os usuários que podem se conectar ao sistema através do acesso remoto (RAS) é o rasusers. Observe na Figura 53 a sintaxe do comando. Figura 53 Detectando Quais Usuários Logaram ou Tentaram Logar no Computador Antes de tentar detectar quais usuários logaram ou tentaram logar no computador, é necessário saber quais diretivas de Auditoria existem no sistema, e para isso você deverá usar o utilitário de linha de comando chamado auditpol que pode ser encontrado no Resource Kit do Windows 2000, veja como funciona o comando na Figura 54. Figura 54 Observe na Figura 54 que a linha “AuditCategoryLogon” que é a “Auditoria de Eventos de Logon” está definida como “No” (ou o computador não havia sido configurado ou o invasor desabilitou esta auditoria), porém, para detectar quem está logando ou tentando logar no computador é preciso que esta Auditoria esteja configurada como “Success and Failure”. Para configurar esta Auditoria, vá ao botão “Iniciar -> Configurações -> Painel de Controle -> Ferramentas Administrativas -> Diretiva de Segurança Local -> Diretivas Locais -> Diretiva de Auditoria” e dê dois cliques no item “Auditoria de eventos de logon”, ao aparecer a tela “Configuração da diretiva da segurança local” escolha os itens Sucesso e Falha. Pronto, agora todos que logarem ou tentarem logar na máquina ficarão registrados no log da Auditoria. Veja na Figura 55 o processo de configuração da Auditoria de Eventos de Logon em ambiente gráfico. Para configurar via prompt digite o seguinte comando: auditpol /enable /logon:all. Figura 55 Após configurar a Auditoria, execute novamente o utilitário auditpol para verificar se a alteração foi bem sucedida. Observe na Figura 56 que a linha “AuditCategoryLogon” está agora marcando “Success and Failure”. Figura 56 Depois de verificar que a Auditoria está funcionando corretamente, você deverá executar outro utilitário de linha de comando chamado ntlast. O ntlast é uma ferramenta que permite monitorar logins bem ou mal-sucedidos. Use ntlast –s para listar todos os logins bem-sucedidos conforme mostra a Figura 57. Figura 57 Para detectar logins fracassados use ntlast –f (Figura 58) e para detectar acessos remotos digite ntlast –r. Figura 58 Atenção O ntlast só conseguirá monitorar as tentativas de logins se a auditoria estiver ativada. Descobrindo Contas e Grupos de Usuários Para descobrir quantos usuários existem no sistema e quem são eles você utilizará o utilitário gráfico “Gerenciamento do Computador” (Figura 59) ou via prompt através do comando net user. Figura 59 O comando net user (Figura 60) sem parâmetros informa todos os usuários existentes no sistema, mas se informar um usuário em específico o comando mostrará todos os dados deste usuário, como por exemplo: o nome do usuário, última alteração de senha, último logon, a qual grupo o usuário pertence etc. Para descobrir quais são os grupos existentes no sistema, poderá utilizar novamente o utilitário “Gerenciamento do Computador” (Figura 59) ou o comando net localgroup. Este comando sem parâmetros mostrará todos os grupos existentes, mas se informar um grupo específico o comando net localgroup mostrará todos os membros que pertencem a este grupo, conforme Figura 61. Investigue os diretórios existentes dentro de “<Drive>:\Documents and Settings” (veja a Figura 62). Se por acaso existir o diretório e não mais a conta de usuário no “Gerenciamento do Computador” (Figura 59), quer dizer que o usuário existiu em algum momento. Porém se existir a conta de usuário no “Gerenciamento do Computador” e não for encontrado o diretório correspondente, isso significa que a conta de usuário ainda não foi utilizada para se conectar ao sistema. Figura 60 Figura 61 No “Event Viewer” (Visualizar Eventos) procure pelos seguintes eventos: 624: Conta de usuário criado. 626: Conta de usuário ativado. 636: Mudança de um grupo de contas. 642: A conta de usuário foi alterada. Figura 62 Procure no Registro do Windows (Figura 63), exatamente em “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Profilelist” pelos SIDs dos usuários. Mesmo, uma conta de usuário excluída do Windows, o seu SID ainda continuará existindo no Registro, o que é interessante pois permite identificar quais usuários já existiram e foram excluídos do sistema. Observe o item ProfileImagePath que informa o diretório do usuário dentro de “<Drive>:\Documents and Settings”. Figura 63 Informações Adicionais Eventos de Auditoria: Consulte o Apêndice II. SID (Security Identifier): Consulte o Apêndice III. Descobrindo a Primeira vez que o Usuário Logou no Sistema Você poderá determinar a primeira vez que um usuário logou no sistema visualizando a data de criação do seu diretório. Observe na Figura 64 a coluna “Nome”, onde estão todos os usuários que já se logaram neste computador,e a coluna “Criado em” que informa a data em que se conectaram pela primeira vez. Quando for investigar um computador que possui o Sistema Operacional Windows 9x procure pelo diretório “<Drive>:\Windows\profile” e quando for o Windows NT, 2000, XP ou 2003 procure pelo diretório “<Drive>:\Documents and Settings”. Figura 64 Descobrindo a Última vez que o Usuário Logou no Sistema A partir do Windows NT 4.0 é possível determinar a última vez que um usuário logou no sistema verificando a data de modificação do arquivo NTUSER.DAT. O arquivo NTUSER.DAT armazena a maioria das configurações do perfil do usuário, este arquivo se encontra dentro do diretório “<Drive>:\Documents and Settings”. Observe a Figura 65. Para procurar os arquivos através do prompt de comando utilize a seguinte sintaxe: dir /s /a:h e:\ntuser.dat Figura 65 Para os Sistemas Operacionais Windows 9x procure pelos arquivos SYSTEM.DAT e USER.DAT que se encontram dentro do diretório Windows. Através do comando net user <nome do usuário> também é possível obter o último logon do usuário. Observe na Figura 66. Figura 66 Investigando os Arquivos Analisando as Horas de Modificação, Criação e Acesso de Todos os Arquivos Através do comando dir é possível obter uma listagem de todos os arquivos suspeitos, registrando o tamanho e as horas de acesso, modificação e criação. Se o perito souber o intervalo de horas em que o incidente ocorreu, será através dessa listagem que poderá identificar quais arquivos o invasor criou, alterou ou executou no sistema. A seguir alguns exemplos de como usar o comando dir para obter as horas de acesso, modificação e criação dos arquivos: dir /t:a /a /s /o:d a: Oferece uma listagem de todas as horas de acesso no drive A. Observe a listagem 01. dir /t:w /a /s /o:d a: Oferece uma listagem de todas as horas de modificação no drive A. Observe a listagem 02. dir /t:c /a /s /o:d a: Oferece uma listagem de todas as horas de criação no drive A. Observe a listagem 03. Para obter mais informações sobre o comando dir, digite dir /? no prompt de comando do Windows. Descobrindo Informações Através de Buscas por Palavras- Chave Qualquer caso que envolva comunicação baseada em texto (roubo de informação, IRC, MSN Messenger ou outros softwares de comunicação instantânea, envio de e-mails, verificação de documentos etc.) será necessário fazer buscas por palavras-chave. O mais importante em uma investigação deste tipo é escolher bem as palavras que deverão ser procuradas (critério de busca); quanto mais refinado o critério melhor. Como hoje o custo do hardware ficou mais acessível, não será difícil encontrar um HD com mais de 1TB de dados para analisar. No Windows podemos procurar por strings utilizando o item Pesquisar (Botão Iniciar > Pesquisar > Arquivos ou pastas...). Veja o exemplo de uma pesquisa por texto na Figura 67. Figura 67 Outra ferramenta utilizada para procurar por strings é o find. O comando find localiza uma seqüência de caracteres de texto em um ou mais arquivos. Por exemplo, na imagem a seguir o comando find localiza ocorrências da palavra Administrador no arquivo Users.txt. Figura 68 O qgrep (Figura 69) é outro utilitário de linha de comando usado para pesquisar strings em um arquivo, múltiplos arquivos ou em subdiretórios. O qgrep é similar à ferramenta grep do Unix/Linux, sendo possível utilizar expressões regulares na pesquisa. Figura 69 Além dos utilitários de linha de comando e do próprio item Pesquisar do Windows, existem também as ferramentas comerciais para procura de strings, dentre as quais destaco o dtSearch e o EnCase. Com o dtSearch é possível procurar por palavras-chave em computadores desktop, em rede de computadores e em sites da Internet ou Intranet. Veja nas Figuras 70 e 71 exemplos do dtSearch. Figura 70 Figura 71 Com o EnCase é possível utilizar filtros, scripts e expressões regulares para procurar por palavras-chave. Um item interessante do EnCase é que é possível procurar por strings em arquivos de imagens criados por ele. Veja um exemplo do EnCase na Figura 72. Figura 72 Descobrindo o Tipo do Arquivo e suas Associações Em algum momento da investigação você poderá encontrar arquivos com extensões desconhecidas. Quando se encontrar nesta situação, utilize o comando assoc para exibir o nome da extensão e o tipo de arquivo, e depois o comando ftype para saber qual programa está associado à extensão. Observe a Figura 73. Figura 73 Descobrindo Quem Tem Acesso ao Arquivo Para visualizar as ACLs (Access Control List, listas de controle de acesso) de um determinado arquivo ou diretório, utilize o comando cacls. Observe na Figura 74 quem são os usuários que podem acessar os arquivos e os seus respectivos direitos de acessos. Figura 74 Onde: Comparando Arquivos Ao investigar um computador é possível que desconfie que um determinado arquivo do sistema possa ter sido alterado pelo invasor. Se por acaso você tiver no Kit de Ferramentas o arquivo original poderá comparar os dois para saber exatamente se o arquivo suspeito se encontra alterado. Para comparar o conteúdo de dois arquivos, utilize o comando comp ou fc. Observe nas Figuras 75 e 76 a comparação de dois arquivos iguais. Figura 75 Figura 76 E nas Figuras 77 e 78 a comparação de dois arquivos diferentes. Figura 77 Figura 78 Descobrindo se o Arquivo Está Criptografado O comando que exibe a criptografia de pastas e arquivos em volumes NTFS é o cipher. O cipher usado sem parâmetros exibe o estado de criptografia da pasta atual e de quaisquer arquivos que ele contiver, porém usado com a opção /h exibe os arquivos com atributos de sistema ou ocultos. Figura 79 Observe que na Figura 79 há uma letra “E” antes do diretório temp, este “E” informa que o diretório está criptografado. Atenção Somente arquivos e pastas em volumes NTFS podem ser criptografados e somente o usuário que criptografou o arquivo pode abri-lo. Os arquivos de sistema não podem ser criptografados. Recuperando Arquivos Excluídos Os arquivos quando excluídos não são realmente excluídos do HD, eles são apenas marcados para exclusão. Na verdade, os arquivos continuam intactos até que outros arquivos tenham sobrescrito a área física onde se encontram. Quanto mais rápido tentar recuperar um arquivo, maiores serão as chances de recuperação. Uma das ferramentas de recuperação em sistemas de arquivos FAT 12/16/32 e NTFS é o File Scavenger. Observe na Figura 80 o software recuperando arquivos que foram deletados pelo usuário. Figura 80 Investigando Arquivos na Lixeira Quando um arquivo é excluído, o Windows o coloca na Lixeira. A Lixeira é um recurso a partir do Windows 9x/NT que evita a exclusão acidental de arquivos, pois em vez do arquivo ser excluído do sistema ele é armazenado, possibilitando assim a sua recuperação. Veja a seguir um exemplo do item Lixeira. Figura 81 Alguns itens que não são armazenados na Lixeira e que não podem ser recuperados: Itens excluídos da rede; Itens excluídos de mídia removível; Itens maiores do que a capacidade de armazenamento da Lixeira. A Lixeira cria um subdiretório diferente para cada usuário do sistema. Observe na Figura 81 que por padrão o diretório da Lixeira denomina-se Recycler e que o subdiretório do usuário é identificado pelo seu SID (Security Identifier), o subdiretório é criado na primeira vez que o usuário excluir um arquivo. Se o usuário excluir um arquivo no drive C, será criado um subdiretório com o seu SID dentro do diretório Recycler do drive C (item 1 da Figura 81), e se for excluído no drive D, será criado dentro do Recycler do drive D (item 2 da Figura 81). Atenção Observe no item 3 da Figura 81 a coluna “Local original”, que nos informa que o arquivo foi excluído do drive D, porém estamos visualizando a Lixeira do drive E!!. Tenha muito cuidado ao analisar os arquivos da Lixeira, pois o Explorer nos engana, ele nos mostraos mesmos arquivos excluídos em todos os SIDs que escolhemos, não importando o drive (C, D ou E). Não fique preocupado, existe uma solução para o problema. Através do prompt de comando iremos identificar a verdadeira Lixeira que contém os arquivos excluídos. Para visualizar o conteúdo da Lixeira utilizaremos o comando dir, porém será necessário utilizar o parâmetro /a. A primeira análise será feita na Lixeira do drive E. Observe na Figura 82 que dentro do subdiretório do usuário não há nada além dos dois arquivos padrão: desktop.ini e INFO2 (não mostrados pelo Explorer do Windows). Portanto, a Lixeira que contém os arquivos excluídos não é a Lixeira do drive E. Lembre-se, ao analisar uma Lixeira não confie no Explorer do Windows. Figura 81 Figura 82 A segunda análise será feita na Lixeira do drive D (Figura 83). Observe que encontramos a Lixeira com os dados verdadeiros, porém os nomes dos arquivos não são os originais. Figura 83 Para visualizarmos os nomes verdadeiros dos arquivos que foram excluídos e que estão na Lixeira utilizaremos um utilitário chamado rifiuti. Através do comando rifiuti é possível analisar o arquivo binário INFO2, já que é este arquivo que mapeia o nome e a data/hora do arquivo que foi excluído com os arquivos que estão no diretório Recycler. Veja o comando sendo executado na Figura 84. Figura 84 Para visualizar o conteúdo do arquivo INFO2 é necessário utilizar utilitários especiais, tais como o rifiuti, o EnCase ou o Internet Explorer History. Investigando Arquivos Temporários Quando recebemos mensagens de e-mails com grandes arquivos em anexo, geralmente estes arquivos são armazenados em nosso computador como arquivos temporários. Ao instalarmos novos softwares, na maioria das vezes são criados diretórios e arquivos auxiliares temporários. Quando descompactamos grandes arquivos, primeiro eles são criados como temporários e depois copiados para o local onde especificamos. Os arquivos temporários são gerados para que os aplicativos que os criaram funcionem corretamente, e depois de utilizados estes arquivos devem ser excluídos automaticamente, porém, isto nem sempre acontece. Em uma investigação estes arquivos são muito importantes, pois permitem ao perito obter informações sobre sistemas utilizados pelo suspeito, sistemas instalados no computador, documentos temporários criados pelo Microsoft Office (Word, Excel, PowerPoint), anexos recebidos por e-mails e documentos que já foram excluídos pelo usuário. Observe na figura a seguir a quantidade de itens encontrados em um diretório temp de uma máquina suspeita. Figura 85 Nos Sistemas Operacionais Windows os arquivos temporários são armazenados nas seguintes pastas: Windows 9x <Drive>:\windows\temp\ Windows NT <Drive>:\WINNT\TEMP\ Windows 2000, XP e 2003 <Drive>:\Documents and Settings\<usuário>\Configurações Locais\Temp\ Investigando Links de Atalhos Links são usados para associar um atalho da área de trabalho ou um item do Menu Iniciar a um aplicativo ou documento. O que o chklnks faz é procurar por links de arquivos perdidos, listar e sugerir sua remoção. Ao verificar os links é possível saber quais softwares haviam sido instalados e que foram removidos inadequadamente. Observe na Figura 86 o chklnks informando os links que estão perdidos no sistema. Figura 86 Descobrindo Arquivos Incomuns Com o comando sfind é possível descobrir dados escondidos dentro de arquivos (também conhecido como stream de arquivos). Observe a sintaxe do comando sfind na figura a seguir. Figura 87 Descobrindo Arquivos Ocultos Para descobrir quais são os arquivos ocultos pelo sistema ou pelo usuário, use o utilitário de linha de comando chamado hfind, que informa quais são os arquivos ocultos e a data do seu último acesso. Observe um exemplo do comando na Figura 88. Figura 88 Descobrindo Quais Arquivos Foram Acessados Para descobrir quais foram os arquivos acessados pelo suspeito nos últimos dias utilize o comando afind. Com o comando afind é possível descobrir quais arquivos foram acessados nos últimos segundos, nos últimos minutos, nas últimas horas ou nos últimos dias. Veja na Figura 89 o comando afind informando a data do último acesso ao arquivo boot.ini. Figura 89 Descobrindo Buscas Realizadas no Sistema Para descobrir quais foram as últimas buscas realizadas no sistema utilize o item Pesquisar do Windows (Botão Iniciar > Pesquisar > Arquivos ou pastas...). Observe na Figura 90 a caixa de rolagem mostrando as palavras pesquisadas pelo suspeito. Figura 90 Procurando por Arquivos Impressos Para imprimir um documento no Windows são necessários três passos: o primeiro é quando o programa que está imprimindo em combinação com o driver da impressora gera um arquivo EMF (Enhanced Metafile) que contém as instruções do documento que será impresso, como por exemplo: cor, fonte, caracteres e espaçamento. Ainda neste passo não é mais necessário o arquivo original, porque o Windows enviará para a fila de impressão o arquivo EMF. No segundo passo o arquivo EMF é divido em dois novos arquivos: um arquivo com extensão .SPL que contém as formatações do documento e um outro com a extensão .SHD (Shadow), que contém as informações de prioridade, usuário e o destino da informação. Por padrão os arquivos são criados no diretório “<Drive>:\WINNT\system32\spool\PRINTERS”, veja os arquivos na Figura 91. Figura 91 No passo seguinte o documento é impresso e a fila de impressão apaga os arquivos .SPL e .SHD. Muitas vezes, os documentos são excluídos do sistema mas ainda continuam na fila de impressão. Nestes casos, você poderá visualizar o conteúdo do arquivo .SPL utilizando o utilitário EMF Printer Spool File Viewer. Observe na Figura 92 o utilitário mostrando o conteúdo de um arquivo do MS Word que se encontra na fila de impressão. Figura 92 Procurando Vírus em Arquivos Suspeitos Quando encontrar arquivos suspeitos em uma investigação não corra o risco de executá-los e pôr a perder todo o trabalho desenvolvido até então. Caso disponha de conexão a Internet, acesse o site www.virustotal.com (Figura 93), submeta o arquivo para análise, e em poucos minutos obterá a resposta. Figura 93 Procurando por Arquivos Usados Recentemente Um lugar que sempre deverá ser verificado em uma investigação é o item Documentos (veja a Figura 94). Figura 94 O item Documentos lista os últimos arquivos usados pelo usuário, porém esta listagem pode ser apagada, dificultando o trabalho do perito. Outro lugar que também deverá ser analisado é o diretório Recent do usuário (Figura 95). Este diretório contém muito mais informações que o item Documentos, como por exemplo as datas de criação, modificação e acesso ao arquivo. O diretório Recent se encontra no seguinte endereço “<Drive>:\Documents and Settings\<usuário>\Recent”. Figura 95 Investigando os Vestígios de Acesso à Internet Investigando Arquivos Temporários do Browser Quando se acessa a internet, o browser armazena os conteúdos das páginas Web em um determinado diretório. As páginas e os arquivos (imagens) são armazenados à medida que são visualizados (processo conhecido como cache de páginas). Os arquivos da Internet também são armazenados no computador quando o usuário decide tornar a página disponível para navegação off-line, podendo visualizar o conteúdo da página sem estar conectado à Internet. Este conteúdo armazenado permanece no computador por um tempo indeterminado. O browser Internet Explorer, também conhecido como IE, é o web browser padrão dos Sistemas Operacionais Windows desde a versão 95. Veja a seguir o local onde o IE armazena os arquivos temporários da Internet nos diversos Sistemas Operacionais Windows: Windows 98 <Drive>:\WINDOWS\Temporary Internet Files Windows NT <Drive>:\WINNT\Profiles\<usuário>\Temporary Internet Files Windows 2000, XP e 2003 <Drive>:\Documents and Settings\<usuário>\Configurações locais\Temporary Internet Files Em casosde pornografia infantil ou acesso não autorizado a sites específicos, por exemplo, o cache pode estar guardando cópias das imagens e das páginas dos sites visitados, resultando em valiosas provas contra o suspeito. Veja a seguir um exemplo de visualização dos arquivos temporários da Internet. Figura 96 Investigando o Histórico do Browser O utilitário Histórico (tecla de atalho CTRL + H no browser IE), mostrado na Figura 97, lista o que o usuário acessou hoje, ontem ou algumas semanas atrás, podendo ser sites ou arquivos do computador. O Histórico cria uma trilha de auditoria mostrando o que o usuário fez e quando, podendo esta evidência ser usada em uma ação legal. Figura 97 Os arquivos do Histórico ficam armazenados nos seguintes diretórios: Windows 98 <Drive>:\WINDOWS\Histórico Windows NT <Drive>:\WINNT\Profiles\<usuário>\History Windows 2000, XP e 2003 <Drive>:\Documents and Settings\<usuário>\Configurações locais\Histórico Observe que os diretórios Histórico são diferentes nas Figuras 98 e 99. A primeira figura mostra o diretório Histórico de um Windows 2000, onde é possível visualizar o que o usuário acessou em um determinado dia. Já na Figura 99 a estrutura de diretório é diferente. Figura 98 No Windows XP os diretórios são criados seguindo o formato M- SHist01XXXXXXXXXXXXXXXX. O diretório MSHist012005100220051003 pode ser interpretado como: 2005- 10-02 e 2005-10-03 - pois é, são datas. Se você verificar a data de criação do diretório e do arquivo index.dat que se encontra dentro do mesmo, irá encontrar a mesma data utilizada no nome do diretório. Sabemos então que o nome do diretório no Windows XP é relacionado com a data da sua criação, mas para saber mais informações sobre os sites visitados pelo suspeito, será necessário analisar o conteúdo do arquivo index.dat. Figura 99 O arquivo index.dat é um arquivo binário, portanto, deve-se usar um utilitário especial para visualizar o seu conteúdo. O utilitário IEHistoryView permite visualizar a maioria dos arquivos binários mantidos pelo Internet Explorer. Veja a utilização do IEHistoryView na Figura 100 a seguir. Figura 100 Através do IEHistoryView é possível gerar relatórios contendo os acessos do suspeito, conforme exemplo da Figura 101. Figura 101 Outro utilitário utilizado para visualizar e gerar relatórios do conteúdo do arquivo index.dat é o Pasco (Figura 102). Figura 102 O arquivo texto gerado pelo Pasco (Figura 103) contém as seguintes informações: Figura 103 Investigando a Barra de Endereços do Browser A barra de Endereços (tecla de atalho F4 no browser IE) lista os endereços dos sites que foram visitados recentemente, fornecendo a você evidências em casos de acesso a sites indevidos (pedofilia, racismo, venda de drogas, armas, etc.). Veja um exemplo na Figura 104. Figura 104 Investigando o Menu Favoritos do Browser O menu Favoritos é outro lugar onde o perito deve procurar por evidências, pois ele lista os links preferidos do suspeito. É possível através deste menu identificar as preferências de um determinado usuário, como por exemplo, o assunto que mais contém links semelhantes. Figura 105 Descobrindo Informações em Cookies O Cookie é um pequeno arquivo de texto, criado por um site para armazenar informações no computador que o acessou, como quais páginas o usuário teve acesso, preferências do site, armazenar informações do usuário (nome, e-mail, endereço, telefone), detalhes da compra, etc. Lembre-se, um cookie só tem acesso às informações que o usuário forneceu e apenas o site que o criou poderá lê-lo. Os Cookies podem ser encontrados nos seguintes diretórios: Windows 98 <Drive>:\WINDOWS\Cookies Windows NT <Drive>:\WINNT\Cookies Windows 2000, XP e 2003 <Drive>:\Documents and Settings\<usuário>\Cookies Observe na Figura 106 uma listagem dos Cookies encontrados em um Windows 2000. Figura 106 A seguir um exemplo do conteúdo de um Cookie criado pelo site MSN: MC1 V=3&GUID=09d66f029da34d55901c25d5d1887f06 msn.com.br/ 1024 791193984 30458696 1043598192 29739023 * Podemos observar no exemplo anterior que o conteúdo do Cookie às vezes não é muito explícito, dificultando o seu entendimento. Neste caso, deve-se utilizar utilitários específicos, tais como o Galleta (veja um exemplo da utilização do Galleta na Figura 107). Figura 107 Resultado do comando Galleta (conteúdo do arquivo Cookie_MSN.txt): Onde: Ao analisar um Cookie fique bem atento aos itens Variable e Value, pois alguns sites armazenam informações que podem ser relevantes em uma investigação, tais como nome de usuário, e-mail, endereço IP utilizado no acesso ao site, dentre outros. Finalizando uma Investigação Capturando a Data e a Hora do Final da Investigação Ao capturar a Data e a Hora do fim da perícia, você estará comprovando em que momento deu encerramento ao processo de investigação. Execute o comando date redirecionando a saída para um arquivo texto em um disquete ou para um dispositivo USB. Execute depois o comando time adicionando a resposta ao arquivo. Observe na Figura 108 os comandos date e time sendo executados. Figura 108 Documentando os Comandos Usados na Investigação Sempre documente os comandos que utilizou na perícia. Documentando você estará comprovando que realmente usou tais utilitários, porque pode ser que alguém questione a sua investigação ou procedimento. Para documentar quais comandos executou no sistema, utilize o comando doskey redirecionando a saída para um arquivo texto em um disquete ou para um dispositivo USB, veja um exemplo na figura a seguir. Figura 109 Garantindo a Integridade do Kit e das Provas Lembre-se de sempre proteger a integridade do Kit de Ferramentas e das provas adquiridas no final da análise pericial, utilizando o utilitário md5sum. Depois de gerado o arquivo de hash final, compare os resultados do Kit com os resultados gerados no início da investigação. Se algum utilitário apresentar diferença no hash, não confie na prova gerada por este utilitário, pois ela poderá estar comprometida. A sintaxe de utilização do comando é: md5sum *.* > Integridade_Dados_Final.txt Veja um exemplo do arquivo gerado pelo md5sum na Figura 110. Figura 110 Apêndices Apêndice I – Kit de Ferramentas Iniciando uma Investigação Md5Sum http://downloads.activestate.com/TDK/Windows/5.2/ http://md5.rednoize.com Date, Time e Type Estas ferramentas fazem parte do prompt de comando do Sistema Operacional Windows. Investigando o Sistema Hostname Ferramenta nativa do Windows NT/2000/XP/2003/2008/Vista e 7. Porém este comando estará disponível no Sistema Operacional apenas se o protocolo TCP/IP tiver sido instalado no computador. PsInfo http://technet.microsoft.com/pt-br/bb897550 Recurso Informações sobre o Sistema <Drive>:\Arquivos de programas\Arquivos comuns\ Microsoft Shared\MSInfo Ipconfig Ferramenta nativa a partir do Windows 98. Getmac http://technet.microsoft.com/pt-br/library/ff961509(WS.10).aspx Arp, Nbtstat e Netstat Ferramentas nativas do Sistema Operacional a partir do Windows 98, porém estarão disponíveis apenas se o protocolo TCP/IP tiver sido instalado na máquina investigada. Mac Find http://www.coffer.com/mac_find Fport http://www.mcafee.com/us/downloads/free-tools/fport.aspx Kill http://www.dynawell.com/download/reskit/microsoft/win2000/kill.zip PsList http://technet.microsoft.com/pt-br/sysinternals/bb896682 Filemon http://www.microsoft.com/brasil/technet/sysinternals/systeminformation/filemon.mspx PsLogList http://technet.microsoft.com/pt-br/sysinternals/bb897544 Dumpel http://download.microsoft.com/download/win2000platform/webpacks/1.00.0.1/nt5/en- us/dumpel.exe Reg Query http://www.dynawell.com/download/reskit/microsoft/win2000/reg.zip DuReg http://download.microsoft.com/download/win2000platform/webpacks/1.00.0.1/nt5/en- us/dureg.exe Autoruns http://technet.microsoft.com/en-us/bb963902RootkitRevealer http://technet.microsoft.com/pt-br/sysinternals/bb897445 Rasautou Ferramenta nativa do Windows NT/2000/XP e 2003. L0phtcrack http://www.l0phtcrack.com/ RASUsers http://www.dynawell.com/download/reskit/microsoft/win2000/rasusers.zip Net Start Ferramenta nativa do SO a partir do Windows NT. Net Share Ferramenta nativa do SO a partir do Windows 98. At Ferramenta nativa do SO a partir do Windows 98. Promqry http://www.microsoft.com/downloads/en/details.aspx?FamilyId=4DF8EB90- 83BE-45AA-BB7D-1327D06FE6F5&displaylang=en PromqryUI http://www.microsoft.com/downloads/en/details.aspx?FamilyId=1A10D27A- 4AA5-4E96-9645-AA121053E083&displaylang=en Investigando os Usuários Whoami http://technet.microsoft.com/pt-br/library/cc773267(WS.10).aspx PsLoggedOn http://technet.microsoft.com/pt-br/sysinternals/bb897545 AuditPol http://www.dynawell.com/download/reskit/microsoft/win2000/auditpol.zip NTLast http://www.mcafee.com/us/downloads/free-tools/ntlast.aspx Net User e Net Localgroup Ferramentas nativas do SO a partir do Windows NT. Investigando os Arquivos Dir Esta ferramenta faz parte do prompt de comando do Windows. Find Ferramenta nativa do SO a partir do Windows 98. Qgrep http://www.microsoft.com/download/en/details.aspx? displaylang=en&id=17657 dtSearch http://www.dtsearch.com EnCase http://www.guidancesoftware.com Assoc e Ftype Ferramentas nativas do SO a partir do Windows NT. Cacls Ferramenta nativa do SO a partir do Windows NT. Comp e Fc Ferramentas nativas do SO a partir do Windows 98. Cipher Ferramenta nativa do SO a partir do Windows 2000. File Scavenger http://www.quetek.com Rifiuti http://www.mcafee.com/us/downloads/free-tools/rifiuti.aspx Chklnks Pode ser encontrado no diretório \TOOLS\RESKIT\DESKTOP do CD do Windows 98 e no Resource Kit do Windows NT/2000/XP e 2003. SFind, HFind e AFind http://www.mcafee.com/us/downloads/free-tools/forensic-toolkit.aspx EMF Printer Spool File Viewer http://www.codeproject.com/dotnet/EMFSpoolViewer.asp Virus Total http://www.virustotal.com Investigando os Vestígios de Acesso à Internet IEHistoryView http://www.nirsoft.net/utils/iehv.html Pasco http://www.mcafee.com/us/downloads/free-tools/pasco.aspx Galleta http://www.mcafee.com/us/downloads/free-tools/galleta.aspx Finalizando uma Investigação Date, Time e Type Estas ferramentas fazem parte do prompt de comando do Sistema Operacional Windows. Doskey Ferramenta nativa do SO a partir do Windows 98. Md5Sum http://downloads.activestate.com/TDK/Windows/5.2/ Apêndice II - Eventos de Auditoria Evento Descrição 528 O usuário fez logon com sucesso. 529 Tentativa de logon feita com um nome de usuário desconhecido ou com um nome de usuário correto mas com uma senha incorreta. 530 Usuário tentou fazer o logon fora do horárioespecificado. 531 Tentativa de logon usando uma conta desativada. 532 Tentativa de logon usando uma conta expirada. 533 Usuário não tem permissão para fazer o logon nestecomputador. 534 Usuário tentou fazer o logon com um tipo de logon que não é permitido, como rede, interativo, serviço, lote ou interativo remoto. 535 A senha para a conta especificada expirou. 536 O serviço Net Logon não está ativo. 537 Tentativa de logon falhou por outros motivos. 538 Usuário fez logoff. 539 A conta estava bloqueada no momento em que atentativa de logon foi feita. 540 Logon realizado com sucesso. 624 Conta de usuário criada. 625 Tipo de conta de usuário alterado. 626 Conta de usuário ativada. 627 Tentativa de alteração de senha. 628 Senha de conta de usuário foi definida. 629 Conta de usuário desativada. 630 Conta de usuário excluída. 631 Grupo global que permite segurança foi criado. 632 Membro de grupo global que permite segurança foiadicionado. 633 Membro de grupo global que permite segurança foiremovido. 634 Grupo global que permite segurança foi excluído. 635 Grupo local que não permite segurança foi criado. 636 Membro de grupo local que permite segurança foiadicionado. 637 Membro de grupo local que permite segurança foiremovido. 638 Grupo local que permite segurança foi excluído. 639 Grupo local que permite segurança foi alterado. 641 Grupo global que permite segurança foi alterado. 642 A conta de usuário foi alterada. 643 A política de domínio foi alterada. 644 A conta de usuário foi bloqueada. 672 Um ticket de serviço de autenticação foi emitido evalidado com sucesso. 673 Um ticket de serviço de concessão de ticket foiconcedido. 674 A segurança principal renovou um ticket. 675 A pré-autenticação falhou. 676 A solicitação de ticket de autenticação falhou. 677 Um ticket não foi concedido. 678 Uma conta foi mapeada com sucesso para uma conta dedomínio. 680 Identifica a conta utilizada na tentativa de logon bemsucedido. 681 Foi tentado um logon de conta de domínio. 682 O usuário reconectou a uma sessão do Terminal Servicesque estava desconectada. 683 O usuário desconectou uma sessão de Terminal Servicessem fazer o logoff. Apêndice III - Security Identifier (SID) SID Descrição S-1-0 Null Authority S-1-0-0 Nobody S-1-1 World Authority S-1-1-0 Everyone S-1-2 Local Authority S-1-3 Creator Authority S-1-3-0 Creator Owner S-1-3-1 Creator Group S-1-3-2 Creator Owner Server S-1-3-3 Creator Group Server S-1-4 Authority S-1-5 NT Authority S-1-5-1 Dialup S-1-5-2 Network S-1-5-3 Batch S-1-5-4 Interactive S-1-5-5-X-Y Logon Session S-1-5-6 Service S-1-5-7 Anonymous S-1-5-8 Proxy S-1-5-9 Enterprise Controllers S-1-5-10 Principal Self (or Self) S-1-5-11 Authenticated Users S-1-5-12 Restricted Code S-1-5-13 Terminal Server Users S-1-5-18 Local System S-1-5-19 NT Authority S-1-5-20 NT Authority S-1-5-domain-500 Administrator S-1-5-domain-501 Guest S-1-5-domain-502 KRBTGT S-1-5-domain-512 Domain Admins S-1-5-domain-513 Domain Users S-1-5-domain-514 Domain Guests S-1-5-domain-515 Domain Computers S-1-5-domain-516 Domain Controllers S-1-5-domain-517 Cert Publishers S-1-5-root domain-518 Schema Admins S-1-5-root domain-519 Enterprise Admins S-1-5-domain-520 Group Policy Creator Owners S-1-5-domain-533 RAS and IAS Servers S-1-5-32-544 Administrators S-1-5-32-545 Users S-1-5-32-546 Guests S-1-5-32-547 Power Users S-1-5-32-548 Account Operators SID Descrição S-1-5-32-549 Server Operators S-1-5-32-550 Print Operators S-1-5-32-551 Backup Operators S-1-5-32-552 Replicators S-1-5-32-554 BUILTIN\Pre-Windows 2000 CompatibleAccess S-1-5-32-555 BUILTIN\Remote Desktop Users S-1-5-32-556 BUILTIN\Network Configuration Operators S-1-5-32-557 BUILTIN\Incoming Forest Trust Builders S-1-5-32-558 BUILTIN\Performance Monitor Users S-1-5-32-559 BUILTIN\Performance Log Users S-1-5-32-560 BUILTIN\Windows Authorization AccessGroup S-1-5-32-561 BUILTIN\Terminal Server License Servers Apêndice IV - Portas e Serviços Porta Protocolo Descrição 0 TCP, UDP Reserved 2 TCP TROJAN death 7 TCP, UDP Echo 9 TCP, UDP Discard 13 TCP, UDP Daytime 19 TCP, UDP Chargen 20 TCP FTP (default data channel) 21 TCP FTP (control channel) 22 TCP SSH (Secure Shell) 23 TCP Telnet 25 TCP SMTP 30 TCP TROJAN agent-40421 43 TCP Whois 48 TCP TROJAN drat 49 UDP TACACS (Terminal Access Controller AccessControl System) 50 TCP TROJAN drat 53 TCP, UDP Domain Name System 58 TCP TROJAN dmsetup 59 TCP TROJAN dmsetup 66 TCP Oracle SQLNET 67 TCP, UDP Bootp server 68 TCP, UDP Bootp client 69 UDP Trivial FTP 70 TCP, UDP Gopher 79 TCP, UDP Finger 80 TCP HTTP 81 TCP HTTP (alternate, sometimes admin) 88 TCP Kerberos 99 TCP TROJAN hidden port 109 TCP POP-2 (Post Office Protocol) 110 TCP POP-3 111 TCP Sun RPC Portmapper 113 TCP Ident 119 TCP NNTP (Network News Transfer Protocol) 123 TCP, UDP NTP (Network Time Protocol) 133 TCP TROJAN farnaz 135 TCP UDP NT RPC endpoint mapper 137 TCP, UDP NetBIOS Name Service 138 UDP NetBIOS Datagram Service 139 TCP NetBIOS Session Service 143 TCP, UDP IMAP (Internet Message Access Protocol) 161 UDP SNMP 162 UDP SNMP Trap 170 TCP Network PostScript print server / TROJAN a-trojan 177 TCP, UDP X DisplayManager 179 TCP, UDP BGP (Border Gateway Protocol) 194 TCP IRC (Internet Relay Chat) 216 TCP, UDP Computer Associates License Server Porta Protocolo Descrição 256 TCP Checkpoint Firewall Management 257 TCP Checkpoint Firewall Log Management 258 TCP Checkpoint Firewall Management 259 TCP Checkpoint Firewall Telnet Authentication 259 UDP Checkpoint VPN-1 FWZ Key Management 260 UDP Checkpoint Alternate SNMP 261 TCP Checkpoint Firewall Management 264 TCP Checkpoint Firewall Topology Download 265 TCP Checkpoint VPN-1 Public Key TransferProtocol 280 TCP HTTP Management 389 TCP LDAP (Lightweight Directory AccessProtocol) 396 TCP Novell Netware 407 TCP Timbuktu (Remote Management) 443 TCP HTTP over SSL 444 TCP, UDP SNPP (Simple Network Paging Protocol) 445 TCP, UDP Microsoft Direct SMB 455 TCP TROJAN fatal connections 464 TCP Kerberos Password 500 UDP IKE (IPSEC Internet Key Exchange) 512 TCP Rexec 513 TCP Rlogin 513 UDP Rwho 514 TCP Rshell 514 UDP Syslog 515 TCP, UDP Printer 520 UDP RIP (Routing Information Protocol) 524 TCP Netware Core Protocol 531 TCP TROJAN rasmin 540 TCP UUCP 543 TCP Kerberos Login 544 TCP Kerberos Shell 563 TCP NNTPS (Secure NNTP) 599 TCP HTTP RPC Endpoint Mapper 605 TCP TROJAN secret service 689 TCP, UDP NMAP 799–800 TCP, UDP Remotely Possible 873 TCP Rsync 1080 TCP, UDP SOCKS Proxy 1081 TCP, UDP SOCKS Proxy alternate 1169 TCP, UDP Tripwire (file integrity monitor) 1214 TCP Kazaa Network 1241 TCP Nessus 1270 TCP, UDP Microsoft Operations Manager (MOM) 1243 TCP TROJAN subseven 1433 TCP Microsoft SQL Server 1434 UDP Microsoft SQL Monitor service 1498 TCP Sybase 1600 TCP Issd 1723 TCP Point-to-Point Tunneling Protocol (PPTP) 1745 TCP Winsock-proxy 2000 TCP Remotely Anywhere 2001 TCP Cisco device management, RemotelyAnywhere 2049 TCP NFS 2140 UDP TROJAN deepthroat Porta Protocolo Descrição 2301 TCP Compaq Insight Manager 3001 TCP Nessus 3389 TCP Terminal Services 4001 TCP Cisco device management 4899 TCP RAdmin 5631–2 TCP, UDP PC Anywhere 5800+ TCP VNC 5900+ TCP VNC 6272 TCP TROJAN secretservice 6667 TCP IRC (Internet Relay Chat) TROJAN various 6969 TCP TROJAN net controller 8000– 8001 TCP HTTP Alternate 8080 TCP HTTP Alternate 8961 TCP TROJAN aok-backdoor 12345 TCP TROJAN netbus 17300 TCP TROJAN kuang-2 18181–7 TCP, UDP Checkpoint OPSEC 20034 TCP TROJAN netbus2 31337 UDP TROJAN backorifice 32771 TCP Solaris RPC portmapper (High) 33567–8 TCP TROJAN lionworm 33911 TCP TROJAN spirit 34324 TCP TROJAN big-gluck 36794 TCP TROJAN bugbear 37237 TCP TROJAN mantis 40421 TCP TROJAN agent-40421 43188 TCP ReachOut (remote control) 60008 TCP TROJAN lionworm 61348 TCP TROJAN bunker hill 61603 TCP TROJAN bunker hill 63485 TCP TROJAN bunker hill 65421 TCP TROJAN jade Apêndice V - Determinando a Origem dos Ataques Utilizando o Comando nslookup Através do nslookup é possível obter o endereço IP de um domínio, ou o domínio de um endereço IP. O nslookup consulta o servidor DNS para mapear um endereço IP a um domínio ou vice versa. A Figura 111 mostra um exemplo de como usar o nslookup para mapear o domínio www.guiatecnico.com.br ao endereço 200.234.196.58. O segundo comando mostra o nslookup sendo usado para mapear o IP 200.234.196.58 ao domínio www.guiatecnico.com.br. Figura 111 Utilizando o Comando traceroute ou tracert Traceroute ou tracert é um comando que determina a rota que um pacote segue para chegar ao sistema de destino. Observe na Figura 112 o tracert determinando a localização geográfica de um domínio. Existem ferramentas geográficas que realizam a mesma função dos utilitários de linha de comando. Por exemplo, o VisualRoute executa um rastreamento de rota e exibe o mapa do caminho que um pacote segue entre dois pontos (Figura 113). Figura 112 Figura 113 Outro modo de visualizar a rota de um pacote é através de páginas específicas na Web. A Figura 114 mostra o traceroute sendo realizado através do site registro.br. Figura 114 WWW VisualRoute: http://www.visualware.com Registro.br: http://registro.br/cgi-bin/nicbr/trt Investigando Informações Sobre um Domínio Através dos bancos de dados Whois é possível identificar a quem pertence um determinado domínio (empresa, companhia ou universidade), o responsável pelo domínio, endereço, telefone e e-mail de contato, servidores DNS, etc. Na Internet são mantidas diversas bases de dados. No Brasil, o servidor que mantém estas informações é o http://registro.br (Figura 114). Identificando Endereços IP em um Ambiente DHCP O DHCP (Dynamic Host Configuration Protocol, protocolo de configuração dinâmica de hosts) fornece endereços IP dinâmicos a computadores que acessam a rede. Através do arquivo DhcpSrvLog você poderá descobrir que IP um computador recebeu em um determinado momento. Porém, para identificar esse IP no arquivo de log, será necessário pesquisar pelo MAC Address do computador. Observe a seguir um exemplo de um arquivo DhcpSrvLog. Microsoft DHCP Service Activity Log Event ID Meaning 00 The log was started. 01 The log was stopped. 02 The log was temporarily paused due to low disk space. 10 A new IP address was leased to a client. 11 A lease was renewed by a client. 12 A lease was released by a client. 13 An IP address was found to be in use on the network. 14 A lease request could not be satisfied because the scope's address pool was exhausted. 15 A lease was denied. 16 A lease was deleted. 17 A lease was expired. 20 A BOOTP address was leased to a client. 21 A dynamic BOOTP address was leased to a client. 22 A BOOTP request could not be satisfied because the scope's address pool for BOOTP was exhausted. 23 A BOOTP IP address was deleted after checking to see it was not in use. 50+ Codes above 50 are used for Rogue Server Detection information. ID Date,Time,Description,IP Address,Host Name,MAC Address 16,07/06/04,00:02:49,Deleted,192.168.1.63,, 11,07/06/04,00:35:16,Renew,192.168.1.62, forense1.guiatecnico.com.br,0050049B30A7 11,07/06/04,00:51:07,Renew,192.168.1.23, forense2.guiatecnico.com.br,00105AA65115 51,07/06/04,00:56:26,Authorization succeeded,,guiatecnico.com.br, 51,07/06/04,01:56:59,Authorization succeeded,,guiatecnico.com.br, 51,07/06/04,02:57:32,Authorization succeeded,,guiatecnico.com.br, 51,07/06/04,03:58:05,Authorization succeeded,,guiatecnico.com.br, 51,07/06/04,04:58:38,Authorization succeeded,,guiatecnico.com.br, 11,07/06/04,05:58:19,Renew,192.168.1.108, forense3.guiatecnico,000102EE0178 51,07/06/04,05:59:11,Authorization succeeded,,guiatecnico.com.br, 11,07/06/04,06:14:33,Renew,192.168.1.12, forense4.guiatecnico,0080C890902F 51,07/06/04,06:59:44,Authorization succeeded,,guiatecnico.com.br, 11,07/06/04,07:00:09,Renew,192.168.1.56, forense5.guiatecnico,000102EE0174 Arquivo DhcpSrvLog
Compartilhar