Conseguir identificar quando, onde e quais aplicativos um suspeito está usando pode ser uma informação crítica ao tentar levar uma investigação adiante. Na Cellebrite, estamos sempre centrados em fornecer as maneiras mais fáceis de identificar as informações mais relevantes, a fim de fornecer inteligência útil com mais rapidez.

Na série de três partes, o Dr. Marziale se concentrará na “Linha do tempo de atividades do Windows” e responderá à pergunta mais importante de todas: o que esse artefato pode fazer pelas suas investigações?

A Parte 1 fornecerá uma visão geral robusta do que é a “linha do tempo” e algumas das informações fundamentais que ela oferece. A Parte 2 e a Parte 3 se aprofundarão de forma a mostrar toda a amplitude das informações úteis que a linha do tempo pode oferecer. Vamos começar.

Aspectos positivos

A linha do tempo pode fornecer todos os tipos de informações úteis:

  • Quais aplicativos foram executados por um usuário.
    *Quando o aplicativo foi iniciado.
    *Quando o aplicativo foi fechado.
  • O registro de data/hora em que o usuário estava ativamente interagindo com o aplicativo.
  • Os URLs visitados durante a utilização dos aplicativos mencionados acima.
  • Os arquivos acessados durante a utilização dos aplicativos mencionados acima.
  • O texto e os arquivos que o usuário copiou e colou.

A configuração do sistema que afeta a linha do tempo é complexa, mas os dados geralmente são armazenados por pelo menos 30 dias (mais ao utilizar as Cópias de sombra de volume – ou VSCs, Volume Shadow Copies – e backups). Além disso, dependendo da configuração, a linha do tempo em uma máquina pode armazenar essas mesmas informações relacionadas às ações de um usuário em outras máquinas. Em alguns casos, parte desses dados podem até vir de outros dispositivos que rodam sistemas operacionais diferentes do Windows (por exemplo, Android e macOS).

Não é preciso dizer que há muita coisa acontecendo aqui.

Como funciona a linha de tempo

Após a versão 1803, o Windows 10 começou a rastrear as atividades do usuário, especificamente para oferecer suporte ao novo recurso da linha do tempo. A linha do tempo fornece aos usuários uma visão da IU dos aplicativos em execução e de outros aplicativos usados recentemente, junto com algumas informações sobre o que o usuário estava fazendo no aplicativo.

Clicar no bloco do aplicativo na IU retoma essa atividade no aplicativo – como um URL que foi aberto em um navegador da Web ou um arquivo que estava sendo editado em um aplicativo de processamento de texto. Para aqueles que ainda não viram a interface, ela é semelhante a esta apresentada abaixo:

Na parte superior, há caixas (“blocos”) dos aplicativos que estão abertos no momento. Abaixo deles, há blocos de aplicativos utilizados anteriormente hoje. E abaixo destes, há blocos de aplicativos utilizados em dias anteriores. Ao rolar para baixo, mais histórico é apresentado, mas até um máximo de 30 dias.

Cada bloco inclui o nome do aplicativo, o arquivo ou URL aberto no momento e (às vezes) uma captura de tela do aplicativo. Além da opção de rolagem, o usuário pode pesquisar usando o ícone localizado no canto superior direito.

De imediato, isso deve parecer interessante a qualquer investigador – o Windows está rastreando claramente uma grande quantidade de dados relativos às atividades do usuário. Este rastreamento seria bastante útil apenas como uma técnica de triagem ao vivo, mas como estes dados também são armazenados em outro lugar do sistema, quem sabe quais outros itens podem ser armazenados lá também. Vamos analisar isso em mais detalhes.

Onde estão os aspectos positivos?

O armazenamento de dados principal da linha do tempo está localizado no diretório inicial de cada usuário no seguinte caminho:

C:\Users\<user>\AppData\ConnectedDevicesPlatform\<folder>\ActivitiesCache.db

