KAPE 0.9.2.0 发布:数字取证工具的重大更新

本文详细介绍了KAPE 0.9.2.0版本的更新内容,包括目标定义的重大变更、文件掩码功能的增强以及模块超时设置的新特性。这些技术改进提升了数字取证工具的性能和灵活性,为取证工作提供了更强大的支持。

KAPE 0.9.2.0 发布!

公告!

KAPE 已获得4Cast年度非商业软件奖提名!请花18.5秒为KAPE投票!=)

https://forensic4cast.com/forensic-4cast-awards/2020-forensic-4cast-awards/

公告结束!

注意:如果在更新或使用–sync时遇到奇怪错误,请使用–debug选项查看导致问题的文件。对大多数人来说,只需删除有问题的文件即可解决。最坏情况下,只需删除本地KAPE安装并重新下载。

变更日志

  • 移除目标定义中的IsDirectory属性。官方仓库之外的所有现有目标都需要调整
  • 在目标定义中,Path现在始终假定为目录。这意味着它不应包含像*.pf这样的通配符。这些应移至FileMask属性。所有官方目标都已更新以反映此变化
  • FileMask仍然是可选的。如果未指定,则假定为*,将匹配Path下的所有文件
  • 在目标定义中,Recursive是可选的。如果缺失,则假定为false。清理了现有设置为Recursive: false的目标(删除属性)
  • 清理了目标中的空注释并删除它们
  • 清理了目标中的Path属性(按照惯例,路径应以\结尾。这不是必需的,但使路径内容更清晰)
  • 添加了在目标定义中引用Targets下子目录的能力。示例:要引入Targets\Antivirus下的所有目标,使用Path: Antivirus*
  • 允许在目标FileMask规范中使用正则表达式。示例:FileMask: regex:(2019|DSC|Log).+.(jpg|txt) 告诉KAPE使用正则表达式匹配完整文件名。KAPE将在正则表达式开头添加\A,在结尾添加\z,以确保匹配整个文件名
  • 由于上述更改,现在也可以在非基于正则表达式的FileMask中执行操作。示例:FileMask: ‘Foo*.VHD’。在此更改之前,只能使用*.VHD
  • 在模块定义中添加了WaitTimeout作为可选属性。当存在且大于0时,表示KAPE应等待模块完成的分钟数。如果超过此时间,KAPE将停止等待并继续执行
  • 更新了nuget包
  • 更新了目标

目标定义变更

此版本清理了许多与目标文件相关的内容。具体来说,已移除IsDirectory属性。这意味着Path现在始终预期为目录。

以下是旧格式的示例:

1
# 旧格式

与相同目标的新格式对比:

1
# 新格式

如果省略FileMask,则假定为*,将匹配Path下的所有内容。

对于0.9.2.0,我审查了每个现有目标并执行了以下操作:

  • 移除IsDirectory
  • 如果Path包含文件掩码,则将Path更新为仅目录
  • 将文件掩码移至FileMask属性
  • 从所有目标中移除Recursive: false(因为它是默认值)
  • 删除空注释

按照惯例,Path属性应以\结尾以保持一致性,但这不是强制性的(但我认为这使理解正在发生的事情更容易)。

此版本中的新功能

此版本中还提供了大大改进的FileMask功能。实际上,您现在可以使用完整的正则表达式以及更传统的文件掩码,如*.jpg或Foo*bar.txt。

这意味着,对于所有现有目标,无需更改任何内容,因为旧方法仍然有效。如果要对整个文件名进行正则表达式匹配,请在Filemask前加上regex:,如下所示:

1
FileMask: regex:(2019|DSC|Log).+\.(jpg|txt)

这在使用文件系统查找某些扩展名时提供了几乎无限的灵活性。通过以regex格式添加单个条目,文件系统将进行单次传递,而不是每个文件掩码一次传递。您在这里获得多少时间当然取决于其他几个因素,但拥有这个选项很好!

最后,对于复合目标,如果您希望动态包含该目录下的所有目标文件,现在可以引用Targets文件夹下的目录。示例:

1
# 复合目标示例

这告诉KAPE查找Targets\Antivirus文件夹下的任何tkape文件并将它们包含在复合目标中。通过命令行使用–targets选项中的目录名称,这已经可能很长时间了,但这使得可以在目标文件中指定它们。

模块定义变更

Troy Larson要求KAPE能够等待模块预定的时间,而不是让失控的模块无限期运行。

为了满足此要求,在模块头中添加了可选的WaitTimeout值,如下所示:

1
# 模块定义示例

此值指定为等待的分钟数。在上面的示例中,AppWithTimeout将睡眠5分钟,但KAPE只会等待1分钟让它完成。当使用此模块运行KAPE时,会发生以下情况:

1
# 执行过程描述

如果未指定超时,KAPE将永远等待模块完成。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计