nilsonsangy/MalwareInside

GitHub: nilsonsangy/MalwareInside

面向安全研究人员的恶意软件分析工具集,集成 YARA 规则、VirusTotal API、格式转换和实验室环境修复等功能。

Stars: 0 | Forks: 0

# 🛡️ 恶意软件内部 **用于恶意软件分析和威胁检测的脚本与工具综合集合** [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python 3.x](https://img.shields.io/badge/python-3.x-blue.svg)](https://www.python.org/downloads/) [![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Windows-lightgrey)](https://github.com/nilsonsangy/MalwareInside) *为安全研究人员、分析师和爱好者提供用于恶意软件分析的自动化工具*
## 📋 目录 - [📊 工具概述](#tools-overview) - [🚀 快速开始](#quick-start) - [🔧 安装说明](#installation) - [📖 详细用法](#detailed-usage) - [YARA 规则](#yara-rules) - [INetSim DNS 修复](#inetsim-dns-fix) - [Hexdump 到 Hex 转换器](#hexdump-to-hex-converter) - [Hex 到 Binary 转换器](#hex-to-binary-converter) - [VirusTotal API 工具](#virustotal-api-tools) - [恶意软件验证器](#malware-verifier) - [⚙️ 环境要求](#requirements) - [📄 许可证与支持](#license--support) - [⚠️ 免责声明](#disclaimer) - [📞 联系方式](#contact) ## 工具概述 | 工具 | 描述 | 输入 | 输出 | 适用场景 | |------|-------------|-------|--------|----------| | **YARA Rules** | 恶意软件家族的检测规则 | 文件/内存 | 匹配结果 | 威胁识别 | | **VirusTotal API** | 完整的 VT API 集成 | Hash/文件 | JSON 报告 | 文件分析与上传 | | **fix_inetsim_dns.sh** | 修复 INetSim 的 DNS 服务 | - | 修复后的服务 | 实验室环境搭建 | | **hexdump2hex.py** | 从 Wireshark 数据转储中提取 hex 字节 | `.txt` hexdump | `.hex` 文件 | 网络分析 | | **hex2bin.py** | 将 hex 字符串转换为 binary | `.hex` 文件 | `.bin` 文件 | 样本重构 | | **malware-verifier.py** | VirusTotal 批量扫描器 | 目录 | 检测分数 | 样本验证 | ## 快速开始 ``` # Clone the repository git clone https://github.com/nilsonsangy/MalwareInside.git cd MalwareInside # 安装依赖 pip install -r requirements.txt # 配置 VirusTotal API key # 编辑 .env 文件并添加你的 API key # 验证 VirusTotal API key cd VT_API python validate_api_key.py # 从 VirusTotal 获取文件报告 python get_file_report.py 2546dcffc5ad854d4ddc64fbf056871cd5a00f2471cb7a5bfd4ac23b6e9eedad # 示例工作流:Wireshark hexdump → 二进制提取 python scripts/hexdump2hex.py wireshark_dump.txt # Creates wireshark_dump.hex python scripts/hex2bin.py wireshark_dump.hex # Creates wireshark_dump.bin # 使用 VirusTotal 验证样本 python scripts/malware-verifier.py /path/to/samples # 应用 INetSim fix (Kali Linux) sudo bash scripts/fix_inetsim_dns.sh ``` ## 安装说明 ### 前置条件 - **Python 3.x** - 用于运行 Python 脚本 - **YARA** - 用于使用检测规则 - **VirusTotal API Key** - 用于恶意软件验证 - **Kali Linux** - 用于 INetSim DNS 修复 ### 设置 1. 克隆此仓库: git clone https://github.com/nilsonsangy/MalwareInside.git cd MalwareInside 2. 安装 Python 依赖项: pip install -r requirements.txt 3. 设置你的 VirusTotal API key: - 复制示例环境文件:`cp .env.example .env` - 从此链接获取你的 API key:https://www.virustotal.com/gui/my-apikey - 编辑 `.env` 文件并将 `your_virustotal_api_key_here` 替换为你的实际 API key - 可选步骤:设置 `MALWARE_SAMPLES_PATH` 以指定用于存放恶意软件样本的自定义文件夹(默认为 Downloads 文件夹) 4. 验证你的 API 配置: cd VT_API python validate_api_key.py ## 详细用法 ### YARA 规则 `YARA` 目录包含针对已知恶意软件家族(包括勒索软件和其他威胁)的检测规则。 **用法:** ``` # 扫描单个文件 yara YARA/lockbit3.yar suspicious_file.exe # 递归扫描目录 yara -r YARA/ /path/to/scan/ # 输出匹配项及其 metadata yara -m YARA/conti.yar malware_sample.bin ``` ### INetSim DNS 修复 修复因 Perl 兼容性问题导致在最新版 Kali Linux 上出现的 INetSim DNS 服务故障。 **用法:** ``` # 应用该修复(需要 root privileges) sudo bash scripts/fix_inetsim_dns.sh # 验证 INetSim 服务状态 sudo systemctl status inetsim ``` ### Hexdump 到 Hex 转换器 从 Wireshark 的“Follow TCP Stream”hexdump 输出中提取干净的 hex 字节字符串。 **用法:** ``` # 将 Wireshark hexdump 转换为干净的 hex string python scripts/hexdump2hex.py network_capture.txt # 输出:network_capture.hex ``` **输入格式示例:** ``` 00000000 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d |HTTP/1.1 200 OK.| 00000010 0a 53 65 72 76 65 72 3a 20 6e 67 69 6e 78 2f 31 |.Server: nginx/1| ``` ### Hex 到 Binary 转换器 将 hex 字符串文件转换为 binary 格式,以便进行分析或执行。 **用法:** ``` # 将 hex 文件转换为二进制 python scripts/hex2bin.py payload.hex # 输出:payload.bin ``` **输入格式:** ``` 4d5a90000300000004000000ffff0000b800000000000000400000000000000000000000 ``` ### VirusTotal API 工具 用于与 VirusTotal API 交互以进行恶意软件分析的脚本集合。 #### API Key 验证 验证你的 VirusTotal API key 是否正常工作。 **用法:** ``` cd VT_API python validate_api_key.py ``` **输出示例:** ``` ✅ API key is valid! User ID: your_username ``` #### 文件报告分析 使用文件的 hash 获取其详细的分析报告。 **用法:** ``` cd VT_API python get_file_report.py ``` **支持的 hash 类型:** - MD5(32 个字符) - SHA-1(40 个字符) - SHA-256(64 个字符) **示例:** ``` python get_file_report.py 2546dcffc5ad854d4ddc64fbf056871cd5a00f2471cb7a5bfd4ac23b6e9eedad ``` #### 文件上传与分析 将文件上传至 VirusTotal 进行分析(最大 32MB)。 **用法:** ``` cd VT_API python upload_file.py [password] ``` **示例:** ``` # 上传文件 python upload_file.py malware_sample.exe # 上传带密码的保护 ZIP 文件 python upload_file.py protected.zip mypassword ``` #### 分析状态检查 使用分析 ID 检查文件分析的状态。 **用法:** ``` cd VT_API python get_analysis.py ``` **示例:** ``` python get_analysis.py NjY0MjRlOTFjMDIyYTkyNWM0NjU2NWQxYjdiZWIxM2I6MTQ4ODU0NjU3Mw== ``` ### 恶意软件验证器 使用 VirusTotal API 对恶意软件样本进行批量验证,并报告检测分数。 **用法:** ``` # 验证目录中的所有样本 python scripts/malware-verifier.py /path/to/samples/ # 示例输出: # sample1.exe: 45/67 detections # sample2.dll: 12/67 detections ``` ## 环境要求 ### 系统要求 - **操作系统**:Linux(首选)、Windows、macOS - **Python**:3.6 或更高版本 - **YARA**:最新稳定版,用于规则扫描 - **Kali Linux**:用于 INetSim DNS 修复脚本 ### API 要求 - **VirusTotal API Key**:使用 VirusTotal API 脚本和 `malware-verifier.py` 时必需 - 在 [VirusTotal](https://www.virustotal.com/) 注册 - 从此链接获取你的 API key:https://www.virustotal.com/gui/my-apikey - 在 `.env` 文件中进行配置 ### 可选工具 - **Wireshark**:用于生成 hexdump 文件 - **INetSim**:用于搭建恶意软件分析实验室 ## 许可证与支持 本项目采用 MIT 许可证授权。详情请参阅 [LICENSE](LICENSE)。 ## 免责声明 此工具包专为**教育和研究目的**而设计。用户在分析恶意软件样本时,有责任确保遵守适用的法律法规。 ### 重要提示 - 仅在隔离的、受控的环境中分析恶意软件 - 在对任何系统进行测试之前,请确保已获得适当的授权 - 作者不对任何滥用这些工具的行为负责 - 始终遵循负责任的漏洞披露做法 ## 联系方式 如有问题、建议或合作机会: - 📧 **电子邮件**:[提交一个 issue](https://github.com/nilsonsangy/MalwareInside/issues) 以获得最快回复 - 🐛 **Bug 报告**:[GitHub Issues](https://github.com/nilsonsangy/MalwareInside/issues) - 💡 **功能请求**:[GitHub Discussions](https://github.com/nilsonsangy/MalwareInside/discussions) - 🔗 **GitHub**:[@nilsonsangy](https://github.com/nilsonsangy)
**⭐ 如果这个项目对你有帮助,请考虑给它点个 Star! ⭐** 用 ❤️ 为网络安全社区打造
标签:AMSI绕过, DAST, DNS信息、DNS暴力破解, DNS 反向解析, Python, YARA规则, 威胁检测, 应用安全, 恶意软件分析, 数字取证, 无后门, 自动化脚本, 逆向工具