jasleenkaur76578-ai/Malware-Analysis-and-Reverse-Engineering

GitHub: jasleenkaur76578-ai/Malware-Analysis-and-Reverse-Engineering

一个基于 Python 的恶意软件静态分析与逆向工程教学工具,支持对 PE 文件和网络流量捕获文件进行不执行样本的安全检测。

Stars: 0 | Forks: 0

# 恶意软件分析与逆向工程 ## 项目概述 本项目是一个基于 Python 开发的恶意软件分析与逆向工程工具,旨在用于教育目的。它对 Windows 可执行 (PE) 文件执行静态分析,并分析网络捕获 (PCAP) 文件,而无需运行任何潜在的有害代码。 该项目演示了网络安全专业人员如何检查可执行文件、提取元数据、生成加密哈希、识别导入的 Windows API 函数、执行 YARA 规则匹配以及分析捕获的网络流量。 ## 功能 - 文件信息分析 - MD5、SHA1 和 SHA256 哈希生成 - 字符串提取 - PE 文件分析 - YARA 规则扫描 - PCAP 文件分析 - 自动报告生成 - 命令行菜单界面 ## 使用技术 - Python 3 - VS Code - Kali Linux - Wireshark - PyInstaller ## Python 库 - pefile - yara-python - python-magic-bin - scapy - hashlib - os - re ## 项目结构 ``` Malware-Analysis/ │ ├── samples/ ├── scripts/ ├── hashes/ ├── strings/ ├── reports/ ├── pcap/ ├── yara/ ├── screenshots/ ├── requirements.txt └── README.md ``` ## 模块 各模块用途 1. 文件信息 (file_info.py) 用途: 收集有关可执行文件的基本信息。 显示内容: 文件名 文件大小 文件扩展名 创建日期 最后修改日期 这有助于在进行深入分析之前识别文件。 2. 哈希生成器 (hash_generator.py) 用途: 生成文件的唯一数字指纹。 计算内容: MD5 SHA1 SHA256 这些哈希值允许分析人员验证文件完整性,并将文件与恶意软件数据库进行比对。 3. 字符串提取器 (string_extractor.py) 用途: 从可执行文件中提取可读的 ASCII 字符串。 示例包括: DLL 名称 API 名称 文件路径 URL 错误信息 这些字符串通常能为程序的行为提供有价值的线索。 4. PE 分析器 (pe_analyzer.py) 用途: 检查 Windows 可移植可执行 (PE) 结构。 显示内容: 机器类型 入口点 镜像基址 节区数量 导入的 DLL 导入的 Windows API 函数 这有助于了解可执行文件的组织方式。 5. YARA 扫描器 (yara_scan.py) 用途: 检查可执行文件是否匹配预定义的检测规则。 当前项目查找的 API 名称包括: VirtualAlloc CreateRemoteThread LoadLibraryA 规则匹配表明该文件包含可能需要进一步调查的特征。 6. PCAP 分析器 (pcap_analyzer.py) 用途: 分析 Wireshark 捕获文件。 显示内容: 数据包数量 源 IP 地址 目标 IP 地址 协议信息 数据包摘要 这提供了捕获的网络流量的基本概览。 7. 主程序 (main.py) 用途: 作为整个项目的控制器。 它提供了一个菜单,允许用户单独运行每个分析模块。 ## 如何运行 安装依赖: ``` py -m pip install -r requirements.txt ``` 运行项目: ``` cd scripts py main.py ``` ## 示例输出 - 文件信息 - 哈希报告 - 字符串报告 - PE 分析 - YARA 检测 - PCAP 分析 ## 教育目的 本项目仅供教育和防御性网络安全学习使用。它使用安全的样本文件演示恶意软件分析技术,不得用于开发或部署恶意软件。 ## 作者 Jasleen Kaur MCA(网络安全与取证) CT University
标签:DAST, PE文件分析, Python, 云安全监控, 云资产清单, 后端开发, 恶意软件分析, 无后门, 漏洞挖掘, 逆向工程, 静态分析