
Volatile Artifact Collector collecte un instantané des données volatiles d'un système. Il vous indique ce qui se passe sur un système, et est particulièrement utile lors de l'investigation d'un incident de sécurité.
varc collecte un instantané des données volatiles d'un système. Il vous indique ce qui se passe sur un système et est particulièrement utile lors de l'investigation d'un incident de sécurité.
Il crée une archive zip contenant plusieurs éléments de données pour comprendre ce qui se passe sur un système :
Nous l'avons exécuté avec succès sur :
Découvrez les exemples de captures sous l'onglet "Releases" pour voir des données impressionnantes ! L'enregistrement d'écran ci-dessous montre une collecte depuis un conteneur Docker (à gauche) et la sortie de l'exécution à l'intérieur d'une fonction AWS Lambda ayant déployé Xmrig (à droite) :

Conformément à l'ordre de volatilité, nous collectons la mémoire des processus avant tout le reste. Notez que varc, comme tout outil s'exécutant à l'intérieur d'un système, aura un impact sur la mémoire de ce système.
Vous trouverez des binaires compilés pour Windows, Linux et OSX sous l'onglet Releases. Exécutez simplement et une archive zip est créée avec la sortie. Pour accéder à certaines données, vous devrez exécuter avec des privilèges élevés (c'est-à-dire sudo ou root sur 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
Installez depuis pip avec :
pip3 install varc
Ou bien clonez ce dépôt puis installez avec :
python3 setup.py install
Puis appelez avec :
from varc import acquire_system
output_file_path = acquire_system().zip_path
varc simplifie considérablement l'acquisition et l'analyse de données volatiles. Bien qu'il puisse être utilisé manuellement au cas par cas, il est parfaitement adapté au déploiement automatique en réponse à des détections de sécurité. La sortie de varc est conçue pour être facilement consommée par d'autres outils, au format JSON standard autant que possible.
Un pipeline typique pourrait être :
La collecte de la mémoire des processus n'est actuellement pas prise en charge sur OSX.
Si vous exécutez varc sur un système Linux sans la capacité noyau Ptrace activée, vous obtiendrez des fichiers mémoire vides. Vous obtiendrez toujours une sortie système détaillée.
Par exemple, dans nos tests :
Toutes les données sont sauvegardées dans un format ouvert et non propriétaire, dans l'espoir qu'elles puissent être facilement traitées par d'autres outils de la communauté.
Notre outil gratuit Cado Community Edition analyse cette archive zip et affiche les tables de données JSON comme prévu.
Notre outil commercial Cado Response vous permet en outre de capturer automatiquement à la fois les données statiques et volatiles des systèmes via Cado Host. En utilisant l'API, vous pouvez automatiser l'investigation et la réponse aux détections provenant d'outils tiers comme un EDR tel que SentinelOne ou un outil de détection cloud comme GuardDuty.
Voici un exemple de sortie varc pour une fonction Lambda exécutant xmrig, visualisée dans Cado Community Edition :

Ce logiciel est sous licence GPL. Contactez-nous si cela ne correspond pas à votre cas d'utilisation – nous pourrions éventuellement proposer une licence alternative sous une licence non copyleft telle que la licence Apache. Nous sommes sympathiques ! Comme ce logiciel est sous licence GPL et utilisé dans notre produit commercial, nous demandons à tout contributeur de signer un simple accord de licence de contributeur (CLA).
Toute pull request ou rapport de bogue est le bienvenu !