Turbinia 是一个用于部署、管理和运行分布式取证工作负载的开源框架。它旨在自动运行常见的取证处理工具(即 Plaso、TSK、字符串等),以帮助处理云中的证据,扩展大量证据的处理,并通过尽可能并行处理来减少响应时间。
Turbinia 由客户端、服务器和工作人员的不同组件组成。这些组件可以在云中、本地计算机上运行,或者作为两者的混合运行。 Turbinia 客户端向 Turbinia 服务器发出处理证据的请求。 Turbinia 服务器根据这些传入的用户请求创建逻辑作业,从而创建并安排工作人员运行的取证处理任务。如果可能的话,要处理的证据将按作业分开,并且可以创建许多任务来并行处理证据。一名或多名工作人员连续运行以处理来自服务器的任务。任务创建或发现的任何新证据都将反馈到 Turbinia 进行进一步处理。
目前,从客户端到服务器的通信是通过 Kombu 消息传递完成的。 Worker 实现使用 Celery 进行任务调度。
Turbinia 的主要文档可以在这里找到。您还可以在此处了解有关架构及其工作原理的更多信息。
Turbinia 目前处于 Alpha 版本。
这里有一个安装指南。
初始安装和配置后运行的基本步骤是:
使用turbiniactl server
命令启动 Turbinia 服务器组件
如果使用 Celery,请使用turbiniactl api_server
命令启动 Turbinia API 服务器组件
使用turbiniactl celeryworker
启动一名或多名 Turbinia 工作人员
通过 pip install turbinia-client
安装pip install turbinia-client
使用turbinia-client submit ${evidencetype}
从 turbinia 客户端发送要处理的证据
使用turbinia-client status
检查正在运行的任务的状态
turbinia-client 可用于通过 API 服务器组件与 Turbinia 进行交互,以下是基本用法:
$ 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.
查看turbinia-client
文档页面以获取详细的用户指南。
您还可以使用 API 库直接从 Python 与 Turbinia 交互。我们在这里提供一些示例
主要文档
安装
它是如何运作的
操作细节
Turbinia 客户端 CLI 工具
Turbinia API 服务器
Turbinia Python API 库
为 Turbinia 做出贡献
开发新任务
常问问题
调试和常见错误
使用 Docker 执行作业
这不是谷歌的官方产品(实验性的或其他的),它只是碰巧归谷歌所有的代码。