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, 云安全监控, 云资产清单, 后端开发, 恶意软件分析, 无后门, 漏洞挖掘, 逆向工程, 静态分析