Columbo 是一款计算机取证分析工具,用于简化和识别受损数据集中的特定模式。它将数据分解为小片段,并利用模式识别和机器学习模型,以建议的形式识别攻击者在受损 Windows 平台上的行为及其可能的位置。目前 Columbo 运行在 Windows 平台上。
Columbo 依赖 volatility 3、autorunsc.exe 和 sigcheck.exe 来提取数据。因此,用户必须下载这些依赖工具并将其放置在 \Columbo\bin 文件夹下。在下载任何内容之前,请务必阅读并理解许可证部分(或 License.txt 文件)。这些工具生成的输出(数据)会自动传输到 Columbo 的主引擎。主引擎将其分解为小片段、进行预处理并应用机器学习模型,以对受损系统、可执行文件及其他行为的位置进行分类。
视频
安装与配置
可执行文件(二进制)
注意: 为避免错误,目录结构必须为 \Columbo\bin\volatility3-master、\Columbo\bin\autorunsc.exe 和 \Columbo\bin\sigcheck.exe。
最后,双击 \Columbo 目录下的 "main.exe"。
源代码
注意: 为避免错误,目录结构必须像这样:\Columbo\bin\volatility3-master、\Columbo\bin\autorunsc.exe 和 \Columbo\bin\sigcheck.exe。
最后,打开 cmd 并执行 python.exe \Columbo\main.py。
Columbo 使用数据预处理来组织数据,并利用机器学习模型识别可疑行为。其输出结果为 1(可疑)或 0(正常)——以建议的形式呈现,纯粹用于辅助数字取证检查员进行决策。我们使用不同的示例对模型进行了训练以最大化准确率,并采用了多种方法来减少误报。然而,误报(错误检测)仍然存在,因此我们致力于定期更新模型。
减少误报(错误检测)并非易事,尤其是在处理机器学习时。机器学习模型生成的输出可能因训练数据的质量而产生误报。但为了辅助取证检查员进行调查,Columbo 为每个 1(可疑)和 0(正常)的结果生成了百分比分数。这种方法有助于检查员筛选和选择 Columbo 标记为可疑的路径、命令或进程。
选项 2
实时分析——文件与进程可追溯性。 该选项分析正在运行的 Windows 进程,以识别是否存在任何恶意活动。Columbo 使用 autorunsc.exe 从机器中提取数据,输出结果被传输到机器学习模型和模式识别引擎,以对可疑活动进行分类。之后,输出结果以 Excel 文件的形式保存在 \Columbo\ML\Step-2-results 下,供进一步分析。此外,用户还可以选择检查正在运行的进程。结果包含诸如进程可追溯性、与每个进程关联的命令(如果适用)以及该进程是否负责执行新进程等信息。
选项 3
扫描并分析硬盘镜像文件 (.vhdx): 该选项接收已挂载的 Windows 硬盘镜像路径。它使用 sigcheck.exe 从文件系统中提取数据,然后将结果传输到机器学习模型以对可疑活动进行分类。输出结果以 Excel 文件的形式保存在 \Columbo\ML\Step-3-results 下。
选项 4
自动或手动内存镜像分析
手动内存镜像分析
内存取证。 在此选项中,Columbo 接收内存镜像的路径,并生成以下选项供用户选择。
内存信息: 使用 Volatility 3 提取镜像的相关信息。
进程扫描: 使用 Volatility 3 提取每个进程的进程、DLL 和句柄信息。然后,Columbo 使用分组和聚类机制,根据每个进程的父进程对其进行分组。此选项稍后用于“异常检测”选项下的进程可追溯性。
进程树: 使用 Volatility 3 提取进程的进程树。
异常检测与进程可追溯性: 使用 Volatility 3 提取异常检测进程列表。不过,Columbo 提供了一个名为“进程可追溯性”的选项,用于单独检查每个进程,并共同生成以下信息。
自动内存镜像分析
上述所有操作,但以自动化方式完成。
MIT 许可证
Columbo
版权所有 2020 Visma
特此无偿授予任何获得本软件及相关文档文件(以下简称“软件”)副本的人士,在不加限制的情况下处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许被提供本软件的人士在遵守以下条件的前提下进行上述操作:
上述版权声明及本许可声明应包含在本软件的所有副本或实质性部分中。
本软件按“原样”提供,不附带任何形式的明示或默示担保,包括但不限于适销性、特定用途的适用性及不侵权的担保。在任何情况下,作者或版权持有人均不对因本软件或本软件的使用或其他交易而导致的任何索赔、损失或其他责任负责,无论该等责任是否基于合同、侵权或其他原因。
第三方工具
-accepteula 以实现非交互式操作。同意或不同意 MS SysInternal 工具提供的许可协议同样也是用户的责任,而非 Columbo 的责任。