Pushpendra7055/Malware-similarity-intelligence

GitHub: Pushpendra7055/Malware-similarity-intelligence

基于SSDEEP、TLSH、IMPHASH等模糊哈希技术的恶意软件相似性分析与威胁情报工作流,用于在传统哈希匹配失效时发现和关联恶意软件变种。

Stars: 0 | Forks: 0

# 🔍 恶意软件相似性情报 ### 🧠 在无哈希匹配的情况下发现恶意软件 # 🚨 如果 VirusTotal 什么都没显示怎么办? 你使用 **MD5** 或 **SHA256** 在 VirusTotal 上检查一个可疑文件…… - ❌ 没有结果 这是否意味着 VirusTotal 没用了? 现代恶意软件通常通过引入微小的变化来逃避检测: - 重新编译 - 加壳 / 混淆 - 微小的字节级修改 这些变化彻底改变了像 **MD5** 和 **SHA256** 这样的哈希值,使得传统检测失效。 ## 🧩 真正的问题 基于哈希的检测仅在以下情况下有效: 但在现实世界的威胁狩猎中: - 攻击者不断生成新的变种 - 哈希值每次都在变 - 检测系统滞后 👉 **结果:恶意软件未被察觉** ## 💡 本项目背后的理念 我们不再依赖精确匹配,而是转向: 即使哈希值发生变化,恶意软件仍然共享: - 相似的结构 - 相同的导入 - 复用的代码 - 行为模式 ## ⚙️ 本项目的作用 本项目展示了一个实用的工作流程,用于: - 分析未知恶意软件样本 - 提取结构和行为情报 - 使用模糊哈希识别相似样本 - 使用二进制比对确认相似性 ## 🛠️ 使用的技术 - **SSDEEP** → 模糊哈希 - **TLSH** → 结构相似性 - **IMPHASH** → 基于导入的指纹识别 - **Section Hashing** → 二进制级别的相似性 - **Icon Hash** → 资源复用检测 - **String Analysis** → 行为指标 - **Binary Diffing (Diaphora)** → 代码相似性 ## 🔥 核心见解 # 🧪 实战演示 我们要从一个 **VirusTotal 上不存在的二进制文件** 开始,并使用我们的威胁情报脚本对其进行分析。 ### 📌 样本二进制文件(无 VT 检测)

### 📊 脚本输出 我们运行: ``` python similar.py === Threat Intelligence Report === MD5 : 74e0213b54418adaed2afe5660b01a87 SHA256 : 470d86970844ec5eff454f2826b2c7ff867f388c272b2e6ae9eef4853dada1c8 SSDEEP : 12288:mCFP238iImhOXJf9y1ZiYhSwD9cE0+hhenK2gWioxtiPG+lTjel/MvWY6u:mzXJhOXJ9gFEwDFmK2gTKtinTAMvW TLSH : T179656B0BB7A502E4D1B7C07EC9925A2EFDB17859433097C707E99A961F237E49A3E310 IMPHASH : fc38944e9fb06f039b2a8afcabaaa64f ICON_DHASH : 626363636263630 --- File Info --- Type : EXE Signature : Unsigned Size : 1418752 bytes (1385.5 KB) --- Sections --- .text : ba782df920aada0a908ac36c476535bb | entropy=6.366 .rdata : 72c2749acf671190e9e4cd16a432fb31 | entropy=5.327 .data : 8ce5800e1f34d81fb53819eb911fb834 | entropy=3.823 .pdata : e4134b9a9daeb11f9bbd1158e6a422a7 | entropy=6.088 .fptable : bf619eac0cdf3f68d496ea9344137e8b | entropy=-0.0 .rsrc : 021a1a818595792c3a45d62e5b7c8698 | entropy=4.383 .reloc : af12d768f34c6261e254c94f2863910c | entropy=5.388 Compile Time : 2026-01-13 06:13:17+00:00 --- Exports --- Total: 1 1. GMBK_API === Suspicious String Analysis === [Network] (20) - not connected - WinHttpOpenRequest - connection aborted - WinHttpCrackUrl - WinHttpQueryDataAvailable - WinHttpOpen - WINHTTP.dll - already connected - WinHttpCloseHandle - not a socket [Crypto] (18) - BCryptDestroyKey - BCryptDestroyHash - CryptUnprotectData - BCryptGenerateSymmetricKey - BCryptGetProperty - BCryptSetProperty - BCryptOpenAlgorithmProvider - BCryptDecrypt - BCryptCreateHash - bcrypt.dll [Execution] (1) - LoadLibraryExW [Evasion] (5) - VBOXVBOXVBOX - Friday - :Sun:Sunday:Mon:Monday:Tue:Tuesday:Wed:Wednesday:Thu:Thursday:Fri:Friday:Sat:Saturday - VMWARE - VMWAREVMWARE [Persistence] (1) - GetStartupInfoW [CryptoCoin] (7) - CloseThreadpoolWait - CloseThreadpoolTimer - CreateThreadpoolTimer - WaitForThreadpoolTimerCallbacks - CreateThreadpoolWait - SetThreadpoolWait - SetThreadpoolTimer === Malware Classification Hint === Likely Type : Crypto Miner Confidence : 80% ``` # 🔍 VirusTotal 情报(相似性搜寻) 我们不再依赖哈希,而是利用 **基于相似性的指标** 进行拓展追踪。 ## 1️⃣ SSDEEP 匹配 - 发现一个具有 **97.87% 相似度** 的样本 - 检出率:**39/71**

## 2️⃣ TLSH 匹配 - 发现 **25 个相似样本** - 最接近的匹配:**98.61% 相似度** - 检出率:**39/71**

## 3️⃣ Section Hash 匹配 通过组合节区 MD5 值: - 识别出 **1 个高度相似的样本**

## 🔎 其他拓展追踪技术 我们可以使用以下方法进一步关联样本: - IMPHASH - Icon hash - 导出名(特别是对于 DLL) - 嵌入的字符串 # 🧬 二进制比对与验证 在识别出最接近的匹配后,我们使用二进制比较技术验证相似性。 ## 🧪 IDA Pro + Diaphora ### 步骤 1:从原始样本创建数据库

### 步骤 2:与新样本进行比较

### ✅ 结果 - **检测到约 100% 的代码相似度**

## 🧾 Beyond Compare(二进制差异) 为了可视化确切的修改:

# 🧠 最终结论 尽管该样本: - ❌ 不存在于 VirusTotal - ❌ 没有基于哈希的检测 我们成功地: - 识别出了相似的恶意软件样本 - 使用模糊哈希确认了相似性 - 使用二进制比对进行了验证 ## 🚀 最终要点 ## ⚡ 作者 **Pushpendra Bharala**
标签:Ask搜索, DAST, Diaphora, IMPHASH, Python, SSDEEP, TLSH, VirusTotal, YARA, 二进制差异分析, 云安全监控, 云资产可视化, 代码复用检测, 威胁情报, 导入表哈希, 开发者工具, 恶意软件分析, 恶意软件变种检测, 无后门, 样本比对, 模糊哈希, 结构相似性, 网络安全, 行为指标, 逆向工具, 隐私保护, 静态分析