
Scanner YARA nativo X-Tension para X-Ways Forensics, permitindo a varredura de arquivos em snapshot com suporte a RVS multi-thread, saída em tabela de relatórios e sem gravação em disco.
Esta X-Tension do X-Ways Forensics permite o uso do YARA de forma nativa no X-Ways. Utiliza tanto a API do X-Ways Forensics quanto a API do YARA para isso.
Nota: Este é um projeto de código aberto, não um produto formal da CrowdStrike.
Há muitos benefícios em executar o YARA dentro do X-Ways, em comparação com a execução via interface de linha de comando.
Supondo que o X-Ways Forensics esteja instalado e configurado corretamente, basta baixar a DLL compilada da página de releases e copiá-la para a pasta x64 dentro da pasta de instalação do X-Ways Forensics.
A X-Tension pode ser executada através da GUI do X-Ways Forensics ou da linha de comando. Este readme focará no método GUI.
Na GUI, há duas maneiras de executar a X-Tension: através do menu Refine Volume Snapshot ("RVS") ou do menu Directory Browser Context ("DBC"). Qual método usar depende do que se deseja alcançar. Normalmente, executar o YARA pelo menu RVS será muito rápido se o usuário especificar um tamanho máximo de arquivo razoável (por exemplo, 25MB). Se por algum motivo o usuário quiser executar o YARA em arquivos individuais maiores pelo menu DBC, a X-Tension dividirá os dados em partes (cujo tamanho é fornecido pelo usuário).
Se alguma das regras YARA falhar ao compilar, um erro será exibido na janela de Mensagens do X-Ways mostrando em qual linha o erro ocorreu e a mensagem de erro do YARA. Corrija esses erros na regra YARA e tente novamente. Uma contagem de avisos do YARA será exibida na janela de Mensagens do X-Ways, e os detalhes exatos desses avisos são registrados no log do caso do X-Ways.
A X-Tension suporta o uso de múltiplos arquivos de regras YARA (note que o YARA lançará um erro para regras duplicadas e falhará ao compilar). Alternativamente, também suporta o uso de um único arquivo de regra já compilado (.yara/.yar).
Nota: Existe o risco de uma correspondência YARA válida ser perdida se os dados varridos estiverem distribuídos entre dois limites de parte/ buffer. Se isso for um problema, aumente o tamanho do buffer ou copie o arquivo para fora do X-Ways e escaneie usando a interface de linha de comando do YARA.
| Método -> | RVS | DBC |
|---|---|---|
| Multithread | Sim | Não |
| Solicitar tamanho máximo de arquivo | Sim | Não |
| Solicitar tamanho do buffer de varredura | Sim* | Sim |
* Apenas se o tamanho máximo de arquivo inserido pelo usuário for maior que 100MB. Se o tamanho máximo for menor que 100MB, utiliza 100MB como tamanho do buffer.
Na GUI, uma vez criado ou aberto um caso existente, vá em Specialist -> Refine Volume Snapshot. Marque a opção "Run X-Tensions" e clique nos três pontos que aparecem. No menu que aparece, clique no símbolo de mais (+) e navegue até o arquivo XT_Yara.dll baixado deste repositório, depois pressione OK.
Em seguida, será solicitado que selecione seu arquivo de regras YARA. Uma janela de entrada será exibida e será solicitado que forneça um tamanho máximo de arquivo para escanear, que é obrigatório. 25-50MB pode ser um tamanho máximo adequado se você estiver apenas procurando por amostras de malware ou web shells, por exemplo.
Se o usuário selecionou um tamanho máximo de arquivo maior que 100MB, um segundo prompt de entrada do usuário será exibido solicitando o tamanho do buffer usado pelo scanner YARA. Foi testado até 2GB sem problemas, mas selecione com sabedoria dependendo das suas limitações de memória e do número de threads selecionadas.
Na GUI, uma vez criado ou aberto um caso existente, selecione o(s) arquivo(s) que deseja escanear e clique com o botão direito em um deles e selecione "Run X-Tensions...". Será solicitado que especifique o(s) arquivo(s) de regras YARA. Um prompt de entrada do usuário será exibido solicitando o tamanho do buffer usado pelo scanner YARA. Foi testado até 2GB sem problemas, mas selecione com sabedoria dependendo das suas limitações de memória e do número de threads selecionadas.
Não há prompt para tamanho máximo de arquivo.
Arquivos com correspondências YARA são adicionados à Tabela de Relatórios chamada "YARA Hits". As regras exatas que corresponderam são adicionadas por arquivo, por linha, dentro do campo "Comments" no X-Ways Forensics.
A saída típica é mostrada abaixo:
[XT] YARA 4.2.2 library initialised
[XT] There were 9 YARA compile warnings. Check the XWF case log for details
[XT] YARA rules compiled successfully
[XT] Operation Complete. Processing time: 0.000000s
[XT] Summary: Found 240 YARA hits
[XT] YARA library finalised