
Aplicações práticas em cenários reais
Vamos agora aplicar o Plaso em um cenário prático. Imagine que você está investigando um incidente de segurança em que um atacante comprometeu um servidor. Utilizando o Plaso, você pode:
-
Identificar o ponto de entrada:
-
Analisar logs de autenticação para detectar logins suspeitos.
-
Verificar se houve execução de scripts ou programas maliciosos.
-
-
Rastrear atividades do atacante:
-
Reconstruir a linha do tempo das ações realizadas pelo atacante.
-
Identificar arquivos criados, modificados ou excluídos.
-
-
Coletar evidências para relatórios:
-
Exportar eventos específicos para incluir em relatórios forenses.
-
Utilizar os dados para embasar decisões de resposta a incidentes.
-
Aqui estão as linhas de comando no shell do Linux para aplicar o Plaso (Log2Timeline) no cenário prático descrito, anunciado no artigo “Forense Digital com Linux – Técnicas práticas – parte 8”, conforme informações anteriores:
1. Identificar o ponto de entrada
Analisar logs de autenticação para detectar logins suspeitos:
psort.py -o dynamic --filter "parser == 'linux:auth_log'" -w
auth_logs.csv timeline.plaso
-
Este comando filtra eventos relacionados a logs de autenticação (como
/var/log/auth.log
) e os exporta para um arquivo CSV chamadoauth_logs.csv
.
Verificar se houve execução de scripts ou programas maliciosos:
psort.py -o dynamic --filter "parser == 'bash:history' OR parser == 'linux:syslog'" -w
executed_scripts.csv timeline.plaso
-
Este comando filtra eventos relacionados ao histórico do Bash (
~/.bash_history
) e logs do sistema (/var/log/syslog
) para identificar a execução de scripts ou programas.
2. Rastrear atividades do atacante
Reconstruir a linha do tempo das ações realizadas pelo atacante:
psort.py -o dynamic --filter "user == 'atacante'" -w attacker_timeline.csv timeline.plaso
-
Este comando filtra todos os eventos associados ao usuário
atacante
e os exporta para um arquivo CSV chamadoattacker_timeline.csv
.
Identificar arquivos criados, modificados ou excluídos:
psort.py -o dynamic --filter "parser == 'filestat'" -w file_activities.csv timeline.plaso
-
Este comando extrai eventos relacionados a operações de arquivos (criação, modificação e exclusão) e os exporta para
file_activities.csv
.
3. Coletar evidências para relatórios
Exportar eventos específicos para incluir em relatórios forenses:
psort.py -o dynamic --filter "timestamp >= '2023-10-01' AND timestamp <= '2023-10-31'" -w
october_events.csv timeline.plaso
-
Este comando filtra eventos que ocorreram entre 1º de outubro de 2023 e 31 de outubro de 2023 e os exporta para
october_events.csv
.
Utilizar os dados para embasar decisões de resposta a incidentes:
psort.py -o dynamic --filter "event_type == 'file:creation' OR event_type == 'file:deletion'"
-w critical_file_changes.csv timeline.plaso
-
Este comando filtra apenas eventos de criação e exclusão de arquivos, que podem ser críticos para a investigação, e os exporta para
critical_file_changes.csv
.
Explicação dos comandos
-
psort.py
: Ferramenta do Plaso para processar e filtrar eventos armazenados em um arquivo.plaso
. -
-o dynamic
: Define o formato de saída como dinâmico, que é adequado para exportação em CSV. -
--filter
: Permite aplicar filtros específicos para extrair apenas os eventos relevantes. -
-w
: Especifica o arquivo de saída onde os resultados serão salvos. -
timeline.plaso
: Arquivo gerado pelolog2timeline.py
que contém todos os eventos extraídos.
Como utilizar os resultados
-
Os arquivos CSV gerados podem ser abertos em ferramentas como Excel, Google Sheets ou qualquer software de planilhas para análise detalhada.
-
Utilize os dados para identificar padrões, correlacionar eventos e construir um relatório forense completo.
Esses comandos permitem que você aplique o Plaso de maneira eficiente em cenários reais de investigação de segurança cibernética.
Fonte e imagens: https://www.kali.org/tools/plaso/