
Automatización y Escalado de Herramientas de Forense Digital
Nota: Turbinia ya no desarrollará nuevas funcionalidades y se encuentra en modo de mantenimiento. Los usuarios deberían echar un vistazo a OpenRelik.
Turbinia es un framework de código abierto para desplegar, gestionar y ejecutar cargas de trabajo forenses distribuidas. Su objetivo es automatizar la ejecución de herramientas forenses comunes (por ejemplo, Plaso, TSK, strings, etc.) para ayudar al procesamiento de evidencia en la nube, escalar el procesamiento de grandes cantidades de evidencia y reducir el tiempo de respuesta mediante la paralelización del procesamiento siempre que sea posible.
Turbinia está compuesta por diferentes componentes para el cliente, el servidor y los trabajadores. Estos componentes pueden ejecutarse en la nube, en máquinas locales, o como un híbrido de ambos. El cliente de Turbinia envía solicitudes para procesar evidencia al servidor de Turbinia. El servidor de Turbinia crea trabajos lógicos a partir de estas solicitudes de usuario entrantes, que a su vez crean y programan tareas de procesamiento forense para ser ejecutadas por los trabajadores. La evidencia a procesar será dividida por los trabajos cuando sea posible, y se pueden crear muchas tareas para procesar la evidencia en paralelo. Uno o más trabajadores se ejecutan continuamente para procesar las tareas del servidor. Cualquier nueva evidencia creada o descubierta por las tareas será realimentada en Turbinia para su posterior procesamiento.
La comunicación del cliente al servidor se realiza actualmente 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 puedes obtener 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 poner todo en funcionamiento después de la instalación y configuración iniciales son:
turbiniactl serverturbiniactl api_server si se usa Celeryturbiniactl celeryworkerturbinia-client mediante pip install turbinia-clientturbinia-client submit ${tipoevidencia}turbinia-client statusturbinia-client se puede usar 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.
Consulta la página de documentación de turbinia-client para una guía de usuario detallada.
También puedes interactuar con Turbinia directamente desde Python utilizando la librería API. Proporcionamos algunos ejemplos aquí.
Este no es un producto oficial de Google (experimental o de otro tipo), es solo código que resulta ser propiedad de Google.