Analisando Resultados do Hayabusa com o Timesketch¶
Sobre¶
"Timesketch é uma ferramenta de código aberto para análise colaborativa de linha do tempo forense. Usando sketches, você e seus colaboradores podem organizar facilmente suas linhas do tempo e analisá-las todos ao mesmo tempo. Adicione significado aos seus dados brutos com anotações, comentários, tags e estrelas detalhados."
Para investigações pequenas, em que você está analisando um arquivo CSV de apenas algumas centenas de MBs e trabalhando sozinho, o Timeline Explorer é adequado; porém, quando você está trabalhando com dados maiores ou com uma equipe, uma ferramenta como o Timesketch é muito melhor.
O Timesketch oferece os seguintes benefícios:
- É muito rápido e consegue lidar com grandes volumes de dados
- É uma ferramenta colaborativa em que vários usuários podem utilizá-la simultaneamente
- Fornece análise avançada de dados, histogramas e visualizações
- Não se limita ao Windows
- Oferece suporte a consultas avançadas
Há muitos outros benefícios, como suporte a CTI, diversos analisadores, notebooks interativos, etc... Confira o guia do usuário e o canal do YouTube para mais informações.
A única desvantagem é que você terá que configurar um servidor Timesketch no seu ambiente de laboratório, mas felizmente isso é muito trivial de fazer.
Instalando¶
Docker¶
Siga as instruções oficiais aqui.
Ubuntu¶
Nota: O Docker deve estar instalado antes de prosseguir. Siga as instruções de instalação do Docker acima caso você ainda não tenha instalado o Docker.
Recomendamos usar a edição mais recente do Ubuntu LTS Server com pelo menos 8GB de memória.
Você pode baixá-la aqui.
Escolha a instalação mínima ao configurá-la.
Não instale o docker ao configurar o sistema operacional.
Você não terá o ifconfig disponível, então instale-o com sudo apt install net-tools.
Depois disso, execute ifconfig para encontrar o endereço IP da VM e, opcionalmente, conecte-se via ssh a ela.
Execute os seguintes comandos:
curl -s -O https://raw.githubusercontent.com/google/timesketch/master/contrib/deploy_timesketch.sh
chmod 755 deploy_timesketch.sh
cd /opt
sudo ~/deploy_timesketch.sh
cd timesketch
sudo docker compose up -d
# Create a user named user. Set the password here.
sudo docker compose exec timesketch-web tsctl create-user user
macOS¶
Nota: Antes de prosseguir, certifique-se de ter o Docker Desktop for Mac instalado e em execução no seu sistema. Clone o repositório do Timesketch e entre no diretório.
Inicie o contêiner Docker seguindo os passos abaixo.- https://github.com/google/timesketch/tree/master/docker/e2e#build-and-start-containers
Fazendo login¶
Descubra o endereço IP do servidor Timesketch com ifconfig e abra-o em um navegador web.
Você será redirecionado para uma página de login.
Faça login com as credenciais de usuário que você utilizou ao adicionar um usuário.
Criando um novo sketch¶
Em Start a new investigation, clique em BLANK SKETCH.
Nomeie o sketch com algo relevante para a sua investigação.
Enviando sua linha do tempo¶
Depois de clicar em + ADD TIMELINE, você verá uma caixa de diálogo pedindo para enviar um arquivo Plaso, JSONL ou CSV.
Infelizmente, o Timesketch atualmente não consegue importar o formato JSONL do Hayabusa, então crie e envie uma linha do tempo em CSV com o seguinte comando:
hayabusa-x.x.x-win-x64.exe csv-timeline -d <DIR> -o timesketch-import.csv -p timesketch-verbose --ISO-8601
Nota: É necessário escolher um perfil
timesketch*e especificar o timestamp como--ISO-8601para UTC ou--RFC-3339para horário local. Você pode adicionar outras opções do Hayabusa se desejar, porém, não adicione a opção-M, --multiline, pois os caracteres de quebra de linha corromperão a importação.
Na caixa de diálogo "Select file to upload", nomeie sua linha do tempo como algo do tipo hayabusa, escolha o delimitador CSV Comma (,) e clique em SUBMIT.
Se o seu arquivo CSV for grande demais para enviar, você pode dividir o arquivo em vários arquivos CSV com o comando split-csv-timeline do Takajo.
Enquanto o arquivo estiver sendo importado, você verá um círculo girando, então aguarde até que termine e você veja hayabusa aparecer.
Dicas de análise¶
Exibindo a linha do tempo¶
Nota: Mesmo após a importação ter terminado com sucesso, será exibido Your search did not match any events e haverá 0 eventos na linha do tempo hayabusa.
Pesquise por * e os eventos aparecerão como mostrado abaixo:
Detalhes do alerta¶
Se você clicar no título de uma regra de alerta na coluna message, você obterá as informações detalhadas sobre o alerta:
Se você quiser entender a lógica da regra sigma, consultar a descrição e as referências, etc... procure a regra no repositório hayabusa-rules.
Filtragem de campos¶
Após abrir os detalhes de um evento clicando no título da regra, você pode passar o cursor sobre qualquer campo para filtrar facilmente o valor para incluí-lo ou excluí-lo:
Análise de agregação¶
Ao passar o cursor, se você clicar no ícone Aggregation dialog mais à esquerda, você obtém análises de dados de eventos realmente excelentes referentes àquele campo:
Comentários de usuários¶
Quando você clica em um alerta para obter informações detalhadas, um novo ícone de caixa de diálogo de comentário é exibido no lado direito, como mostrado abaixo:
Aqui, os usuários podem iniciar um chat e escrever comentários sobre a investigação.
Se você estiver trabalhando em equipe, provavelmente deveria criar uma conta de usuário diferente para cada membro, para que você saiba quem escreveu o quê.
Se você passar o cursor sobre um comentário, você pode editar e excluir as mensagens facilmente.
Modificando colunas¶
Por padrão, apenas o timestamp e o título da regra de alerta serão exibidos, então clique no ícone Modify columns para personalizar os campos:
Isso abrirá a seguinte caixa de diálogo:
Recomendamos adicionar pelo menos as seguintes colunas na ordem:
LevelComputerChannelEventIDRecordID
A ordem das colunas mudará dependendo da ordem em que você as adiciona, então adicione primeiro os campos mais importantes.
Se você ainda tiver espaço na tela, recomendamos também adicionar Details, como mostrado aqui:
Se você ainda tiver espaço na tela, recomendamos também adicionar ExtraFieldInfo, porém, como você vê aqui, se adicionar colunas demais, o campo message ficará estreito demais e você não conseguirá mais ler os títulos dos alertas:
Ícones superiores¶
Ícone de reticências¶
Se você clicar no ícone ···, você pode tornar as linhas mais compactas e remover o Timeline name para criar mais espaço para os resultados:
Histograma de eventos¶
Você pode ativar o histograma de eventos para visualizar a linha do tempo:
Se você clicar em uma das barras, será criado um filtro de tempo para mostrar apenas os resultados durante aquele período de tempo.
Salvar pesquisa atual¶
Se você clicar no ícone Save current search logo acima dos timestamps e à esquerda do ícone Toggle Event Histogram, você pode salvar sua consulta de pesquisa atual, bem como a configuração de colunas, em Saved Searches.
Mais tarde, na barra lateral esquerda, você pode acessar facilmente suas pesquisas favoritas.
Barra de pesquisa¶
Aqui estão algumas consultas úteis para começar, mostrando apenas alertas com determinados níveis de severidade:
Level:critpara mostrar apenas alertas críticos.Level:crit OR Level:highpara mostrar alertas altos e críticosNOT Level:infopara ocultar alertas informativos
Você pode filtrar facilmente digitando o nome do campo mais : mais o valor.
Você pode combinar filtros com AND, OR e NOT.
Curingas e expressões regulares são suportados.
Consulte o guia do usuário aqui para consultas mais avançadas.
Histórico de pesquisas¶
Se você clicar no ícone de relógio à esquerda da barra de pesquisa, você pode exibir as consultas inseridas anteriormente. Você também pode clicar nos ícones de seta esquerda e direita para executar as consultas anteriores e seguintes.
Reticências verticais¶
Se você clicar nas reticências verticais à esquerda de um timestamp e clicar em Context search, você pode ver os alertas que aconteceram antes e depois de um determinado evento:
Isso abrirá o seguinte:
No exemplo acima, os eventos antes e depois de 60 segundos (60S) estão sendo exibidos, mas você pode ajustar isso de +- 1 segundo (1S) até +- 60 minutos (60M).
Se você quiser detalhar ainda mais os eventos exibidos, clique em Replace Search para mostrar os eventos na linha do tempo padrão.
Estrelas e tags¶
Você pode clicar no ícone de estrela à esquerda de um timestamp para marcá-lo com estrela e anotá-lo como um evento importante.
Você também pode adicionar tags aos eventos.
Isso é útil para indicar a outras pessoas que você confirmou que um evento é suspeito, malicioso, um falso positivo, etc...
Se você estiver trabalhando em equipe, você pode criar tags como under investigation by xxx para indicar que alguém está atualmente investigando o alerta.













