kangindustries/Serpent

GitHub: kangindustries/Serpent

基于 Python 的轻量级 YARA 扫描器,支持文件扫描和进程内存扫描,并可自动获取社区规则。

Stars: 0 | Forks: 0

# 简介 Serpent 是一个简单但强大的基于 Python 的 YARA 扫描器。它包含的工具可以轻松获取社区驱动的 YARA 规则,扫描文件和目录,并动态检查运行中进程的内存以查找匹配项。 ## 功能特性 - **文件扫描器 (`scan.py`)**:使用指定的 YARA 超时设置递归扫描特定文件或目录。将结果直接输出为 JSON。 - **进程内存扫描器 (`mem_scan.py`)**:扫描运行中的进程内存(通过单个 PID,或并发扫描所有进程)。支持直接从匹配的内存区域提取预览字符串。 - **自动规则获取 (`scripts/fetch_rules.py`)**:直接从 GitHub 无痛下载并解压社区 YARA 规则。 ## 本地运行 确保已安装 Python,然后安装依赖项: ``` pip install -r requirements.txt ``` *(请注意,在 Windows 上需要以**管理员身份**运行终端,在 Linux 上则需要使用 `sudo`,`mem_scan.py` 才能获得读取其他进程内存所需的权限)。* 在扫描任何内容之前,你需要一些 YARA 规则。你可以将自己的规则加载到任何文件夹中,或者获取第三方规则。 要下载社区维护的 `Yara-Rules/rules` 的所有类别: ``` python scripts/fetch_rules.py ``` 仅下载特定类别(例如 malware 和 mobile_malware): ``` python scripts/fetch_rules.py --categories malware mobile_malware ``` 你可以使用 `--list-categories` 标志查看所有可用的类别。 *注意:获取的规则受其各自的开源许可证(例如 GPLv2)约束。* ### 文件扫描 要扫描特定文件或整个目录,请使用 `scan.py`: ``` python scan.py "C:\path\to\scan" --rules "rules/third_party/yara-rules" ``` 可选参数: - `--timeout [seconds]` - 为每个扫描的文件设置最大超时时间(默认值:10)。 - `--out [file.json]` - 将扫描报告输出到特定的 JSON 文件(默认值:`results.json`)。 ### 内存扫描 要根据你的 YARA 规则扫描所有正在运行进程的实时内存: ``` python mem_scan.py --all --rules "rules/third_party/yara-rules" ``` 扫描特定的进程 ID (PID): ``` python mem_scan.py --pid 1234 --rules "rules/third_party/yara-rules" ``` 可选参数: - `--timeout [seconds]` - 为每个进程设置最大超时时间(默认值:10)。 - `--out [file.json]` - 将扫描报告输出到特定的 JSON 文件(默认值:`mem_results.json`)。
标签:AMSI绕过, EDR, Python, YARA, 主机扫描, 云计算, 云资产可视化, 威胁检测, 库, 应急响应, 数字取证, 文件扫描, 无后门, 流量嗅探, 网络安全, 网络安全审计, 网页爬虫, 脆弱性评估, 自动化脚本, 规则引擎, 进程内存扫描, 逆向工具, 隐私保护