Segredos do arquivo de paginação Pagefile.sys: artefatos úteis para o cientista forense da computação





Um incidente desagradável ocorreu em uma grande instituição financeira: invasores entraram na rede e “limparam” todas as informações críticas - eles copiaram e enviaram os dados para seu recurso remoto. Os especialistas forenses do Grupo IB pediram ajuda apenas seis meses após os eventos descritos…. Naquela época, algumas estações de trabalho e servidores já haviam sido colocados fora de serviço e os rastros das ações dos invasores foram destruídos devido ao uso de software especializado e devido ao registro incorreto. No entanto, um arquivo de troca do Windows foi encontrado em um dos servidores envolvidos no incidente, de onde os especialistas obtiveram informações críticas sobre o incidente.



Neste artigo, Pavel Zevakhin, Group-IB Forensic Science Lab, discute quais dados podem ser encontrados nos arquivos de troca do Windows durante a pesquisa forense.



Parte 1. O que pagefile.sys está escondendo



Portanto, pagefile.sys é o arquivo de paginação do sistema operacional Windows. Quando não há RAM suficiente, o Windows reserva um certo espaço no disco rígido e o usa para aumentar seus recursos. Em outras palavras, ele descarrega parte dos dados da RAM para o arquivo pagefile.sys. Muitas vezes, as informações de que o pesquisador necessita ficam apenas no arquivo de paginação.



O upload para o arquivo de paginação ocorre página por página, em blocos de 4 KB, de modo que os dados podem ocupar uma área contígua no arquivo de paginação ou estar em diferentes partes dele. Isso significa que, na maioria dos casos, as informações encontradas neste arquivo serão recuperadas com perda de integridade.



O tamanho do pagefile.sys no sistema de arquivos é definido pelo sistema operacional por padrão, mas o usuário sempre pode desativar o arquivo de paginação ou alterar seu tamanho máximo. O local padrão para o arquivo é na raiz da partição do sistema, mas pode estar localizado em qualquer outra unidade lógica, dependendo de onde o usuário o colocou. Este fato deve ser lembrado.



Antes de mergulharmos na extração do pagefile.sys, precisamos entender o que é o arquivo da perspectiva do sistema de arquivos. Para fazer isso, usaremos o software AccessData FTK Imager:



Escondido Verdade SID do proprietário S-1-5-32-544
Sistema Verdade Nome do proprietário Administradores
Somente leitura Falso Grupo SID S-1-5-18
Arquivo Verdade Nome do grupo SISTEMA


Pode-se ver que se trata de um arquivo de sistema oculto que não é fácil de copiar.



Como faço para obter esse arquivo então? Isto pode ser feito de várias maneiras:



  • , FTK Imager KAPE



  • — .


Não se esqueça de que os arquivos pagefile.sys podem estar localizados em Cópias de Sombra de Volume e em outras unidades lógicas. Verdadeiro, há casos em que o próprio usuário define as regras de cópia de sombra e exclui a cópia do arquivo de paginação (há uma ramificação HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ BackupRestore \ FilesNotToSnapshot no registro do sistema , onde os arquivos que serão excluídos da cópia de sombra são especificados).



Na imagem abaixo, você pode ver como a quantidade de dados detectados muda no arquivo de paginação atual (na imagem - o mais à esquerda) e arquivos de paginação que foram recuperados da mesma unidade de cópias de sombra criadas em momentos diferentes.





Um ponto importante a ser lembrado: a partir da compilação 10525, o Windows 10 usa compactação de arquivo de paginação. Quando a memória está baixa, o sistema reduz os recursos de memória não utilizados em cada processo, permitindo que mais aplicativos permaneçam ativos ao mesmo tempo. Para descompactar esse arquivo, você deve usar um software especializado.
Por exemplo, você pode usar o utilitário winmem_decompress de Maxim Sukhanov para descompressão :





Isso é útil quando uma pesquisa no arquivo de paginação original não retornou nenhum resultado ou os dados necessários foram compactados.



Assim, com o arquivo pagefile.sys em nossas mãos, podemos começar a examiná-lo. E aqui é necessário destacar duas situações: a primeira - quando sabemos o que procurar, e a segunda - quando não sabemos. No primeiro caso, podem ser fragmentos de arquivos, vestígios do trabalho de um ou outro software, algum tipo de atividade do usuário. Para tal pesquisa, normalmente é usado o editor hexadecimal X-Ways WinHEX (ou qualquer outro). No segundo caso, você terá que contar com softwares especializados, por exemplo, MAGNET AXIOM , Belkasoft Evidence Center , utilitário de strings (pode ser considerado o principal e mais utilizado), softwarePhotorec (software de recuperação baseado em assinatura), em alguns casos, aplica as regras yara (assumindo que arquivos grandes são digitalizados) - ou simplesmente visualize o arquivo manualmente.



