jisoncj/malware-detector

GitHub: jisoncj/malware-detector

基于Python的多引擎静态恶意软件分析系统,整合YARA、机器学习和VirusTotal等七种检测引擎,配合Flask Web界面提供文件上传、实时扫描和风险评分功能。

Stars: 0 | Forks: 0

# Malware Detector 一个基于 Python 的多引擎静态恶意软件分析系统,构建于 Kali Linux 之上。 使用七个互补的检测引擎以及一个 Machine Learning 模型,检测 PE 可执行文件、PDF 文件、Office 文档、ZIP 压缩包和 Bash 脚本中的威胁。 ## 功能特性 - 基于哈希的检测(MD5 / SHA-256),比对已知恶意软件数据库 - Shannon 熵分析 + shellcode 字节模式检测 - 二进制十六进制签名扫描(Metasploit eggs、NOP sleds、shellcode stubs) - YARA 模式匹配,包含 19 条自定义规则 - 使用 pefile 进行 PE 头异常评分 - VirusTotal API 集成(哈希查找 + 自动文件上传) - 针对 PDF、Office(OLE/OOXML/RTF)、ZIP 和 Bash 文件的专用扫描器 - Machine Learning 分类(Random Forest — 31 个特征,97% 准确率) - 使用 strace 进行动态沙箱分析(可选,仅限 Linux) - 0–100 风险评分,并附带 CLEAN / SUSPICIOUS / MALICIOUS 判定结果 - Flask Web 仪表板,支持拖放上传和实时进度显示 - 每次扫描输出 JSON 报告 ## 安装说明 ### 前置条件 - Kali Linux(或任何基于 Debian 的 Linux) - Python 3.10+ ### 安装依赖 ``` sudo apt install python3 python3-pip yara strace -y pip3 install requests colorama yara-python pefile flask scikit-learn numpy pandas joblib psutil --break-system-packages ``` ### 添加你的 VirusTotal API 密钥 在 https://www.virustotal.com → Profile → API Key 获取免费密钥 打开 `virustotal.py` 并将 `PASTE_YOUR_FREE_API_KEY_HERE` 替换为你的密钥。 ### 训练 ML 模型(运行一次) ``` python3 ml_trainer.py ``` ## 运行说明 ### 命令行界面 ``` # 扫描单个文件 python3 scanner.py shell.exe # 扫描目录 python3 scanner.py /home/kali/Downloads/ # 使用 dynamic sandbox analysis 扫描(仅限 shell scripts / Python) python3 scanner.py --sandbox test_malicious.sh ``` ### Web UI ``` python3 app.py ``` 在浏览器中打开 **http://localhost:5000** - 将任意文件拖放到上传区域,或输入文件路径 - 观察实时进度条,所有 7 个引擎将依次运行 - 查看带有严重性徽章、引擎评分条和 ML 预测的检查结果 - 下载完整的 JSON 报告或在浏览器中查看 ## 风险评分 | 分数 | 判定结果 | 含义 | |-------|---------|---------| | 0 – 19 | CLEAN | 未发现显著威胁 | | 20 – 49 | SUSPICIOUS | 存在某些迹象 — 建议审查 | | 50 – 100 | MALICIOUS | 检测到高置信度威胁 | ## 检测能力 | 文件类型 | 专用模块 | 主要威胁 | |-----------|-----------------|-------------| | .exe .dll | pe_analyzer | PE 异常、shellcode、导入表 | | .pdf | pdf_scanner | JavaScript、自动打开、CVE 漏洞利用 | | .doc .docx | doc_scanner | VBA 宏、OLE、模板注入 | | .zip .jar | zip_scanner | 炸弹、双扩展名、多语言文件 | | .sh .bash | bash_scanner | 反向 shell、挖矿、持久化 | ## 测试结果 - **shell.exe** (msfvenom reverse_tcp):得分 85/100 — MALICIOUS — 经 VirusTotal 55/72 个引擎确认 - **Report.pdf** (干净文档):得分 5/100 — CLEAN - **29 个测试用例通过**:在单元、集成和系统测试中达到 100% 通过率 ## 使用技术 Python 3、Flask、YARA、pefile、scikit-learn、VirusTotal API v3、Chart.js、Kali Linux ## 实习项目 于 **Cyber Echelon**(喀拉拉邦 Thrissur 西堡)的网络安全实习期间开发。 实习生:Jison C J — 23BBCCCE062 院系:计算机科学与信息技术 大学:Yenepoya (Deemed to be University),Bengaluru 校区
标签:AMSI绕过, Apex, Ask搜索, DeepSeek, DNS信息、DNS暴力破解, DNS 反向解析, Flask, Office文档分析, PDF检测, pefile, PE头分析, PE文件分析, Python, VirusTotal, Web界面, YARA规则, 二进制扫描, 云安全监控, 全栈安全应用, 分类器, 哈希校验, 多引擎分析, 威胁检测, 恶意脚本检测, 拖拽上传, 文件扫描, 无后门, 机器学习, 沙箱分析, 熵值分析, 网络安全, 随机森林, 隐私保护, 静态分析