DentistGus/Progetto-Software-Security-Malware-Analysis
GitHub: DentistGus/Progetto-Software-Security-Malware-Analysis
一个软件安全课程项目,通过静态与动态分析对 Bitter APT 组织的 keylogger 恶意软件进行逆向研究与检测规则编写。
Stars: 0 | Forks: 0
# 软件安全项目
本仓库包含 **Software Security** 课程相关的教学材料、报告和开发工具。该项目侧重于分析恶意软件(具体为 keylogger)以及定义威胁检测规则。
## 仓库结构
文件夹的组织结构如下:
* **`/`(主目录)**:包含课程整体项目及实践实验活动的 PDF 格式文档。
* **`/yara`**:包含用于识别恶意软件的 YARA 规则。包含一条手动编写的自定义规则和一条通过工具 `yarGen` 自动生成的规则。
* **`/sigma`**:包含两条为恶意软件检测开发的 Sigma 规则。
* **`/scripts`**:包含使用 Python 开发的工具,用于对恶意软件的代码和工件进行静态分析和动态分析。
## Python 脚本详情
在 `/scripts` 文件夹中,包含两个用于 keylogger 去混淆和分析的关键脚本:
### 1. 解密 Keylogger 日志 (`logDecrypt.py`)
所分析的恶意软件会将捕获的击键记录保存在两个日志文件中,并对其内容进行混淆以防止直接读取。混淆基于简单的**凯撒密码**,恶意软件会将值 `0x14` 加到捕获的每个字节上。
* **脚本功能**:读取混淆后的日志文件,并通过执行逆向数学运算(即从每个字节中**减去 `0x14`**)来解密内容,从而输出明文日志。
### 2. 解密日志文件名 (`stringDecoding.py`)
恶意软件生成的两个日志文件的名称被硬编码在可执行文件中,但经过了混淆以隐藏入侵指标。
* **初步分析**:借助 **FLOSS** (FireEye Labs Obfuscated String Solver) 工具发现了混淆字符串。随后,通过反汇编工具 **IDA Pro** 分析恶意软件的汇编代码,分离出了原始的解密算法。
* **脚本功能**:整合了转换为 Python 的汇编算法逻辑。在此情况下,恶意软件应用了一种凯撒密码的变体:为了获取文件名的明文字符串,脚本必须将读取的每个字节**加上 `0xF3`**。
## 使用的技术与工具
* **静态分析**:Virus Total, PEiD, PEStudio, PE-bear, Dependency Walker, BinText, FLOSS, IDA Pro
* **动态分析**:Process Explorer, Process Monitor (Procmon), Regedit
* **CTI 与检测**:CAPA, yarGen, yara64, Sysmon64, Zircolite
* **编程语言**:Python 3, Yara, Sigma
标签:AMSI绕过, DAST, Python, YARA, 云资产可视化, 云资产清单, 威胁检测, 恶意软件分析, 无后门, 逆向工程