jmsD3v/malwarescope
GitHub: jmsD3v/malwarescope
静态恶意软件分析器,无需执行样本即可完成 PE 解析、熵值分析、IOC 提取、规则匹配和 AI 辅助威胁分类。
Stars: 0 | Forks: 0
# 🧬 MalwareScope — 静态恶意软件分析器
│
▼
extract_file_info() ← magic bytes, hashes (MD5/SHA1/SHA256), file type
│
▼
compute_entropy() ← Shannon entropy overall + per-block
│
▼
PEExtractor.extract() ← sections, imports, exports, resources, debug, overlay
│
▼
extract_strings() ← ASCII + UTF-16LE strings + IOC regex matching
│
▼
YaraEngine.scan() ← 12 pure-Python YARA-lite rules
│
▼
compute_verdict() ← MALICIOUS/SUSPICIOUS/CLEAN + confidence 0-100
│
▼
analyze_file() ← Gemini: family + threat name + capabilities + MITRE
│
▼
Rich terminal + HTML report
```
## 裁决引擎
置信度评分:
| 发现项 | 得分 |
|---|---|
| 严重级别的 YARA 规则匹配 | +40 |
| 高危级别的 YARA 规则匹配 | +20 |
| 任何其他的 YARA 匹配 | +10 |
| CRITICAL 级别特征 | +15 |
| HIGH 级别特征 | +8 |
| MEDIUM 级别特征 | +3 |
| 网络 IOC | 每个 +5(最多 +20) |
| 得分 | 裁决 |
|---|---|
| ≥ 70 | 🔴 MALICIOUS |
| 40–69 | 🟠 SUSPICIOUS |
| 10–39 | 🟡 SUSPICIOUS (低置信度) |
| < 10 | ✅ CLEAN |
## 项目结构
```
malwarescope/
├── malwarescope/
│ ├── extractors/
│ │ ├── file_info.py # Magic bytes, hashes, file type detection
│ │ ├── pe_extractor.py # pefile: sections, imports, exports, resources
│ │ ├── string_extractor.py # ASCII/UTF-16LE strings + IOC regex
│ │ └── entropy.py # Shannon entropy + per-block analysis
│ ├── analyzers/
│ │ ├── yara_engine.py # Pure-Python YARA-lite: 12 detection rules
│ │ ├── verdict_engine.py # Score → MALICIOUS/SUSPICIOUS/CLEAN
│ │ └── ai_analyzer.py # Gemini: family + capabilities + MITRE
│ ├── core/
│ │ └── scanner.py # Full analysis pipeline
│ ├── types/
│ │ └── findings.py # AnalysisResult, Artifact, YaraMatch, Verdict
│ ├── report/
│ │ ├── generator.py
│ │ └── template.html
│ └── cli/
│ └── main.py
└── pyproject.toml
```
## 环境变量
```
GEMINI_API_KEY= # AI malware classification (optional)
```
## 作品集
| # | 类别 | 项目 | 状态 |
|---|---|---|---|
| P-01 | 进攻安全 | ReconAI — Recon Orchestrator | ✅ |
| P-02 | 进攻安全 | WebHunter — OWASP Top 10 Scanner | ✅ |
| P-03 | 进攻安全 | PhishSim — Red Team Phishing | ✅ |
| D-01 | 防御安全 | SOC-Lite — AI SIEM | ✅ |
| D-02 | 防御安全 | ThreatFeed — CTI Aggregator | ✅ |
| D-03 | 防御安全 | HoneyGrid — SSH/HTTP Honeypot | ✅ |
| F-01 | 数字取证 | DFIR-Auto — Forensic Triage | ✅ |
| F-02 | 数字取证 | **MalwareScope** ← 你正在这里 | ✅ |
| F-03 | 数字取证 | PCAPForge — Network Forensics | ✅ |





**PE/ELF/脚本静态分析,包含熵分析、YARA-lite 规则、IOC 提取和 AI 裁决**
*9 项中的第 2 项 (F-02) · 由 [@jmsDev](https://www.linkedin.com/in/jmsilva83) 提供的网络安全作品集*
## 功能简介
MalwareScope 可对任何二进制文件或脚本执行**静态分析**,支持 PE(Windows EXE/DLL)、ELF(Linux)以及脚本,且无需执行目标文件。它会提取 PE 元数据,计算香农熵,运行一个**纯 Python 的 YARA-lite 规则引擎**(无 C 语言依赖),从字符串中提取 IOC,然后请求 **Google Gemini** 来对恶意软件家族及其功能进行分类。
```
malwarescope scan suspicious.exe
malwarescope demo
```
## 主要特性
- **PE 分析** — 节区、导入表、导出表、资源、调试信息、附加数据、编译时间戳异常
- **熵值分析** — 每个节区及整体文件的香农熵(检测加壳/加密内容)
- **字符串提取** — ASCII + UTF-16LE,IOC 检测(IP、URL、域名、注册表键、路径、互斥体)
- **YARA-lite 引擎** — 12 条纯 Python 检测规则,无需 `yara-python` C 依赖
- **AI 裁决** — Gemini 对恶意软件家族、威胁名称(AV 风格)、功能、MITRE 技术进行分类
- **裁决引擎** — MALICIOUS / SUSPICIOUS / CLEAN 及置信度评分
- **批量目录扫描** — 分析目录中的所有文件(可选递归)
- **HTML 报告** — YARA 匹配项、发现结果表格、IOC 列表、AI 分析面板
## YARA-Lite 规则
12 条内置检测规则 — 纯 Python 实现,无需编译步骤:
| 规则 | 严重级别 | 检测内容 |
|---|---|---|
| `Meterpreter_Payload` | CRITICAL | Metasploit Meterpreter 字符串 |
| `Mimikatz_Credential_Tool` | CRITICAL | Mimikatz/sekurlsa/lsadump 字符串 |
| `Ransomware_Indicators` | CRITICAL | 加密 + 勒索信 + 比特币字符串 |
| `Remote_Access_Trojan` | CRITICAL | RAT 家族名称 |
| `Process_Injection` | CRITICAL | VirtualAllocEx + WriteProcessMemory + CreateRemoteThread 链 |
| `Credential_Dumping` | CRITICAL | MiniDumpWriteDump, LsaQuerySecret 导入 |
| `Keylogger_Indicators` | HIGH | SetWindowsHookEx + GetAsyncKeyState |
| `LOLBAS_Abuse` | HIGH | certutil, bitsadmin, mshta, regsvr32 滥用 |
| `Persistence_Mechanisms` | HIGH | 注册表 Run 键 + 服务创建 |
| `Webshell_Indicators` | HIGH | eval+exec+system PHP/脚本 Webshell 特征 |
| `Packed_Minimal_Strings` | HIGH | 相对于文件大小,可读字符串极少 |
| `UPX_Packer` | HIGH | UPX 魔术字节和节区名称 |
## PE 分析功能
### 标记的可疑导入 (40+)
| 类别 | 导入项 | MITRE |
|---|---|---|
| 进程注入 | `VirtualAllocEx`, `WriteProcessMemory`, `CreateRemoteThread`, `NtCreateThreadEx` | T1055 |
| 键盘记录 | `SetWindowsHookEx`, `GetAsyncKeyState`, `GetKeyboardState` | T1056.001 |
| 凭据访问 | `MiniDumpWriteDump`, `LsaQuerySecret`, `SamQueryInformationUser` | T1003 |
| 勒索软件 | `CryptEncrypt`, `BCryptEncrypt`, `CryptGenKey` | T1486 |
| 反调试 | `IsDebuggerPresent`, `CheckRemoteDebuggerPresent`, `NtQueryInformationProcess` | T1622 |
| 持久化 | `RegSetValueEx`, `CreateService`, `ChangeServiceConfig` | T1547.001 |
| 网络/C2 | `URLDownloadToFile`, `HttpSendRequest`, `WinHttpOpen` | T1105 |
| 规避防御 | `GetProcAddress`, `VirtualProtect`, `AdjustTokenPrivileges` | T1027 |
### 节区分析
- 香农熵 > 7.0 → 已加壳,> 7.5 → 已加密
- RWX 节区(Shellcode 暂存)→ MITRE T1055
- 加壳器节区名称(UPX0/1, .vmp0, .themida, .enigma1...)
- 虚拟大小 >> 原始大小(压缩指标)
### 编译时间戳
- 零时间戳 → MITRE T1027(已剔除)
- 未来时间戳 → 伪造头检测
## IOC 提取
字符串分析可检测并分类以下内容:
| IOC 类型 | 示例 |
|---|---|
| URL | `http://malicious-c2.evil.com/beacon` |
| IPv4 地址 | `198.51.100.42`(仅限非 RFC1918) |
| 域名 | `.onion`, `.xyz`, `.tk` 可疑 TLD 检测 |
| 注册表键 | `HKLM\...\CurrentVersion\Run` |
| Windows 路径 | `C:\Windows\Temp\payload.exe` |
| 命名互斥体 | `Global\MalwareMutex` |
| Base64 块 | 超过 100 个字符的 Base64 字符串 |
| 勒索信 | 多关键字检测 |
| PowerShell/LOLBAS | `certutil`, `mshta`, `encoded command` |
## 安装说明
```
git clone https://github.com/jmsdev83/malwarescope
cd malwarescope
pip install -e .
cp .env.example .env
# 添加 GEMINI_API_KEY 以获取 AI verdict(可选)
```
## 运行 Naabu
```
# 分析单个文件
malwarescope scan suspicious.exe
# 不使用 AI 进行分析(更快)
malwarescope scan suspicious.exe --no-ai
# 导出 HTML 报告
malwarescope scan suspicious.exe --output report.html
# 导出 JSON(用于 SIEM/pipeline 集成)
malwarescope scan suspicious.exe --output findings.json --format json
# 扫描目录中的所有文件
malwarescope scan /malware/samples/
# 递归目录扫描
malwarescope scan /malware/samples/ --recursive
# 使用 synthetic malware 样本运行 demo
malwarescope demo
```
## 架构说明
```
malwarescope scan
版权所有 © 2025 由 [@jmsDev](https://www.linkedin.com/in/jmsilva83) 从 Las Breñas 用 💜 开发 · 保留所有权利
标签:AI安全, Chat Copilot, DAST, DLL 劫持, DNS 反向解析, ELF分析, IOC提取, PE分析, Python, YARA, 云安全监控, 云资产可视化, 大语言模型, 威胁情报, 安全分析器, 开发者工具, 恶意软件分析, 数字取证, 无后门, 沙箱, 熵计算, 网络信息收集, 网络安全, 脚本分析, 自动化分析, 自动化脚本, 跨站脚本, 逆向工具, 隐私保护, 静态分析