Turbinia es un marco de código abierto para implementar, administrar y ejecutar cargas de trabajo forenses distribuidas. Su objetivo es automatizar la ejecución de herramientas de procesamiento forense comunes (es decir, Plaso, TSK, cadenas, etc.) para ayudar con el procesamiento de evidencia en la nube, escalar el procesamiento de grandes cantidades de evidencia y disminuir el tiempo de respuesta al paralelizar el procesamiento cuando sea posible.
Turbinia se compone de diferentes componentes para el cliente, el servidor y los trabajadores. Estos componentes se pueden ejecutar en la nube, en máquinas locales o como un híbrido de ambos. El cliente Turbinia realiza solicitudes de procesamiento de evidencia al servidor Turbinia. El servidor Turbinia crea trabajos lógicos a partir de estas solicitudes entrantes de los usuarios, lo que crea y programa tareas de procesamiento forense para que las ejecuten los trabajadores. Las pruebas a procesar se dividirán por trabajos cuando sea posible y se pueden crear muchas tareas para procesar las pruebas en paralelo. Uno o más trabajadores se ejecutan continuamente para procesar tareas desde el servidor. Cualquier nueva evidencia creada o descubierta por las tareas se enviará a Turbinia para su posterior procesamiento.
La comunicación del cliente al servidor actualmente se realiza mediante mensajería Kombu. La implementación del trabajador utiliza Celery para la programación de tareas.
La documentación principal de Turbinia se puede encontrar aquí. También puede encontrar más información sobre la arquitectura y cómo funciona aquí.
Turbinia se encuentra actualmente en versión Alpha.
Hay una guía de instalación aquí.
Los pasos básicos para que todo funcione después de la instalación y configuración inicial son:
Inicie el componente del servidor Turbinia con el comando turbiniactl server
Inicie el componente del servidor API de Turbinia con el comando turbiniactl api_server
si usa Celery
Inicie uno o más trabajadores de Turbinia con turbiniactl celeryworker
Instalar turbinia-client
mediante pip install turbinia-client
Enviar evidencia a procesar desde el cliente turbinia con turbinia-client submit ${evidencetype}
Verifique el estado de las tareas en ejecución con turbinia-client status
turbinia-client se puede utilizar para interactuar con Turbinia a través del componente del servidor API, y aquí está el uso básico:
$ turbinia-client -h Usage: turbinia-client [OPTIONS] COMMAND [ARGS]... Turbinia API command-line tool (turbinia-client). *** *** * * *** ****** * * ** * * ** ,* ******* * ******** * * * * * * %%%%%% %%%%%% %%%%%%%%%%%%%%% %%%%%% %%%%%%%%%%%%%%%%%%%%% %%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ** ******* %% %% *************** %% (%%%%%%%%%%%%%%%%%%% ***** ** %%%%% %%%%%%%%%%%%%%% %%%%%%%%%% %% ** *** %%% %% %% %%% %%%%, %%% %%% %%% %%%%% %%% %%% %% %%% %%% %%% (%% %%% %%% %%% %%% %% %%/ %% %%% %%% %%% %%%%%%%% %%% %%% %%% %%% %%% %%% %% %%% %%% %%% %%% %%% %%% %%%%% %%% %%%%% %% %%% %% %%% %%%%% This command-line tool interacts with Turbinia's API server. You can specify the API server location in ~/.turbinia_api_config.json Options: -c, --config_instance TEXT A Turbinia instance configuration name. [default: (dynamic)] -p, --config_path TEXT Path to the .turbinia_api_config.json file.. [default: (dynamic)] -h, --help Show this message and exit. Commands: config Get Turbinia configuration. evidence Get or upload Turbinia evidence. jobs Get a list of enabled Turbinia jobs. result Get Turbinia request or task results. status Get Turbinia request or task status. submit Submit new requests to the Turbinia API server.
Consulte la página de documentación turbinia-client
para obtener una guía de usuario detallada.
También puedes interactuar con Turbinia directamente desde Python utilizando la biblioteca API. Te damos algunos ejemplos aquí.
Documentación principal
Instalación
como funciona
Detalles operativos
Herramienta CLI del cliente Turbinia
Servidor API de Turbinia
Biblioteca API de Turbinia Python
Contribuyendo a Turbinia
Desarrollando nuevas tareas
Preguntas frecuentes
Depuración y errores comunes
Usando Docker para ejecutar trabajos
Este no es un producto oficial de Google (experimental o no), es solo un código que resulta ser propiedad de Google.