O que pode ser encontrado em pagefile.sys e por que estamos nos concentrando no arquivo de paginação? É simples: são dados parcialmente descarregados da RAM, ou seja, processos, arquivos e outros artefatos - o que estava ativamente e funcionava no sistema operacional. Isso pode ser parte do histórico da Internet e do endereço IP, informações sobre o lançamento de alguns arquivos ou os próprios arquivos, fragmentos de imagens e textos, informações sobre solicitações de rede de software em funcionamento anterior, vestígios de malware na forma de registros de pressionamento de tecla, arquivos de sistema, etc. Logs do sistema operacional e muito mais.







Vamos para o campo



É hora de passar diretamente para casos reais e pesquisas. Então, o que é útil em um arquivo de troca do Windows do ponto de vista forense digital?



Em um dos casos, a imagem de uma unidade infectada com vários malware foi examinada, com a ajuda do qual os cibercriminosos roubaram dinheiro da conta de uma organização.



Para dar uma resposta completa sobre o que aconteceu e como, o cientista forense precisa estabelecer o ponto de partida da infecção, as ferramentas usadas pelos invasores e a sequência de ações. Durante o estudo, nem todos os vestígios do malware foram encontrados. E é aqui que o pagefile.sys foi analisado. Como já sabemos, aí se encontram páginas da memória do processo, descarregadas da RAM para o arquivo de paginação, que às vezes pode ser restaurado, por exemplo, usando o software Photorec usando o método de assinatura, como foi feito neste caso.

: (), . , , , , - , .


Acima está um exemplo de arquivos (nomes de arquivos atribuídos pelo Photorec com base em deslocamentos desde o início do arquivo de paginação) carregados durante este estudo. Vemos que são arquivos executáveis, gráficos, de texto e outros. Então tudo é simples: nós os analisamos com base nos critérios e tarefas necessários.



Nesse caso específico, os arquivos dll contendo código malicioso foram recuperados do arquivo de paginação. Abaixo está um exemplo de suas detecções no VirusTotal (a pesquisa foi realizada pela soma de verificação dos arquivos):





Durante a análise, foi identificado o endereço do servidor remoto, com o qual esses arquivos poderiam interagir. Usando o editor hexadecimal X-Ways WinHEX, foram encontradas linhas contendo os endereços do servidor remoto no pagefile.sys examinado. Isso sugere que os arquivos detectados estavam funcionando no sistema operacional e interagindo ativamente com seu servidor remoto. E aqui estão as detecções do serviço VirusTotal em dezembro de 2018:







Assim, neste caso, graças às informações encontradas no pagefile.sys, estabelecemos toda a cadeia de infecção.



O quê mais?



Às vezes, há casos únicos em que, além de outros rastros, capturas de tela codificadas em base64 podem ser encontradas no arquivo de troca. Por exemplo, o Trojan bancário Buhtrap cria tal quando enviado.



Nesse caso específico, o início do arquivo foi / 9j / 4AAQSkZJRgABAQEAYABgAAD / . Este é o cabeçalho codificado em base64 do arquivo jpeg (parte da imagem é mostrada):





O trecho acima foi copiado, decodificado e adicionado a extensão jpg a ele. Tivemos sorte, e a captura de tela detectada continha um instantâneo completo da área de trabalho ativa do computador de contabilidade com o software aberto "1C: Contabilidade", que exibia o equilíbrio financeiro da empresa e outros dados importantes. Outras imagens codificadas detectadas estavam incompletas (quebradas) devido à maneira como as informações eram armazenadas no arquivo de paginação.



Outro exemplo. No decorrer de um dos incidentes, foram encontrados traços da estrutura Cobalt Strike (linhas características no arquivo de troca - modo SMB, status_448, ReflectiveLoader):







E então você pode tentar descarregar os módulos. Na imagem acima, são keylogger.dll e screenshot.dll, mas pode haver outros.



