关于RetrievIR
RetrievIR是一款功能强大的信息安全取证收集工具,该工具本质上是一个轻量级 PowerShell 脚本,旨在帮助事件响应者从本地和远程主机收集可用于取证的有用资料。
该工具旨在收集尽可能多的“原始”工件,以便于在下游数据分析管道中使用。
RetrievIR 还旨在允许通过配置文件输入灵活地指定证据 - 收集指令可以采用以下三种形式之一:
1、文件 - 使用过滤器指定文件路径以及是否进行递归检查;
2、命令 - 指定要运行的命令,命令应该输出到某种类型的文件并通过 PowerShell 解释器执行;
3、注册表 - 指定要过滤的相关注册表键的路径(如果有)以及递归性;
功能介绍
1、基于可定制的配置文件实现灵活的取证数据收集;
2、能够收集文件、注册表值和命令输出;
3、允许标记取证数据收集目标,以便在运行时轻松指定;
4、能够分析本地和远程取证目标;
5、模拟功能用于确定使用指定配置进行取证收集的总数据大小;
6、最低要求:支持WMI 和 SMB的绝大部分功能;
7、证据解析脚本:ParseIR,包括从原始证据生成人/机器可读的信息;
工具运行机制
工具要求
PowerShell
工具安装
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/joeavanzato/RetrievIR.git
下载完成后,压并以管理员身份运行 RetrievIR.ps1 - 默认情况下,RetrievIR 将在脚本的根目录中检查 configs 目录 - 如果找不到该目录,它将在同一目录中检查名为“config.json”的文件。如果找不到其中任何一个并且未提供参数,RetrievIR 将退出。
工具使用
.\RetrievIR.ps1 : 默认用法-将'configs'目录中JSON中指定的所有工件从本地主机收集到当前目录中; .\RetrievIR.ps1 -tags sans_triage : 捕获KAPE中sans triage包中描述的大多数工件; .\RetrievIR.ps1 -targets HOSTNAME1,HOSTNAME2 : 对提供的主机名运行RetrievIR; .\RetrievIR.ps1 -target_file C:\targets.txt : 对指定文本文件中存在的以行分隔的目标运行RetrievIR; .\RetrievIR.ps1 -creds : 告诉RetrievIR提示用户输入要使用的凭据-默认情况下,RetreivIR与当前用户上下文一起运行; .\RetrievIR.ps1 -evidence_dir C:\evidence : 告诉RetrievIR将收集到的证据存储在哪里-默认情况下,证据将存储在PSScriptRoot\evidence中; .\RetrievIR.ps1 -config C:\my_config.json : 指定要使用的自定义配置文件的路径-默认情况下,RetrievIR将在PSScriptRoot(当前执行目录)的“configs”目录中查找所有json文件; .\RetrievIR.ps1 -config C:\RetrievIRConfigs : 指定包含1个或多个要使用的客户配置JSON的目录的路径-默认情况下,RetrievI将在PSScriptRoot(当前执行目录)的“configs”目录中查找所有JSON文件; .\RetrievIR.ps1 -categories antivirus,recentfiles : 只有类型在提供的值范围内时才进行取证数据收集; .\RetrievIR.ps1 -categoryscan : 列出提供的配置文件中的所有类别; .\RetrievIR.ps1 -tags sans_triage : 当指令中提供了参数标签时,仅收集对应类型的取证数据; .\RetrievIR.ps1 -tagscan : 列出提供的配置文件中的所有选项参数; .\RetrievIR.ps1 -simulate : 告诉RetrievIR跳过证据收集,仅确定收集的文件数和数据的总大小;
完成取证数据收集后,为了解析取证数据,需要执行“ParseIR.ps1”,该脚本负责检查 $PSScriptRoot 中的默认解析配置文件“parsing_config.json”,此实用程序的命令行选项如下所示:
.\ParseIR.ps1 -evidence_dir : 收集到的证据目录的路径-默认为$PSScriptRoot\evidence; .\ParseIR.ps1 -parsed_evidence_dir : 解析后的证据应存储在何处-默认为$PSScriptRoot\parsed_evident; .\ParseIR.ps1 -config example.json : 在哪里可以找到解析配置文件-默认为$PSScriptRoot\parsing_config.json; .\ParseIR.ps1 -ignoremissing : 告诉ParseIR忽略检测到的丢失依赖项; .\ParseIR.ps1 -utilities_dir : 告诉ParseIR存储/定位第三方依赖项的位置;
工具运行演示
许可证协议
本项目的开发与发布遵循MIT开源许可协议。
项目地址
RetrievIR:【GitHub传送门】