Acima, <folder> pode ser qualquer uma das seguintes opções, com base no tipo de conta com a qual o usuário fez login:

  • Conta de usuário local: L.<nome da conta de usuário local> (e.g., “L.vico”)
  • Conta Microsoft: Número de identificação da Microsoft (por exemplo, “cdd048cc6c17532e”)
  • Conta do Azure Active Directory: AAD.XXXXX

Vale ressaltar que o diretório de um único usuário pode ter várias pastas de tipo de login (por exemplo, uma pasta “L.vico” e uma “cdd048cc6c17532e”). Isso pode acontecer quando um usuário inicialmente usa um login local e, em seguida, muda para uma conta da Microsoft.

Se for preciso encontrar o nome da conta da Microsoft para o ID da Microsoft, o mapeamento poderá ser encontrado no registro em:

NTUSER.DAT\Software\Microsoft\IdentityCRL\UserExtendedProperties

No exemplo acima, podemos ver que o ID da Microsoft (cid) “cdd048cc6c17532e” mapeia para o nome de usuário “vico.scenario@gmail.com”.

Qual é o aspecto geral?

O banco de dados ActivitiesCache.db SQLite tem um esquema simples com algumas tabelas. O esquema muda um pouco dependendo da versão do Windows 10 (1803, 1809 etc.), mas basicamente é assim:

Nesta publicação, vamos nos concentrar na tabela de atividades apenas como pode ser visto abaixo:

Sim, há muitas colunas, incluindo sete que contêm registros de data/hora (como muitos de nós, adoro encontrar novos registros de data/hora).

Se, por enquanto, pensarmos em cada bloco, que vimos na primeira captura de tela acima, como uma atividade descrita por uma linha nesta tabela, poderemos falar sobre algumas das colunas mais importantes de uma perspectiva forense.

Podemos facilmente ver os dados no Cellebrite BlackLight (2019r3) ao acessar Actionable Intel e, em seguida, procurar à esquerdaProgram Execution -> Activities Cache -> Activity.

Identificação do GUID

Pode não parecer importante no momento, mas à medida que nos aprofundamos nesta série, a importância de um GUID identificando uma atividade se tornará aparente, portanto, indicamos um aqui.

App Id

Uma lista de identificadores formatada em JSON para este aplicativo entre plataformas também poderá estar disponível onde for compatível. Em função dos recursos de plataforma cruzada sincronizados da linha do tempo, o aplicativo não é especificado como o executável exato que foi executado como outros artefatos que rastreiam a execução do processo (por exemplo, pré-busca ou assistência ao usuário), mas sim como o conjunto de aplicativos que podem continuar essa atividade em todas as plataformas.

Podemos ver abaixo que o Edge estava claramente sendo usado, embora não haja nenhum arquivo “.exe” mencionado.

Dito isso, em relação a alguns aplicativos, você verá o executável real na lista da mesma forma que o notepad.exe abaixo:

Enquanto estamos aqui, colocarei apenas esta captura de tela como um teaser para as próximas publicações desta série (observe os valores de “platform”):

AppActivityId

É um identificador fornecido pelo aplicativo para a atividade.

Geralmente, inclui informações sobre onde o usuário estava no aplicativo, por exemplo, em qual página da Web o usuário estava ou qual arquivo o aplicativo abriu, o que é claramente útil em uma investigação.

Abaixo, vemos que o aplicativo “Edge” foi aberto para https://dfrws.org:

Tipo de atividade

Diversos tipos diferentes de atividades são rastreados na linha do tempo, incluindo quando o usuário abre um aplicativo, quando o usuário está interagindo com um aplicativo, ações da área de transferência, entre outros.

Na captura de tela abaixo, os dois tipos de atividade mais significativos são o de número 5: o usuário iniciou uma atividade (por exemplo, abriu um aplicativo);

e o 6: o usuário interagiu com um aplicativo (por exemplo, colocou o aplicativo em foco).

Horário de início: como pode-se observar, o tipo de atividade 5 foi quando o usuário abriu o aplicativo. Já o tipo de atividade 6 foi o momento em que o usuário começou a interagir com o aplicativo.

