Estou procurando exportar uma grande quantidade de arquivos de log de segurança salvos (.evtx) para texto ou formato CSV. Eu encontrei o wevtutil, mas isso só parece ser capaz de converter .evt para .evtx ao lidar com arquivos de log salvos:
wevtutil epl c:\logs\seclog.evtx c:\logs\seclog.txt /lf:true
O arquivo é criado como seclog.txt, mas está no formato .evtx.
É possível converter em texto ou existe outra maneira de converter os arquivos em texto com a mesma rapidez? Eu tentei com o Powershell, mas demora muito.
Edit: Eu olhei para o Log Parser e parece rápido também, mas não exporta o campo de descrição corretamente:
The description for Event ID xxx in Source "Microsoft-Windows-xxxx" cannot be found. The local computer may not have the...
No final, usei o Log Parser para converter em CSV e, em seguida, [System.IO.File]::ReadLines($filename) para pesquisar no texto. Um arquivo .evtx de 800 MB pode ser convertido em cerca de 2 minutos e 30 segundos e, em seguida, a leitura do arquivo leva cerca de 2 minutos. Possivelmente, poderia ser mais rápido exportar para XML ou para um banco de dados, mas será suficiente para mim com a quantidade de tempo que gastei.
Pelo que me lembro, o LogParser não foi capaz de extrair todas as informações do evento (quero dizer System e EventData que você pode ver na visualização xml para cada evento no EventViewer). Portanto, fui com powershell. Meu script funciona bem, mas é muito lento: leva cerca de 80 segundos para converter um arquivo .evtx de 10 Mb...
Eu precisava converter em massa um monte de arquivos .evtx para .txt - acabei fazendo com que o Log Parser convertesse para .csv (que posso então renomear .txt), mas a maneira mais fácil (e usa apenas ferramentas nativas do Windows) foi para usar
wevtutil
.wevtutil /qe File.evtx /lf: true
abrirá e exibirá o arquivo .evtx em um cmd. Tudo o que você precisa fazer é gerar essa saída como um arquivo .txt!wevtutil /qe File.evtx /lf: true > File.txt
Eu fiz um script em lote que verificará recursivamente uma pasta para todos os seus arquivos de eventos bem datados e converterá cada arquivo .evtx em um .txt dentro dessa pasta:
Editar - percebi que a saída da consulta
wevtutil
não é muito agradável de ler. Usando o Log Parser com meu script, consegui obter uma saída melhor e salvar ainda com .txtSe você está procurando uma maneira de apontar e clicar para converter arquivos EVTX, experimente o Gigasheet. É um aplicativo baseado na web que analisa EVTX e você pode exportar dados no formato CSV. Você pode fazer upload de até 99 arquivos simultaneamente e é gratuito fazer upload de arquivos de até 10 GB.
Detalhes completos aqui: https://www.gigasheet.co/post/online-evtx-parser-and-viewer
Nossa análise no Gigasheet é baseada no analisador Rust EVTX de @omerbenamram. Olhando para os benchmarks no Github, parece que o desempenho deve ser ótimo para a maioria dos aplicativos: https://github.com/omerbenamram/evtx
Divulgação completa: sou co-fundador da Gigasheet.