bgashwin13-CS/YARA-MALWARE-SCANNER
GitHub: bgashwin13-CS/YARA-MALWARE-SCANNER
一款使用 Python 和 YARA 规则构建的轻量级恶意软件扫描器,用于检测勒索软件、木马、键盘记录器等威胁特征。
Stars: 0 | Forks: 0
# YARA-MALWARE-SCANNER
一个基于规则的轻量级恶意软件扫描器,使用 Python 和 YARA 构建——YARA 是 VirusTotal、Google 及政府网络安全机构所使用的同款模式匹配框架。
项目信息
作者 - Ashwin
机构 - SRM Institute of Science and Technology
平台- Kali Linux
语言 -Python 3
工具 - YARA v4.x + yara-python
项目结构
yara-malware-scanner/
├── scanner.py ← 主扫描脚本
├── README.md ← 本文件
├── requirements.txt ← Python 依赖
├── .gitignore ← Git 忽略规则
│
├── rules/
│ ├── ransomware.yar ← 勒索软件检测规则
│ ├── trojan.yar ← 木马与后门规则
│ └── malware_generic.yar ← 键盘记录器、shellcode、混淆、下载器规则
│
└── test_samples/
├── HARMLESS_test_malware.txt ← 模拟恶意软件字符串(非真实恶意软件)
└── clean_sample.py ← 干净文件,用于证明没有误报
请仔细按照以下步骤操作(非常重要):
步骤 1 — 更新系统
在开始之前,请更新 Kali Linux 以确保一切处于最新状态。
sudo apt update
sudo apt upgrade -y
步骤 2 — 克隆仓库
从 GitHub 将项目文件下载到你的 Kali Linux 机器上。
git clone https://github.com/YOUR_USERNAME/yara-malware-scanner.git
进入项目文件夹:
cd yara-malware-scanner
步骤 3 — 安装依赖
安装 yara-python 库。这是唯一需要的依赖。
pip install yara-python --break-system-packages
验证是否安装正确:
python3 -c "import yara; print('YARA installed successfully')"
步骤 4 — 浏览项目文件
检查所有文件是否存在:
ls -la
检查 rules 文件夹:
ls -la rules/
检查测试样本文件夹:
ls -la test_samples/
查看勒索软件 YARA 规则:
cat rules/ransomware.yar
查看木马 YARA 规则:
cat rules/trojan.yar
查看通用恶意软件规则:
cat rules/malware_generic.yar
查看扫描器脚本:
cat scanner.py
步骤 5 — 运行扫描器
基础扫描 — 扫描 test_samples 文件夹
python3 scanner.py test_samples/
详细扫描 — 精确显示文件内匹配到的字符串
python3 scanner.py test_samples/ -v
扫描并将结果保存到报告文件中
python3 scanner.py test_samples/ -v -o report.txt
仅扫描恶意软件测试文件
python3 scanner.py test_samples/HARMLESS_test_malware.txt -v
仅扫描干净文件
python3 scanner.py test_samples/clean_sample.py -v
使用自定义规则目录进行扫描
python3 scanner.py test_samples/ -r rules/
查看帮助和所有可用选项
python3 scanner.py --help
步骤 6 — 查看生成的报告
在使用 -o report.txt 运行扫描后,查看保存的报告:
cat report.txt
所有命令 — 快速参考
命令 作用
sudo apt update 更新软件包列表
git clone 下载该项目
cd yara-malware-scanner 进入项目文件夹
pip install yara-python --break-system-packages 安装 YARA 库
python3 -c "import yara; print('ok')" 验证 YARA 是否已安装
ls -la 列出所有项目文件
ls -la rules/ 列出 YARA 规则文件
ls -la test_samples/ 列出测试样本文件
cat rules/ransomware.yar 查看勒索软件规则
cat rules/trojan.yar 查看木马规则
cat rules/malware_generic.yar 查看通用恶意软件规则
cat scanner.py 查看扫描器源代码
python3 scanner.py test_samples/ 基础扫描
python3 scanner.py test_samples/ -v 详细扫描
python3 scanner.py test_samples/ -v -o report.txt 扫描并保存报告
python3 scanner.py -v 扫描单个文件
python3 scanner.py -r rules/ 自定义规则目录
python3 scanner.py --help 显示帮助
cat report.txt 查看保存的报告
YARA 规则说明
ransomware.yar
检测常见的勒索软件行为:
• 勒索信字符串:Your files have been encrypted, Send bitcoin
• 卷影副本删除:vssadmin delete shadows
• 加密文件扩展名:.locked, .crypted, .wannacry, .locky
trojan.yar
检测木马和后门行为:
• 远程访问工具:reverse shell, meterpreter, netcat
• 注册表持久化:HKLM\CurrentVersion\Run, RegSetValueEx
• CMD 技巧:powershell -enc, net user /add
malware_generic.yar
检测另外四个类别:
• 键盘记录器 — GetAsyncKeyState, SetWindowsHookEx, WH_KEYBOARD_LL
• Shellcode — VirtualAlloc, WriteProcessMemory, CreateRemoteThread
• 混淆 — base64_decode, eval(), fromCharCode, gzinflate
• 下载器 — URLDownloadToFile, WebClient, bitsadmin, certutil -decode
预期输出
检测到威胁时:
[!] THREAT DETECTED — HARMLESS_test_malware.txt
Path : test_samples/HARMLESS_test_malware.txt
MD5 : e483c8c8b42e47830e8312de5a190d32
SHA256 : 4f5780ba0877cff9ce014f650aece9dc0a90c3c29f6419e97478b3871c0e1fa7
Rule : Ransomware_Generic [HIGH]
Desc : Detects common ransomware indicators
Matched strings:
-> Your files have been encrypted
-> Send bitcoin
Scan complete
Files scanned : 2
Threats : 1
Errors : 0
Clean : 1
文件为干净文件时:
[+] CLEAN — clean_sample.py (37ae511d9f48 ...)
Scan complete
Files scanned : 1
Threats : 0
Errors : 0
Clean : 1
免责声明
test_samples/ 中的文件包含无害字符串,仅用于演示目的来模拟恶意软件特征。它们不是真实的恶意软件,不会对您的系统造成任何伤害。本项目纯粹出于教育目的而构建。
由 Ashwin 用 ❤️ 制作 | SRM Institute of Science and Technology
谢谢!!!!
标签:DNS 反向解析, Python, YARA, 云资产可视化, 反病毒逃逸, 恶意软件扫描, 无后门, 网络信息收集