uliyach45/OSQuery-YARA-integration-on-Debian-Cyber-Threat-Intelligence

GitHub: uliyach45/OSQuery-YARA-integration-on-Debian-Cyber-Threat-Intelligence

在 Debian 上将 OSQuery 的 SQL 级系统监控能力与 YARA 的恶意软件模式匹配规则相集成,实现端点级别的持续威胁检测与安全审计。

Stars: 0 | Forks: 0

# Debian 上的 OSQuery-YARA 集成 - 网络威胁情报 网络威胁情报实验 6:在 Debian 上使用 OSQuery v5.22.1 和 YARA v4.5.2 进行端点监控 — 包含恶意软件检测规则和计划查询配置。 # 🛡️ 网络威胁情报 — 实验任务 6 ## 在 Debian 上完整安装和配置带有 YARA 集成的 OSQuery ## 📋 实验信息 | 字段 | 详情 | |-------|---------| | **学生姓名** | Uliya Fatima | | **学号** | 232098 | | **科目** | 网络威胁情报 | | **实验任务** | 6 | | **日期** | 2026年3月27日 | | **操作系统** | Debian (Linux) | ## 📌 概述 本实验涵盖了在 Debian Linux 系统上完整安装、配置和集成 **YARA** 与 **OSQuery** 的过程,旨在实现网络威胁情报和端点监控。 实验分为三个部分: - **A 部分** — 理解并编写 YARA 规则 - **B 部分** — 安装和配置带有 YARA 集成的 OSQuery - **C 部分** — 高级 YARA 规则和完整的端到端验证 ## 🧩 A 部分 — YARA 规则 ### 什么是 YARA? YARA 是一款被恶意软件研究人员和威胁狩猎者广泛使用的模式匹配工具,用于根据字符串、字节模式和条件来识别和分类恶意软件样本。 ### 完成的工作: - 在 Debian 上安装了 YARA v4.5.2 - 编写了一个基础规则 (`myrule.yar`) 来检测如 `malware` 和 `hacker` 这样的字符串 - 创建了一个包含可疑内容的测试文件 (`test.txt`) - 测试了该规则并确认成功检测 - 测试了高级规则 (`advanced_rule.yar`) — 在测试文件上成功匹配到了 `Advanced_Malware_Detection` ## 🖥️ B 部分 — OSQuery 安装与配置 ### 什么是 OSQuery? OSQuery 是由 Facebook 开发的一款开源工具,允许你像查询 SQL 数据库一样查询你的操作系统。它被用于系统监控、威胁检测和事件响应。 ### 完成的工作: - 通过官方 apt 仓库安装了 OSQuery v5.22.1 - 创建了必要的目录: - `/etc/osquery` — 配置 - `/var/log/osquery` — 日志 - `/var/osquery` — 数据库和 PID 文件 - `/etc/yara/rules` — YARA 规则文件 - 部署了包含计划查询的完整 `osquery.conf`: - `system_info` — 每 3600 秒 - `running_processes` — 每 60 秒 - `listening_ports` — 每 120 秒 - `logged_in_users` — 每 60 秒 - `suid_binaries`, `crontabs`, `sudoers`, `user_accounts`, `open_sockets` - 将 YARA 规则部署到 `/etc/yara/rules/malware_basics.yar`: - `Suspicious_Shell_Script` — 检测 curl, wget, chmod +x, /tmp/, base64(严重级别:中) - `Reverse_Shell_Patterns` — 检测 bash 反弹 shell 模式(严重级别:高) - 启动并验证了 OSQuery 守护进程 (`osqueryd`) - 通过将仅用于命令行的标志移至 `/etc/osquery/osquery.flags` 修复了配置警告 - 测试了 YARA 集成 — `Reverse_Shell_Patterns` 成功匹配 `/tmp/test_payload.sh` ✅ ## 🔬 C 部分 — 高级 YARA 规则与全面验证 ### 编写的高级规则 (`advanced_rules.yar`): | 规则名称 | 类型 | 描述 | |-----------|------|-------------| | `ELF_Dropper` | 十六进制模式 | 检测 /tmp 目录中的 ELF 二进制魔术字节 `7F 45 4C 46` | | `Base64_Encoded_Payload` | 正则表达式 | 检测 base64 编码的 payload | | `Staged_Downloader` | 字符串匹配 | 检测 wget + chmod + 执行模式 | ### 执行的验证: - ✅ `Staged_Downloader` 规则匹配了 `/tmp/dropper.sh` — 检测到 wget, chmod +x, 执行模式 - ✅ 确认 `yara` 和 `yara_events` 表在 `osquery_registry` 中处于活动状态 - ✅ 在 `osquery_schedule` 表中确认了全部 9 个计划查询 - ✅ 枚举了 SUID 二进制文件 — 识别出超过 30 个 root 所有的 SUID/SGID 二进制文件 (sudo, su, passwd, pkexec 等) - ✅ 通过 SQL JOIN 将监听端口与进程关联 — 识别出 elastic-agent, node, java, cupsd - ✅ 守护进程日志确认了 osqueryd v5.22.1 通过 `journalctl` 的干净启动 ## 📁 仓库内容 ``` 📦 cyber-threat-intel-lab6/ ├── 📄 README.md ← This file └── 📄 lab_task_6_232098.docx ← Full lab report with screenshots ``` ## 🛠️ 使用的工具与技术 | 工具 | 版本 | 用途 | |------|---------|---------| | YARA | 4.5.2 | 恶意软件模式匹配与规则编写 | | OSQuery | 5.22.1 | 基于 SQL 的操作系统监控与威胁检测 | | Debian Linux | Trixie | 操作系统环境 | | GNU nano | 8.4 | 用于配置/规则文件的文本编辑器 | | systemctl | — | 守护进程管理 | | journalctl | — | 日志检查 | ## 📚 学到的核心概念 - 使用字符串匹配、十六进制模式和正则表达式编写 YARA 规则 - 使用基于 JSON 的配置文件和 flag 文件配置 OSQuery - 将 YARA 与 OSQuery 集成以进行实时文件扫描 - 使用 OSQuery SQL 查询进行安全审计: - 枚举 SUID 二进制文件以检测权限提升 - 将监听端口与运行中的进程相关联 - 监控计划查询的执行 - 理解 osqueryi (交互模式) 和 osqueryd (守护进程模式) 之间的区别 - 通过 journalctl 和结果日志检查守护进程的运行状况 ## 🔗 参考资料 - [OSQuery 官方文档](https://osquery.readthedocs.io/) - [YARA 文档](https://yara.readthedocs.io/) - [OSQuery Schema](https://osquery.io/schema/) - [YARA Rules GitHub](https://github.com/Yara-Rules/rules)
标签:Debian, DNS信息、DNS暴力破解, Homebrew安装, OSQuery, PB级数据处理, YARA, YARA规则, 云资产可视化, 多线程, 子域名变形, 安全实验, 安全运维, 安全配置, 实验室, 无线安全, 模式匹配, 端点安全, 端点监控, 网络威胁情报, 网络安全, 网络安全审计, 自动化资产收集, 补丁管理, 隐私保护