vata-ops/malscan

GitHub: vata-ops/malscan

一款无需沙箱执行的静态恶意软件分析工具,支持 PE、PDF、Office 文档和脚本等多格式文件的快速分析与风险评分。

Stars: 1 | Forks: 0

# MalScan — 静态文件分析器 一款用于**静态恶意软件分析**的网络安全工具 — 无需沙箱,无任何执行操作。拖入文件,即可获取完整报告。 ## 功能 ### 文件支持 | 格式 | 分析内容 | |--------|----------------| | **EXE / DLL** | PE 头、导入表、导出表、区段、安全缓解措施 (ASLR/DEP/CFG)、加壳检测、附加数据 | | **PDF** | JavaScript 存在情况、自动动作、嵌入文件、XFA、危险关键字、外部 URL | | **Office (docx/xlsx)** | VBA 宏、自动执行宏、危险函数、DDE 字段、外部链接、OLE 对象 | | **脚本 (py/js/ps1/sh/bat/vbs)** | 特定语言危险模式、混淆检测、网络/执行特征指标 | ### 分析模块 - **哈希计算** — MD5, SHA1, SHA256 - **VirusTotal 查询** — 真正的 API v3 集成(可选,支持免费 key) - **熵分析** — 基于文件和分块,并在图表上可视化 - **PE 区段熵** — 针对可执行文件的按区段细分 - **字符串提取** — ASCII + Unicode,支持过滤 - **IOC 提取** — IP、URL、域名、注册表键、文件路径、互斥锁 - **风险评分** — 0–100 分,附带详细的因子细分 ## 技术栈 ``` backend/ → Python + Flask frontend/ → HTML + CSS + Vanilla JS (no framework) ``` ## 安装 ### 前置条件 - Python 3.10+ - `libmagic`(用于文件类型检测) **Linux / macOS:** ``` sudo apt install libmagic1 # Debian/Ubuntu brew install libmagic # macOS ``` **Windows:** ``` pip install python-magic-bin # bundles the DLL ``` ### 后端 ``` cd backend pip install -r requirements.txt python app.py ``` 后端运行在 `http://localhost:5000` ### 前端 无需构建步骤。只需在浏览器中打开 `frontend/index.html` 即可。 或者启动本地服务: ``` cd frontend python -m http.server 8080 # 打开 http://localhost:8080 ``` ## 用法 1. 启动后端 2. 在浏览器中打开前端 3. 拖入文件(或点击 SELECT FILE) 4. 可选择粘贴 VirusTotal API key 5. 等待约 2–5 秒进行分析 6. 浏览标签页:Overview → Strings → IOCs → Entropy → Deep Analysis → VirusTotal **导出**:点击 `EXPORT JSON` 保存完整报告。 ## VirusTotal API 在 [virustotal.com](https://www.virustotal.com/gui/join-us) 获取免费 key。 免费层:4 次请求/分钟,500 次/天。该 key **绝不会存储** — 每次分析时仅发送一次。 ## 伦理使用 此工具**仅执行静态分析**: - 不会执行文件 - 分析后不会将文件存储在磁盘上 - 不会将文件发送给任何第三方(如果您提供了 key,用于 VT 哈希查询的情况除外) 请负责任地使用。不要分析您不拥有或未获授权测试的文件。 ## 项目结构 ``` malscan/ ├── backend/ │ ├── app.py # Flask API + risk scoring │ ├── requirements.txt │ └── analyzers/ │ ├── file_identifier.py # libmagic + extension mapping │ ├── hash_analyzer.py # MD5/SHA1/SHA256 + VT API │ ├── entropy_analyzer.py # Shannon entropy per chunk + PE sections │ ├── pe_analyzer.py # pefile — PE32/64 deep analysis │ ├── pdf_analyzer.py # Raw PDF keyword + metadata scan │ ├── office_analyzer.py # OOXML + OLE, VBA macro extraction │ ├── script_analyzer.py # Pattern matching per language │ └── string_extractor.py # ASCII/Unicode strings + IOC regex └── frontend/ ├── index.html └── static/ ├── css/style.css └── js/app.js ``` ## 许可证 MIT
标签:DNS 反向解析, Flask, Python, 威胁情报, 开发者工具, 搜索语句(dork), 文件分析工具, 无后门, 知识库安全, 网络信息收集, 逆向工具, 静态恶意软件分析