Ir em frente. O módulo mimikatz, que faz parte do Cobalt Strike e é frequentemente usado por cibercriminosos, é uma ferramenta que implementa a funcionalidade do Windows Credentials Editor e permite que você extraia os dados de autenticação de um usuário conectado em texto não criptografado. Foi no arquivo de troca que foram encontrados os traços de seu funcionamento, a saber as seguintes cadeias de caracteres:



  • sekurlsa :: logonPasswords - extrai logins e senhas de uma conta
  • token :: elevate - eleva os direitos de acesso ao SISTEMA ou procura um token de administrador de domínio
  • lsadump :: sam - Obtenha SysKey para descriptografar as entradas do arquivo de registro SAM
  • log Result.txt - o arquivo onde são registrados os resultados do software (não se esqueça de procurar por este arquivo no sistema de arquivos):





O próximo exemplo são os rastros do funcionamento do Trojan financeiro Ranbyus, que consiste em vários módulos. Em um estudo, um arquivo de paginação que estava em uma cópia de sombra (VSS) encontrou strings geradas por um add-on que estendeu a funcionalidade do software Ranbyus. As linhas continham, entre outras coisas, os dados de autenticação do usuário inseridos (login e senha) no sistema "banco do cliente". E, como exemplo, uma parte de uma solicitação de rede, incluindo informações sobre o servidor de gerenciamento, que foi encontrada no arquivo pagefile.sys:





Na verdade, é bastante comum ver exemplos de solicitações POST por malware para seus servidores C&C, bem como as respostas desses servidores às solicitações. Abaixo estão alguns casos no exemplo de interação entre o software Buhtrap e seu servidor de controle:





Agora vamos nos lembrar do caso com o qual iniciamos este post. Em uma grande organização com muitos servidores e estações de trabalho, ocorreu um incidente durante o qual os invasores entraram na rede, assumiram o controle das credenciais de um dos administradores do controlador de domínio e então se moveram pela rede usando software legítimo. Eles copiaram informações críticas e, em seguida, enviaram esses dados para um local remoto. No momento da resposta, mais de meio ano havia passado, algumas estações de trabalho e servidores já haviam sido retirados do trabalho e os vestígios das ações dos invasores foram destruídos "graças" ao uso de software especializado e devido ao registro incorreto.



Durante o processo de resposta, fomos para o servidor executando o Windows Server 2012 que estava envolvido no incidente. Os arquivos de log do sistema foram sobrescritos mais de uma vez e o espaço livre em disco foi sobrescrito. Mas havia um arquivo de troca! Devido ao longo funcionamento do servidor sem reinicialização e ao grande tamanho do arquivo de paginação, ele retém vestígios do lançamento de softwares e scripts dos cibercriminosos, que na época do estudo não estavam mais no sistema de arquivos sem possibilidade de recuperação. Informações sobre diretórios e arquivos (caminhos e nomes) que foram criados, copiados e posteriormente excluídos por invasores, os endereços IP das estações de trabalho da organização das quais os dados foram copiados e outras informações importantes também foram preservadas.



Curiosamente, a análise automatizada usando vários softwares forenses não deu resultados completos, não havia critérios de pesquisa específicos, então os especialistas recorreram à análise manual do arquivo de paginação usando o editor hexadecimal X-Ways WinHEX.



Abaixo estão alguns exemplos do que os especialistas descobriram:









Informações sobre como usar os utilitários pcsp.exe e ADExplorer.exe (datas e caminhos estão presentes).



Além disso - informações sobre como usar o vbs-script (na imagem - o início e o fim).

Vale ressaltar que as credenciais (login e senha) de um dos administradores do controlador de domínio anteriormente comprometidas são indicadas:







Como resultado, quase todas as informações críticas sobre o incidente foram encontradas no arquivo de paginação de um dos servidores. As ferramentas dos atacantes e algumas de suas ações na rede corporativa foram instaladas.



Por fim, claro, vale a pena mencionar outros artefatos, como dados de visitas a sites da Internet (às vezes você pode encontrar informações sobre o uso de caixas de e-mail), informações sobre arquivos e diretórios:







Você também pode encontrar informações como o nome do computador e o número de série do volume onde o arquivo de paginação estava localizado:





Bem como informações de arquivos de pré-busca e, claro, logs do sistema Windows.



Portanto, pagefile.sys pode realmente conter um grande número de artefatos diferentes que podem ajudar na análise. É por isso que você nunca deve ignorar a exploração do arquivo de paginação. Mesmo se você tiver todos os dados de que precisa, examine o pagefile.sys de qualquer maneira. A prática mostra que pode haver algo importante e faltando.



All Articles