federicofantini/MalCluster

GitHub: federicofantini/MalCluster

这是一个结合静态与动态分析,对恶意软件样本进行聚类并提取核心共享特征产物的分析管道。

Stars: 25 | Forks: 2

# MalCluster **MalCluster** 是一个使用 **Malcat** 和 **CAPEv2** 从恶意软件样本中提取静态和动态分析产物的 pipeline,并提供基于 **Flask 的 Web GUI** 以供交互使用。
## 安装 ``` git clone https://github.com/federicofantini/malcluster.git cd malcluster python3 -m venv venv source venv/bin/activate python3 -m pip install -r requirements.txt python3 app.py ``` ## 概述 该工具通过结合静态分析、可选的动态分析以及每个聚类内部的渐进式比较,对恶意软件样本进行聚类并提取**核心共享产物**。 其目标是**理解**恶意软件家族:样本间真正的共同点是什么,以及哪些是样本特有的内容。 ## Pipeline 工作原理: ### 聚类 样本使用**模糊哈希相似度**进行分组,可选择以下后端: - **ssdeep** - **TLSH** - **sdhash** 相似度后端和阈值可在 GUI 中配置。 此外,聚类完全基于相似度。 ### 静态分析 静态分析使用 **Malcat** 执行,并生成: - **字符串** 和 **频率** - **逐函数反汇编** 反汇编通过将以下内容抽象为占位符来进行归一化: - 寄存器 - 立即数 - 内存引用 可以启用可选的**完全归一化**模式,以牺牲精度换取鲁棒性。 ### 动态分析 (CAPEv2 - 可选) 如果启用,将从 **CAPEv2** 检索动态分析数据(SHA256 查找),而无需执行任何操作。 当可用时,将收集以下产物: - **签名** - **行为摘要** - **API 调用** - **释放的文件** 动态分析是完全可选的,可以在 GUI 中启用或禁用。 ## 渐进式比较 (MalCluster 的核心) 渐进式比较在每个**聚类内部**进行。 结果通过两两合并来提取聚类中所有样本的**共享产物**。 该逻辑较为保守,因此只有始终能通过合并保留的产物才会被保留。 ### 字符串 - 样本间的集合交集 - 在聚类级别维护一个**文档频率计数器** ### 函数 - 使用**归一化汇编**上的**最长公共子序列 (LCS)** 进行比较 - 如果 `LCS ≥ threshold`,则保留该函数 - 当归一化代码完全匹配时,函数被标记为**相同** ### 行为摘要 - 纯**交集** - 只有所有样本共有的行为才会被保留 ### 释放的文件 - 工作中... ### 签名 & API 调用 - 使用集合上的 **Jaccard 重叠度** 进行合并 - 使用计数器上的 **Hellinger 距离** 来比较分布 - 这避免了合并不相关的行为,同时仍能容忍噪声 ## 图形可视化 左侧面板允许在不同数据集之间切换。 某些数据集还支持替代视图(例如,名称与类别)。 图形始终以聚类为中心:聚类是锚节点,产物围绕它们排列。 ## 配置参数 (GUI) Pipeline 完全通过 Web 界面进行配置。 ### 路径 - **Malcat directory** Malcat 二进制目录的路径 - **Output directory** 存储分析结果和聚类数据的位置 ### 静态比较 - **Longest Common Substring threshold** 保留函数匹配所需的最小 LCS 长度(以归一化 ASM 行数为单位) - **Fully normalize asm** 启用激进的汇编归一化 ### 聚类 - **Similarity function** `ssdeep`、`tlsh` 或 `sdhash` - **Similarity threshold** 应用于所选相似度后端的阈值 (注:TLSH 使用距离,数值越低表示越相似) ### 动态分析 - **Enable dynamic analysis** 如果启用,将通过 SHA256 查询 CAPEv2 - **CAPEv2 base URL** - **CAPEv2 API token**
标签:CAPEv2, DAST, Flask, Malcat, sdhash, ssdeep, TLSH, Wayback Machine, 云安全监控, 云资产清单, 反汇编, 威胁情报, 安全专业人员, 工件提取, 开发者工具, 开源安全, 恶意软件分析, 样本聚类, 模糊哈希, 网络安全, 自动化分析, 跨站脚本, 逆向工具, 逆向工程, 隐私保护, 静态分析