aneeshajimmis/Windows-Service-Process-Monitoring-Agent
GitHub: aneeshajimmis/Windows-Service-Process-Monitoring-Agent
基于 Python 和 psutil 开发的 Windows 安全监控代理,通过规则引擎检测可疑父子进程关系、异常路径执行和未授权服务,帮助发现恶意软件活动与持久化后门。
Stars: 0 | Forks: 0
# Windows 服务与进程监控代理
本项目致力于构建一个 Windows 服务与进程监控代理,能够检测恶意、未经授权或可疑的进程行为。
Windows 服务和进程是恶意软件、持久化机制、权限提升和隐蔽操作的常见目标。
该监控代理通过分析服务配置、进程层次结构、启动项和运行时活动来识别异常。
该框架提供:
• 可疑的父子进程关系检测
• 启动服务审计
• 未经授权的进程监控
## 📌 实际动机
Windows 系统经常通过以下方式被攻陷:
- 注册在系统权限下的恶意服务
- 用于执行恶意软件的异常父子进程关系
- 用于持久化的启动项篡改
- 伪装成合法名称的流氓进程
监控这些行为有助于检测:
- 恶意软件活动
- 入侵企图
- 权限提升
- 持久化机制
## 🎯 项目目标
- 监控活动的 Windows 进程并分析父子进程行为
- 审计启动服务,以发现可疑的、新注册的或被修改的服务
- 检测系统中运行的未经授权或未知的进程
- 基于规则或行为触发器生成警报
- 生成详细的报告,总结异常和威胁
## ✨ 功能
### ✅ 进程监控
- 枚举所有正在运行的 Windows 进程
- 显示 PID、PPID、进程名称、状态、内存使用情况和用户
### ✅ 父子关系检测
检测可疑的进程链,例如:
- WINWORD.EXE → powershell.exe
- WINWORD.EXE → cmd.exe
- EXCEL.EXE → powershell.exe
- OUTLOOK.EXE → powershell.exe
### ✅ 可疑可执行文件路径检测
检测从可疑位置运行的可执行文件,例如:
- Downloads
- Desktop
- Temp
- AppData\\Local\\Temp
### ✅ 未经授权的进程检测
通过将正在运行的进程与受信任的白名单进行比较来识别未知进程。
受信任的目录包括:
- Windows
- Program Files
- Program Files (x86)
- ProgramData
### ✅ Windows 服务监控
- 枚举所有已安装的 Windows 服务
- 显示:
- 服务名称
- 状态
- 启动类型
- 用户账户
### ✅ 启动服务审计
检测不属于批准白名单的自动启动服务。
### ✅ 警报生成
每次检测都会生成一个标准化的警报,包含:
- 时间戳
- 规则 ID
- 严重程度
- 检测类型
- 标题
- 进程 / 服务名称
- 详情
- 建议
### ✅ 日志记录
为每次扫描自动创建带有时间戳的日志文件。
示例:
```
logs/
└── scan_2026-07-08_07-51-11.log
```
### ✅ 报告生成
生成详细的扫描报告。
示例:
```
reports/
└── SentinelShield_Report_2026-07-08_07-51-14.txt
```
### ✅ 扫描统计
显示:
- 已扫描进程
- 已扫描服务
- 警报数量
- 严重程度分布
- 总体风险等级
# 🏗️ 项目结构
```
Windows-Service-Monitor/
│
├── config/
│ ├── blacklist.json
│ ├── startup_service_whitelist.json
│ ├── suspicious_parent_child.json
│ ├── suspicious_paths.json
│ ├── suspicious_service_paths.json
│ ├── trusted_paths.json
│ └── whitelist.json
│
├── logs/
│
├── modules/
│ ├── detection_engine.py
│ ├── logger.py
│ ├── process_monitor.py
│ ├── report_generator.py
│ ├── service_monitor.py
│ └── statistics.py
│
├── reports/
│
├── main.py
├── requirements.txt
└── README.md
```
# ⚙️ 使用技术
- Python 3.13
- psutil
- JSON
- Windows Services API (psutil)
- PowerShell
- Git
- GitHub
- Visual Studio Code
# 🚀 安装说明
克隆仓库:
```
git clone https://github.com/yourusername/Windows-Service-Monitor.git
```
进入项目目录:
```
cd Windows-Service-Monitor
```
创建虚拟环境:
```
python -m venv venv
```
激活虚拟环境:
Windows
```
venv\Scripts\activate
```
安装依赖项:
```
pip install -r requirements.txt
```
运行项目:
```
python main.py
```
# 📊 示例输出
```
Collecting running processes...
✓ 266 processes collected.
Collecting Windows services...
✓ 304 services collected.
Running Detection Engine...
✓ Parent-Child Analysis Complete
✓ Process Path Analysis Complete
✓ Unknown Process Analysis Complete
✓ Service Analysis Complete
✓ Startup Service Audit Complete
Overall Risk : LOW
```
# 🔐 检测规则
当前的检测技术包括:
- 父子进程分析
- 可疑可执行文件路径检测
- 未经授权的进程检测
- 可疑服务检测
- 启动服务审计
- 基于规则的警报生成
检测规则作为 JSON 配置文件存储在 **config/** 目录中。
# 📈 未来改进
- 实时监控
- 数字签名验证
- 进程哈希验证
- Windows Event Log 集成
- 电子邮件通知
- HTML/PDF 报告生成
- 威胁情报集成
- 基于 Machine Learning 的异常检测
- GUI 仪表板
# 📚 学习成果
本项目帮助培养了以下方面的实践知识:
- Windows 进程架构
- Windows 服务
- 父子进程分析
- 基于规则的检测
- Blue Team 安全
- 终端监控
- Python 自动化
- 安全软件开发
# 👩💻 作者
**Aneesha Jimmis**
人工智能与机器人硕士
市场营销 MBA
网络安全爱好者 | AI 工程师 | Python 开发者
GitHub: https://github.com/aneeshajimmis
LinkedIn: https://www.linkedin.com/in/aneesha-jimmis/
# 📄 许可证
本项目出于教育和实习目的而开发。
```
```
标签:AI合规, API接口, EDR, Homebrew安装, 安全防护, 异常检测, 脆弱性评估, 逆向工具