
O Volatile Artifact Collector coleta um instantâneo de dados voláteis de um sistema. Ele informa o que está acontecendo em um sistema e é particularmente útil ao investigar um incidente de segurança.
O varc coleta uma captura instantânea de dados voláteis de um sistema. Ele informa o que está acontecendo em um sistema e é particularmente útil ao investigar um incidente de segurança.
Ele cria um zip que contém vários tipos de dados para entender o que está acontecendo em um sistema:
Executamos com sucesso em:
Confira as capturas de exemplo na aba "Releases" para ver alguns dados impressionantes! A gravação de tela abaixo mostra uma coleta de um contêiner Docker (à esquerda) e a saída da execução dentro de uma função AWS Lambda que implantou o Xmrig (à direita):

Seguindo a ordem de volatilidade, coletamos a memória do processo antes de qualquer outra coisa. Observe que o varc, e qualquer outra ferramenta executada dentro de um sistema, impactará a memória do sistema.
Você pode encontrar binários compilados para Windows, Linux e OSX na aba Releases. Basta executar e um zip é criado com a saída. Para acessar alguns dados, você precisará executar com privilégios elevados (ou seja, sudo ou root no Linux).
usage: varc [-h] [--skip-memory] [--skip-open] [--dump-extract] ...
optional arguments:
-h, --help show this help message and exit
--skip-memory Skip collecting process memory, which can be slow
--skip-open Skip collecting open files, which can be slow
--dump-extract Extract process memory dumps, which can be slow
Instale via pip com:
pip3 install varc
Ou alternativamente, clone este repositório e instale com:
python3 setup.py install
Depois chame com:
from varc import acquire_system
output_file_path = acquire_system().zip_path
O varc simplifica significativamente a aquisição e análise de dados voláteis. Embora possa ser usado manualmente de forma ad-hoc, é uma excelente opção para implantação automática em resposta a detecções de segurança. A saída do varc foi projetada para ser facilmente consumida por outras ferramentas, no formato JSON padrão sempre que possível.
Um pipeline típico pode ser:
A coleta de memória de processo não é suportada atualmente no OSX.
Se você executar o varc em um sistema Linux sem a capacidade do kernel Ptrace habilitada, você obterá arquivos de memória vazios. Você ainda receberá uma saída detalhada do sistema.
Por exemplo, em nossos testes:
Todos os dados são salvos em um formato aberto e não proprietário, na esperança de que possam ser facilmente processados por outras ferramentas da comunidade.
Nossa ferramenta gratuita Cado Community Edition analisará este zip felizmente e exibirá as tabelas de dados JSON conforme pretendido.
Nossa ferramenta comercial Cado Response permite adicionalmente capturar automaticamente dados estáticos e voláteis de sistemas através do Cado Host. Usando a API, você pode investigar e responder automaticamente a detecções de ferramentas de terceiros, como um EDR como SentinelOne ou uma ferramenta de detecção em nuvem como GuardDuty.
Aqui está um exemplo da saída do varc para uma função Lambda executando xmrig, visualizada no Cado Community Edition:

Este software está licenciado sob a GPL. Entre em contato conosco se isso não funcionar para o seu caso de uso - podemos licenciar alternativamente sob uma licença não copyleft, como a Apache License. Somos amigáveis! Como este software está licenciado sob a GPL e usado em nosso produto comercial, pedimos a todos os contribuidores que assinem um simples Acordo de Licença de Contribuidor (CLA).
Adoraríamos receber Pull Requests ou Relatórios de Bug!