Horário de término: o mesmo se aplica aqui. O tipo de atividade 5 foi quando o usuário fechou o aplicativo. Já o tipo de atividade 6 foi quando o usuário encerrou a interação com o aplicativo (por exemplo, colocou outro aplicativo em foco).

Compreendendo o Payload

O Payload contém diferentes tipos de dados, dependendo do tipo de atividade. Para o tipo de atividade 5, contém informações que descrevem como exibir o bloco na IU da linha do tempo. Isso inclui todo o texto dentro e ao redor do bloco e, como vimos acima, geralmente inclui o nome do aplicativo, qual arquivo ou URL foi aberto no aplicativo e muito mais.

Abaixo, o Payload nos diz o nome de exibição do aplicativo, “010 Editor”, e o arquivo que foi aberto: “C:\\Users\\USSF-JKreese\\Documents\\Logs\\Log Files\\USSF Crypt.torrent.” Às vezes, há consideravelmente mais dados no Payload e outras vezes consideravelmente menos, mas quase sempre o nome do aplicativo é fornecido. (E não pergunte sobre o FileShellLink – não descobri isso ainda).

Para o tipo de atividade 6, há um tipo totalmente diferente de informação no Payload, ou seja, a quantidade de tempo que o usuário esteve interagindo com o aplicativo durante este período de interação e o fuso horário em que o usuário estava no momento da interação.

Abaixo, vemos que o usuário interagiu com o aplicativo por 202 segundos e que estava no fuso horário “América/Chicago”.

Se observarmos o App Id do tipo de atividade 6 acima, veremos que o aplicativo usado era o Chrome.

Juntando tudo

Se pegarmos todas as peças que vimos acima e juntá-las, poderemos ter uma visão bastante detalhada da interação de um usuário com um aplicativo durante uma sessão de uso. Aqui, usamos a função de filtragem do Cellebrite Blacklight para centrar na atividade de apenas um aplicativo – IrfanView.

Ao filtrar as entradas em que o App Id contém a string “IrfanView”, vemos um tipo de atividade 5 com hora de início 2019-01-09 19:58:04 (UTC), que indica quando o usuário abriu o aplicativo.

Se observarmos o Payload da atividade do tipo 5, poderemos ver o arquivo que o usuário usou o IrfanView para abrir, com o caminho completo do que pode ser uma unidade removível: “F:\\Actuals\\1-1-879×485.jpg”.

Se observarmos o Payload de uma das entradas do tipo de atividade 6, ele indica que o usuário interagiu com o IrfanView por 11 segundos de 2019-01-09 19:58:05 (UTC) a 2019-01-09 19:58:16 (UTC). As outras entradas do tipo de atividade 6 detalham outras interações.

Esses artefatos fornecem uma visão incrivelmente granular das interações do usuário com o aplicativo, muito mais do que geralmente seria fornecido por outros artefatos de execução de processo. E em um sistema bem utilizado, pode haver milhares de atividades armazenadas no banco de dados.

Análise

Na primeira parte desta série, vimos os fundamentos do que a análise da linha do tempo de atividades do Windows pode fazer pelo seu caso e apenas abordamos a superfície de todas as maneiras pelas quais o Cellebrite BlackLight pode ajudá-lo a utilizar esse artefato em suas investigações.

Nas próximas publicações, analisaremos com mais detalhes as opções de configuração que podem afetar drasticamente o que é armazenado no banco de dados, a aparência dos dados sincronizados, o que é armazenado nas outras tabelas do banco de dados e muito mais.

Neste meio tempo, boa investigação!

Saiba mais sobre como o Cellebrite BlackLight e o Cellebrite MacQuisition (para análise de dispositivos Mac) podem ajudá-lo em suas investigações aqui.

Veja como nossas soluções de inteligência digital podem ajudá-lo a resolver casos de forma mais rápida. Fale conosco.

Share this post