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规则, 云资产可视化, 多线程, 子域名变形, 安全实验, 安全运维, 安全配置, 实验室, 无线安全, 模式匹配, 端点安全, 端点监控, 网络威胁情报, 网络安全, 网络安全审计, 自动化资产收集, 补丁管理, 隐私保护