a Pró-Reitoria de Pós-Graduação e Pesquisa Lato Sensu em Perícia Digital Trabalho de Conclusão de Curso IDENTIFICAÇÃO DO USO DE MÁQUINAS VIRTUAIS, PARA FINS ILÍCITOS, EM SISTEMAS OPERACIONAIS WINDOWS Autor: Vinicius Honorato Mota Lopes Orientador: Prof. Msc. Marcelo Beltrão Caiado Brasília - DF 2013 VINICIUS HONORATO MOTA LOPES IDENTIFICAÇÃO DO USO DE MÁQUINAS VIRTUAIS, PARA FINS ILÍCITOS, EM SISTEMAS OPERACIONAIS WINDOWS Artigo apresentado ao Programa de Pós-Graduação Lato Sensu em Perícia Digital da Universidade Católica de Brasília, como requisito parcial para obtenção do titulo de especialista em Perícia Digital. Orientador: Prof. Msc. Marcelo Beltrão Caiado Examinador: Prof. MSc. Paulo Roberto Corrêa Leão Brasília 2013 Artigo de autoria de Vinicius Honorato Mota Lopes, intitulada “IDENTIFICAÇÃO DO USO DE MÁQUINAS VIRTUAIS, PARA FINS ILÍCITOS, EM SISTEMAS OPERACIONAIS WINDOWS”, apresentada como requisito parcial para a obtenção do certificado de Especialista em Perícia Digital da Universidade Católica de Brasília, em 05 de Dezembro de 2013, defendido e aprovado pela banca examinadora abaixo assinada: ____________________________________________________ Prof. Msc. Marcelo Beltrão Caiado Orientador Pós-Graduação em Perícia Digital – UCB ____________________________________________________ Prof. Msc. Paulo Roberto Corrêa Leão Examinador Pós-Graduação em Perícia Digital – UCB Brasília 2013 AGRADECIMENTOS Agradeço ao orientador Prof. MSc Marcelo Caiado primordialmente pela chance concedida, pelo acompanhamento e sugestões neste projeto. Now, don't hang on Nothing lasts forever but the earth and sky It slips away And all your money won't another minute buy Scorpions – Dust in the Wind IDENTIFICAÇÃO DO USO DE MÁQUINAS VIRTUAIS, PARA FINS ILÍCITOS, EM SISTEMAS OPERACIONAIS WINDOWS VINICIUS HONORATO MOTA LOPES Resumo: O uso de máquinas virtuais para testes controlados de malware, verificação do impacto de atualizações em sistemas operacionais e análise de novas distribuições são cenários bastantes utilizados por especialistas em computação. Por exemplo, com o recurso de snapshot1 o trabalho de análise comportamental de vírus pode ser acompanhado desde sua infeção, neste sistema controlado, até os arquivos e registros acessados/modificados em sistemas Windows. Toda essa comodidade vem despertando interesse malicioso para o uso de máquina virtual em ações de pentesting ilícitas. Sistemas operacionais, como o Kali Linux, oferecem ferramentas prontas para um ataque massivo em uma rede local e ainda estão disponíveis na internet a todos. Este trabalho tem como finalidade subsidiar o perito digital com evidências e rastros deixados, pelo uso da ferramenta de virtualização VirtualBox, em uma estação de trabalho comprometida com sistema operacional Windows. Palavras-chave: Forense em Windows, Anti Forense, Máquinas Virtuais 1. INTRODUÇÃO A destinação de altos valores à compra e, principalmente, a renovação de recursos de Tecnologia de Informação e Comunicação (TIC) era vista como desperdício de capital em função do gasto com equipamentos que, em poucos anos, tornar-se-iam recursos legados, com depreciação muito alta e gerando impacto no ativo fixo da empresa. A virtualização proporciona um ou até vários ambientes centralizados e, consequentemente, mais controlados. A redução de custos no consumo de energia, melhor aproveitamento do espaço físico, consolidação de infraestrutura e facilidade para migração de ambientes, por exemplo, destacam-se como benefícios da virtualização. No campo empresarial soluções virtualizadas são bastante utilizadas. Não será discutido aqui as vantagens e desvantagens de virtualização muito menos conceitos mais intrínsecos do tema, mas a possibilidade de uma pessoa mal-intencionada utilizar um notebook com sistema operacional da família Microsoft Windows, com soluções virtualizadas, para ações ilícitas em uma rede local. Algumas destas soluções encontram-se prontas para uso, em Live CD, por exemplo, para serem usadas em um dos aplicativos de virtualização domésticos mais utilizados, o VirtualBox. 1 Recurso disponível em softwares de virtualização que permite salvar o estado de uma máquina virtual 1.1 JUSTIFICATIVA A relevância do projeto parte de que segundo o Computer Emergency Response Team (CERT), da Universidade Carnegie Mellon (Hammerstein, 2010), a Computação Forense é um processo fortemente baseado na capacidade da mão de obra, requerendo especialistas altamente treinados, com conhecimentos específicos sobre sistemas operacionais e ferramentas de coleta e análise forense. Segundo Barret e Kipper (2010), caso seja solicitado a um perito, treinado em forense computacional, que realize uma análise de um sistema comprometido esta será, em sua grande maioria, uma tarefa sem grandes desafios. Entretanto, se após o rastreamento de uma máquina atacante for constatado que esta não teria condições para realizar os ataques registrados nos logs do servidor, como por exemplo, a falta de ferramentas de pentesting ou registros de instalação destas o analista certamente encontraria problemas para elaborar seu laudo técnico. Tendo em mente a capacitação de mão-de-obra e diante deste novo cenário de ataques e técnicas antiforenses nos valemos de que a estratégia de análise deverá ser repensada. 1.2 DELIMITAÇÃO DO TEMA A meta deste trabalho é expor a criticidade e dificuldade de análise, por parte do perito digital, quando uma pessoa mal intencionada utiliza-se de uma máquina virtual para praticar ações ilícitas em uma rede local. 1.3 PROBLEMA 1.3.1 Contextualização do problema Com o advento do uso de máquinas virtuais em ações ilícitas o procedimento de análise a ser conduzido pelo Perito Digital deverá ser revisto. 1.3.2 Enunciado do problema Como o uso de máquinas virtuais, previamente preparadas, para disseminação de ações ilícitas pode dificultar o trabalho do Perito Digital durante sua análise e quais evidências podem expor seu uso na máquina comprometida? 1.4 PROPÓSITOS 1.4.1 Objetivos Específicos O conhecimento gerado por este trabalho foi motivado, pois, como exposto no final da introdução, observou-se o interesse em rever as técnicas de análise com a inclusão desta nova variável de virtualização e pela escassa literatura sobre Forense em sistemas virtuais. 1.4.1 Objetivos Específicos Este trabalho tem como objetivo alcançar: a) Definição de procedimentos para análise em ambiente Windows comprometido; b) Descrição de informações pertinentes ao trabalho do perito; e c) Avaliação de evidências que serão apresentadas em um estudo de caso de uma máquina comprometida. 2. ORGANIZAÇÃO Além da introdução formulada este trabalho está estruturado da seguinte forma: a) Capítulo 3: Abordagem de conceitos e ferramentas para melhor compreensão como: Virtualbox, estrutura de registro do Windows dentre outras; b) Capítulo 4: Serão enumeradas informações que devem ser verificadas no registro do Windows em máquinas comprometidas e a formulação de procedimentos para identificá-las tais como: identificação das principais chaves de registro alteradas pelo uso de mídias removíveis e do uso de máquinas virtuais; e c) Capítulo 5: Finalmente apresentaremos quais as principais alterações que a instalação do VirtualBox realiza em um sistema Windows visando auxiliar a detecção de seu uso. 3. EMBASAMENTO TEÓRICO 3.1 ATO ILÍCITO Segundo BITTAR (2007) “… ato ilícito é o procedimento, comissivo (ação) ou omissivo (omissão, ou abstenção), desconforme à ordem jurídica, que causa lesão a outrem, de cunho moral ou patrimonial.” O conceito de ato ilícito é de suma importância para a responsabilidade civil, vez que este faz nascer a obrigação de reparar o dano. O ilícito repercute na esfera do Direito produzindo efeitos jurídicos não pretendidos pelo agente, mas impostos pelo ordenamento. Segundo CAVALCANTE (2012) na esfera de crimes e delitos a Lei nº 12.737/2012 altera o Código Penal para tipificar como infrações uma série de condutas no ambiente digital, principalmente em relação à invasão de computadores como mostrado no quadro 1. Quadro 1: Principais mudanças no Código Penal INVASÃO DE DISPOSITIVO INFORMÁTICO Art. 154-A. Invadir dispositivo informático alheio, conectado ou não à rede de computadores, mediante violação indevida de mecanismo de segurança e com o fim de obter, adulterar ou destruir dados ou informações sem autorização expressa ou tácita do titular do dispositivo ou instalar vulnerabilidades para obter vantagem ilícita. Art. 154-B. Nos crimes definidos no art. 154-A, somente se procede mediante representação, salvo se o crime é cometido contra a administração pública direta ou indireta de qualquer dos Poderes da União, Estados, Distrito Federal ou Municípios ou contra empresas concessionárias de serviços públicos. Fonte: Extrato da Lei nº 12.737 3.2 ANTIFORENSE Para dificultar ainda mais o trabalho do perito digital, REIS (2003) afirma podem ocorrer muitas dificuldades na coleta e análise de vestígios deixados na máquina utilizada no ato ilícito. Criminosos podem utilizar métodos denominados antiforenses para esconder, danificar ou excluir seus rastros digitais na cena do crime. Portanto, a antiforense pode ser definida como a tentativa negativa de alterar a existência, quantidade e qualidade dos vestígios eletrônicos, ou também, dificultar ou impossibilitar a realização da investigação destas evidências (ROGERS, 2006). 3.3 VIRTUALBOX Adquirida e distribuída pela Sun Microsystems é um conjunto de ferramentas para virtualização destinado, segundo o site oficial do VirtualBox, tanto ao ambiente de desktop quanto ao ambiente de servidores. O VirtualBox oferece virtualização de sistemas operacionais de 32bit ou 64bit além de poder criar máquinas virtuais mesmo com processadores sem recursos de virtualização. O VirtualBox é executado em um sistema operacional já instalado que pode ser Windows, Linux, Mac OSX e Solaris. 3.4 REGISTRO DO WINDOWS O Registro do Windows é uma espécie de banco de dados, onde são armazenadas as informações sobre todos os programas instalados, estrutura de diretórios, informações do usuário, de drivers e etc. Ele existe desde as versões do Windows 3.x, mas passou a ser utilizado como padrão, a partir do Windows 95 (MICROSOFT KB 256986). O registro guarda informações acerca de ações realizadas, arquivos recentemente abertos, dispositivos de hardware removível, etc. O registro pode ainda conter dados ocultos, propositalmente escondidos, úteis para uma investigação ou perícia. A estrutura do registro é dividida em cinco ou seis hives, dependendo da versão do sistema operacional. As chaves são as unidades básicas de informação e se distribuem de forma hierárquica pelas hives podendo conter outras chaves (subchaves) ou itens que armazenam dados reais, seus valores. As hives são identificadas inicialmente pelas letras HKEY (H de handle e KEY de chave) seguidas da classe de identificação, conforme veremos na figura 1. Figura 1: Exemplo de organização do registro no Windows 7 hive valor chave subchave dado Fonte: Captura de tela da máquina de trabalho As principais hives e suas respectivas descrições são mostradas no quadro 2. Quadro 2: Principais hives e suas descrições em sistemas Windows Root Key Descrição HKEY_CLASSES_ROOT (HKCR) Contém informações relativas à associação de arquivos aos respectivos softwares criadores, editores ou visualizadores. HKEY_CURRENT_USER (HKCU) Contém informações relativas ao perfil do usuário ativo. HKEY_USERS (HKU) Contém informações relativas a todos os usuários do equipamento e suas configurações pessoais. A Chave HKEY_CURRENT_USER possui um apontador para o usuário corrente. O usuário é identificado na chave pelo SID (security Indentifier). HKEY_LOCAL_MACHINE (HKLM) Mostra informações sobre configurações do computador aplicadas a qualquer usuário. HKEY_CURRENT_CONFIG (HKCC) Informações sobre perfil de hardware usado na máquina local são armazenadas nesta chave. HKEY_DYN_DATA (HKDD) Contém informações dinâmicas da sessão, como driver de dispositivo virtual (VxD), configurações de plug and play, etc., encontrada apenas nos Windows 9X Fonte: http://support.microsoft.com/kb/256986, acessado em 13NOV2013 As estruturas das hives são armazenadas fisicamente em arquivos. As principais hives (SAM, Security, Software e System) podem ser coletadas no diretório Windows\system32\config, como ilustradas na figura abaixo. Figura 2: Arquivos das Hive do registro Fonte: Captura de tela do Windows XP no diretório Windows\System32\Config Outro arquivo que merece destaque é o NTUSER.DAT que está dentro do diretório raiz de cada usuário. Ele contém configurações personalizadas, inclusive do Windows, dos softwares instalados na máquina. Quando um usuário se loga no sistema o arquivo é montando junto à hive HKEY_CURRENT_USER e realizado o inverso durante o logoff. 3.5 MFT (MASTER FILE TABLE) Em sistemas de arquivos NTFS a MFT serve como contêiner para armazenar metadados de todos os objetos do sistema operacional (arquivo, diretórios e arquivo de metadados). Estes valores são os principais alvos de ações antiforense. Neste trabalho não discutiremos toda a estrutura do MFT. Ao invés disso, focaremos em dois atributos, $STANDARD_INFORMATION_ATTRIBUTE ($SIA) e $FILE_NAME ($FNA). Segundo Halan Carvey (2012), as informações contidas no $SIA dos arquivos e diretórios são conjuntos de timestamps, registrados em formato UTC em NTFS e em hora local da máquina em FAT32, armazenados em registros de 72 bytes. Estes valores de tempo referem-se aos tempos de última modificação, acesso, de atributo MFT alterado e criação, ou tempos MACB. Será adotada neste trabalho a sintaxe MACE. No quadro 3 segue uma descrição de cada elemento. Quadro 3: timestamps MACE Letra Descrição M Modificado, última data/hora que o arquivo foi aberto, editado e salvo A Acessado, data/hora do último acesso ao conteúdo do arquivo C Criado, data/hora de quando o arquivo é criado E Chave modificada no registro MFT, refere-se ao tamanho ou localização do arquivo Fonte: http://www.slideshare.net/ctin/time-stamp-analysis-of-windows-systems Adicionalmente, cada arquivo em NTFS terá pelo menos um atributo $FNA nos registros MFT. Este atributo contém 66 bytes de metadados, seu nome, referência à pasta pai e os 4 timestamps da tabela 3. Como técnica antiforense é possível mascarar os rastros de acesso pelo invasor nos arquivos do sistema. Caso haja permissão de escrita aos arquivos é possível modificar2 seus valores de timestamp no atributo $SIA. 4 IDENTIFICAÇÃO DO VIRTUALBOX EM SISTEMAS WINDOWS Existem diversos arquivos no Windows que se forem analisados podem fornecer informações importantes sobre o uso indevido nestas máquinas. Segundo CARVEY (2009, pg 158) o Registro é uma mina de ouro em informações para administradores e peritos forenses. Em muitos casos softwares usados por atacantes deixam rastros no registros e pistas sobre o incidente. O sistema comprometido pode ter sido acessado por vários usuários. O analista não pode confiar fielmente nos timestamps pois estes podem ter sido adulterados (CARVEY, 2011, pg 161). Sendo assim, é necessário analisar outras informações, que serão descritas a seguir, para que haja uma melhor abordagem a respeito das atividades associadas a cada usuário e comprovar que um usuário em especial executou o VirtualBox, para fins ilícitos, em uma estação de trabalho comprometida. 4.1 ARQUIVOS LNK (ATALHOS) Um arquivo LNK pode revelar o que o usuário acessou (volume, nó de rede ou arquivo), seu identificador de classe (GUID), seu caminho completo, timestamps, número serial do volume e o endereço MAC de onde o acesso partiu por exemplo (MICROSOFT, KB 256986). Quando um atalho é criado, a partir da instalação de um programa por exemplo, os timestamps criado, modificado e acessado são setados para o atual momento. Durante todo o ciclo de vida do atalho seu timestamp criado permanece inalterado. O timestamp de data de modificação do atalho representa o último acesso ao programa apontado pelo atalho. PARSONAGE (2009) 4.2 ARQUIVOS MAIS RECENTES USADOS (MRU3) E PROGRAMAS EXECUTADOS (RUNMRU) São mantidas no registro chaves que salvam, de forma ordenada, o acesso a arquivos e programas. Na figura 3 pode-se perceber que houve 4 acessos distribuídos entre arquivos PNG, ZIP e diretórios. 2 3 Técnica conhecida como time stomping. A sigla MRU vem de “most recently used”. MICROSOFT, KB 142298. Figura 3: Exemplo de arquivos mais recentes usados no WindowsXP Fonte: \Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs Outra chave que merece destaque é aquela que mantêm salvo os programas executados pelo menu iniciar (tecla de atalho Windows+R). A ordem, como mostrado na figura a seguir, está definida pelo arquivo MRUList visualizando-se a sequência de execução (MRUList: ba) do mspaint e logo após uma chamada ao regedit. Figura 4: Exemplo de programas executados no WindowsXP Fonte: \Software\Microsoft\Windows\CurrentVersion\RunMRU 4.3 MOUNTEDDEVICE Nesta chave são armazenadas informações sobre dispositivos e volumes montados no sistema. Figura 5: Volumes montados em uma máquina WindowsXP Fonte: HKEY_LOCAL_MACHINE\System\MountedDevices Como pode ser visto na figura 5 há dois tipos básicos de nomes. “DosDevices” que se referem a drives ou letras de volumes e aqueles que começam com “\??\Volume” que se referem a volumes. A partir de MountedDevice e USBSTOR (que será mostrado adiante) é possível precisar a letra usada pelo dispositivo de armazenamento usb. CARVEY (2011) menciona estudos de Rob Lee (SANS) em que o timestamp LastWrite indica quando o dispositivo foi conectado ao sistema na atual seção. Aqui é possível identificar se um volume do TrueCrypt4 foi usado no sistema. Este ponto merece destaque caso o uso da ferramenta não faça parte da rotina do proprietário da estação de trabalho. 4.4 REGISTRO DE USO DE MÍDIA REMOVÍVEL Quando mídias removíveis são plugadas, assinaturas e rastros são gravados no registro. Assim que seu driver for legalmente carregado uma chave é criada, em destaque, conforme figura 6. A sub-chave, em azul, na figura 6 representa o identificador de classe do dispositivo (Device Class ID). Em dispositivos onde o serial não está presente em seu descritor uma única subchave (Unique Instance ID) é gerada. As duas subchaves representam quantas vezes um smartfone android foi plugado na máquina (no caso da figura, 2 vezes) e correspondem ao serial do dispositivo. 4 Ferramenta utilizada para criptografia de volumes obtida em www.truecrypt.org Figura 6: Extrato do registro mostrando o Device Class ID e Unique Instace ID Fonte: Captura de tela do Windows 8 Assim se o invasor for detido com um pendrive é possível, com ajuda das informações mostradas acima, inferir se este foi usado no sistema para praticar alguma ação ilícita. 4.5 USERASSIST Diversos estudiosos (HAOYANG, KEYU, XIAOHONG e HONGBIAO; 2012) apontam que outro lugar importante para o perito checar é a chave UserAssist. Nesta parte do registro há chaves com identificadores únicos (GUID) e em cada uma delas contém subchaves chamadas count que abrigam registros de acesso (codificados em ROT135) do usuário ao sistema tais como: acesso aos componentes do painel de controle, atalhos, programas, documentos, mídias e etc. Cada registro de acesso contem um valor hexadecimal de 16 bytes. O quinto byte (da esquerda para a direita) representa, por exemplo, quantas vezes uma aplicação foi executada. Vale salientar que o contador se inicia em 5. Os últimos 8 bytes representam o timestamp (em formato UTC) de sua última execução. Como exemplo prático será extraída a chave grifada em azul (figura 7) e faremos a decodificação6 desta que se encontra em rot13: Figura 7: Exemplo da chave UserAssist no Windows XP 5 Do inglês, ROTate by 13 places (ROTacionar 13 posições) é um método de cifragem aplicável apenas aos caracteres alfabéticos com passo 13. 6 Decodificação utilizando a ferramenta online http://edoceo.com/utilitas/rot13 Quadro 4: Extrato da chave da figura 7 Chave UserAssist HRZR_EHACNGU:P:\Qbphzragf naq Frggvatf\IZHFRE\Zrhf qbphzragbf\ap.rkr Chave decodificada UEME_RUNPATH:C:\Documents and Settings\VMUSER\Meus documentos\nc.exe Figura 8: Valor da chave da figura 7 Analisando-se seu valor hexadecimal (figura 9) e convertendo o timestamp7 concluímos que o usuário VMUSER, ou alguém que roubou sua identidade, executou o nc.exe (netcat8) 2 vezes (7 – 5) e sua última execução foi, conforme figura 8, às 16:21:35 do dia 14 de nov. de 2013. Figura 9: Timestamp da figura 7 4.6 ARQUIVOS PREFETCH É um componente do gerenciador de memória do Windows que foi introduzido no Windows XP para aumentar a velocidade de processo de boot e reduzir o tempo gasto para programas iniciarem (RUSSINOVICH e SOLOMON, 2005). 7 8 Utilizada a ferramenta DCode disponível em http://www.digital-detective.co.uk/freetools/decode.asp Ferramenta de rede que permite abrir portas TCP/UDP em uma máquina Segundo CARVEY (2012) muitos analistas reconhecem seu valor para a forense. Com a ajuda de outros artefatos, é possível constatar se um usuário ou um invasor tentou camuflar suas atividades. A idéia baseia-se na monitoração de aplicações para coletar e armazenar, em local único, todas as informações necessárias para sua execução. Desta forma, o sistema não precisa vasculhar todo o sistema de arquivos em busca de DLL e outras informações pertinentes para a execução da aplicação. Cada arquivo prefetch inclui o nome da aplicação seguido de um traço mais um hash que contem o caminho da aplicação e os argumentos usados. Os arquivos prefetch possuem metadados onde é possível, por exemplo, verificar a última execução de um programa, de qual volume do sistema de arquivos este foi executado e seu número de execuções. Visando facilitar a análise arquivos prefetch utilizaremos a ferramenta WinPrefetchView9 que mostra de forma amigável suas informações (figura 10). Figura 10: Extrato da ferramenta WinPrefetchView no WindowsXP 4.7 DELEÇÃO DE CHAVES DE REGISTRO Assim como arquivos, chaves de registro não somem por completo quando são apagadas. O espaço que a chave ocupa dentro do arquivo na hive é marcado como disponível podendo assim ser sobrescrito. Infelizmente, sua estrutura física não é tão simples como nos sistemas de arquivos e não há material fornecido pela Microsoft em apoio a este estudo. O estudo sobre a recuperação de chaves de registros que foram apagadas não será contemplado neste trabalho devido a sua complexidade como citado acima. 9 Ferramenta disponível em http://www.nirsoft.net/utils/win_prefetch_view.html 4.9 VESTÍGIOS DE INSTALAÇÃO E USO DO VIRTUALBOX Segundo YIN (2010, p. 22) um estudo de caso é uma das várias maneiras de realizar uma pesquisa de ciência social. Em geral, o estudo de caso é o método preferido quando: as questões “como” ou “por que” são propostas; o investigador tem pouco controle sobre os eventos; e o enfoque está sobre um fenômeno contemporâneo no contexto da vida real. Sendo assim, a partir das informações elencadas e analisadas anteriormente, serão expostas as alterações que a instalação do VirtualBox efetua (sistemas de arquivos e registro) em uma máquina virtual utilizando o sistema operacional Windows XP. Para termos de estudo, uma rede local não possui acesso à internet e uma de suas máquinas foi usada para realizar um ataque de força bruta contra o serviço SSH em um servidor (foram constatadas várias tentativas de acesso pelo IP daquela em um curto espaço de tempo). Durante a análise, o perito constatou que a máquina com Windows XP não seria capaz de executar tais ações ilícitas pois não se observou nenhuma ferramenta de intrusão instalada. Sendo assim, a estratégia de análise deverá ser repensada e visando enriquecer este ensaio, serão mostradas as principais evidências deixadas pela ferramenta mesmo após sua desinstalação. Foi realizado um dump do registro da máquina com o FTK Imager10 e para melhor ilustração dos resultados serão utilizadas as ferramentas já apresentadas com a adição do Windows Registry Recovery11 (WRR). Conforme mostrado no item 3.2, máquinas comprometidas podem ter sido alvos de técnicas de antiforense, mas esta análise não será realizada, pois o assunto é extenso ficando assim postergado para projetos futuros. 4.9.1 BUSCANDO POR ARQUIVOS LNK Após a desinstalação do VirtualBox não há rastros visíveis de atalhos. Utilizando-se a ferramenta FTK Imager é possível encontrar evidências. Nas figuras 11 e 12 é possível constatar que arquivos apagados no sistema não desaparecem por completo, pois suas entradas no registro MFT apenas ficam marcadas como livres. Figura 11: Encontrado arquivo LNK do VirtualBox mesmo após desinstalação 10 Ferramenta de aquisição de dados para análise forense obtida em http://www.accessdata.com 11 Software para análise de arquivos de hive obtida em http://www.mitec.cz/wrr.html Figura 12: Visualização do instalador do VirtualBox apagado 4.9.2 REGISTRO DE USO DE MÍDIA REMOVÍVEL Como citado, não há acesso à internet, assim o invasor provavelmente teria plugado alguma mídia removível com ferramentas de pentesting. Utilizando o WRR com os arquivos de hive da máquina é possível observar nas figuras 13 e 14 que uma mídia removível foi plugada pelo usuário e o sistema atribuiu ao volume a letra “E”. Apoiando-se na citação do item 4.3 sobre o registro LastWrite, podemos afirmar que esta ação ocorreu por volta das 03:44:10. Figura 13: Volumes montados pelo usuário Figura 14: Propriedades da chave da figura anterior Finalmente utilizado o arquivo NTUSER.DAT (figura 15) pode-se perceber que uma imagem ISO, possivelmente do sistema operacional Kali Linux12, foi usada a partir da mídia removível identificada anteriormente para ser usada junto ao VirtualBox como LiveCD. Figura 15: Arquivo com as informações do usuário 4.9.3 IDENTIFICANDO VESTÍGIOS NAS CHAVES USERASSIST Utilizando a ferramenta citada é possível constatar que o VirtualBox foi executado várias vezes como mostrado na figura 16. Figura 16: Visualização dos arquivos do VirtualBox executados na máquina 12 Distribuição Linux, baseada em Debian, especializada em Testes de Intrusão e Auditoria de Segurança obtida em http://www.kali.org/ 4.9.4 VISUALIZAÇÃO DE ARQUIVOS PREFETCH Seguem-se os arquivos que ratificam ainda mais a execução do VirtualBox na máquina. Mesmo que estes sejam excluídos é possível recuperá-los nos registros MFT como mostrado na figura 17. Figura 17: Registros sobre arquivos prefetch na estrutura MFT Na figura 18 é mostrada uma melhor visualização dos arquivos. Figura 18: Formatação dos arquivos prefetch com ferramenta WinPrefetchView 4.9.5 OUTRAS CONSIDERAÇÕES O VirtualBox armazena na raiz da pasta do usuário um diretório denominado “VirtualBox Vms” que abriga todas as máquinas virtuais criadas pelo usuário e seus respectivos arquivos de configurações e logs. Figura 2: Pasta VirtualBox VMs do caso de uso Segundo o BLOG da ORACLE, na pasta Logs da figura 19 é possível, ao se analisar o arquivo Vbox.txt, precisar quando uma máquina virtual foi iniciada e desligada a partir das ocorrências de texto “Changing the VM state from CREATED to POWERING_ON” e “Guest state at power off” respectivamente. No arquivo KaliLinux.txt, figura 20, estão configurações interessantes ao analista: as informações de rede, mídias usadas e seu disco rígido virtual. É possível ratificar que foi utilizada a ISO do Kali Linux (tag XML “DVDImages”) a partir do pendrive plotado no item 4.9.2. A resposta para o IP da máquina WindowsXP ter aparecido nos logs de SSH do servidor deve-se ao fato da máquina virtual estar realizado NAT (subtag de “Network”) com a interface de rede da máquina física. Figura 3: Extrato do arquivo KaliLinux.txt O arquivo KaliLinux.vmdk, ressaltado na tag XML “HardDisks”, é o disco rígido virtual criado para acomodar o sistema operacional instalado, no caso o Kali Linux. Com todos esses arquivos mostrados na figura 19 é possível reativar a máquina virtual para então realizar uma segunda bateria de análises forenses e descobrir quais as ferramentas ilícitas utilizadas e seus respectivos timestamps. Como este arquivo tende a ocupar vários clusters devido ao seu tamanho, na ordem de 2-4GB, a simples remoção pode tornar sua recuperação problemática devido à fragmentação do sistema de arquivos no WindowsXP. 5 CONCLUSÃO Ficou comprovado que sempre haverão vestígios e evidências que auxiliarão o perito em sua análise por anormalidades e abuso em máquinas. Há muitas outras fontes para coleta de evidências não citadas tais como: Logs de Eventos, verificação de memória e pagefiles.sys13 que poderiam agregar ainda mais valor, mas o uso destas merecem trabalhos dedicados devido à extensão e complexidade de cada tema exposto. Outro ponto a ser levado em consideração foi o não uso de técnicas antiforese. A coleta de evidências não será prejudicada desde que o perito tenha um conhecimento mínimo do que fora apresentado. Caso chaves de registros tivessem sido apagas, arquivos removidos e logo após o desfragmentador de disco fosse executado, os resultados poderiam ser bem mais obscuros. 6 PROJETOS FUTUROS Tendo em vista o aprimoramento deste trabalho sugere-se a formalização de procedimentos para aquisição de dados em forense de máquinas virtuais e a elaboração de técnicas para recuperação de chaves de registro apagadas. Outra vertente que poderia ser explorada seria a identificação e análise de técnicas de antiforense que visam ocultar intenções ilícitas e destruição de evidências. 13 É um arquivo criado para sanar insuficiência de memória RAM em sistemas Windows ABSTRACT Keywords: Forensics on Windows, Anti Forensics, Virtual Machines The use of Virtual machines for malware´s controlled tests, veryfication the impact of upgrades in operating systems and analysis of new distributions are scenarios used by computer experts. For example, with the recurse of snapshot behavioral analysis of virus can be traced from their infection, in this controlled system, to the files and records accessed/modified in Windows systems. This feature raises interest for the use of virtual machine actions in illegal pentesting. Operating systems, such as Linux Kali, are ready to offer a complete environment of attacks on a local network and these tools are still available on the internet for everybody. This work aims to subsidize digital expert with evidence and traces, left by use of the VirtualBox virtualization tool, on a compromised workstation with Windows operating system. REFERÊNCIAS • BARRET, Diane e KIPPER, Gaeg. Virtualization and Forensics, A digital Forensic Investigator´s guide to virtual enviorements. Burlington, MA, 2010, Syngress Publising, Inc • CARVEY, Harlan. Windows forensic analysis: DVD toolkit, 2ª ed..Burlington, MA, 2009 Syngress Publising, Inc • ______________. Windows Forensic Analysis Toolkit, 3ª ed. Burlington, MA, 2012, Syngress Publising, Inc • ForensicsWiki, disponível em <http://www.forensicswiki.org/wiki/MAC_times>. Acesso em: 13 nov 2013. • HARRIS, Ryan. Arriving at an anti-forensics consensus: Examining how to define and control the antiforense problem. Acesso em 14 de nov. 2013. Disponível em: <http://www.dfrws.org/2006/proceedings/6-Harris.pdf>. • MICROSOFT, MS-SHLLINK: Shell Link (.LNK) Binary File Format. 08 de ago. de 2013. Acesso em 14 de nov. 2013. Disponível em: <http://msdn.microsoft.com/enus/library/dd871305.aspx>. • “Ovide Decroly.” TrabalhosFeitos.com. 10, 2012. Acesso em 14 de nov. de 2013. http://www.trabalhosfeitos.com/ensaios/Ovide-Decroly/416151.html. • ROGERS, M. Panel session at CERIAS 2006. Information Security Symposium. Disponível em http://www.cerias.purdue.edu/symposium/2006/materials/pdfs/antiforensics.pdf. Acessado em 14 de nov. 2013 • MICROSOFT, KB 256986. Informações do Registro do Windows para usuários avançados. Disponível em: http://support.microsoft.com/kb/256986. Acessado em: 14 de ago de 2013. • MICROSOFT, KB 142298. Como limpar as listas MRU do Windows Explorer. Disponível em: http://support.microsoft.com/kb/142298. Acessado em: 14 de ago. De 2013. • LEE, Rob (2009). Guide to Profiling USB Device. SANS INSTITUTE. Disponível em https://blogs.sans.org/computer-forensics/files/2009/09/USBKEY-Guide.pdf. Acessado em: 14 de ago. de 2013. • KARSTETTER, Randall. Time Stamp Analysis of Windows Systems. 12 de mai. de 2011. Disponivel em: http://www.slideshare.net/ctin/time-stamp-analysis-of-windowssystems. Acessado em 14 de ago. de 2013. • BITTAR, Carlos Alberto. Teoria Geral do Direito Civil, 2007, Forense Universitária. • CAVALCANTE, Márcio André Lopes. Primeiros comentários à Lei n.°12.737/2012, que tipifica a invasão de dispositivo informático. Disponível em: http://www.dizerodireito.com.br. Acesso em: 14 nov 2013 • BRASIL. Lei nº. 12.737, de 30 de novembro de 2012. Dispõe sobre a tipificação criminal de delitos informáticos; altera o Decreto-Lei nº 2.848, de 7 de dezembro de 1940 – Código Penal; e dá outras providências. Disponível em <http://www.planalto.gov.br/ccivil_03/_ato2011-2014/2012/lei/l12737.htm>. Acesso em 14 de nov. de 2013 • REIS, M. A. Forense computacional e sua aplicação em segurança imunológica. Dissertação de mestrado, Instituto de Computação, Universidade Estadual de Campinas, 2003. • ROGERS, M. Panel session at CERIAS 2006. Information Security Symposium. Disponível em http://www.cerias.purdue.edu/symposium/2006/materials/pdfs/antiforensics.pdf. Acesso em 14 nov. 2013. • PARSONAGE, H. The meaning of linkfiles in forensic examinations, 2009.Disponível em <http://computerforensics.parsonage.co.uk/downloads/TheMeaningofLIFE.pdf>. Acesso em 14 de nov. 2013. • DERRICK, J. Farmer. A Windows Registry Quick-Reference for the Everyday Examiner. 2007, Champlain College.Burlington, Vermont. Disponível em <http://www.forensicfocus.com/downloads/windows-registry-quick-reference.pdf>. Acesso em 14 de nov. 2013 • HAOYANG Xie; KEYU Jiang; XIAOHONG Yuan; HONGBIAO Zeng. Forensic Analysis Of Windows Registry Against Intrusion. International Journal of Network Security & Its Applications (IJNSA), Vol.4, No.2, março de 2012. Disponível em: <http://airccse.org/journal/nsa/0312nsa09.pdf>. Acesso em 14 de nov. de 2013. • RUSSINOVICH, Mark; SOLOMON, David. Microsoft Windows Internals. 4 ed. 2005, Microsoft Press. • YIN, R. K. Estudo de Caso: Planejamento e Métodos. 4. ed. Porto Alegre: 2010 , Bookman. • BLOG ORACLE. VirtualBox log files. Disponível em https://blogs.oracle.com/fatbloke/entry/virtualbox_log_files. Acesso em 28 de nov. de 2013.