工具介绍
PassGuard是一个轻量级安全工具,专为防护Linux系统中的脏牛(Dirty COW)内核漏洞而设计。它通过实时监控和保护关键系统文件(如/etc/passwd
),有效防止攻击者利用内核漏洞进行权限提升攻击。
🐮 什么是脏牛(Dirty COW)漏洞?
脏牛(CVE-2016-5195)是Linux内核中的一个严重权限提升漏洞,存在于2.6.22版本至4.8.3版本的Linux内核中。攻击者可以利用该漏洞修改只读内存映射,从而获取系统的root权限。该漏洞因其利用了Linux内核中写时复制(Copy-On-Write)机制的缺陷而得名。
攻击者通常会通过修改/etc/passwd
文件来创建具有root权限的新用户或修改现有用户的权限,从而实现权限提升。
✨ 功能特点
-
🔍 实时监控: 高频轮询检测 /etc/passwd
文件变化 -
🛑 异常阻断: 自动终止非白名单进程对关键文件的修改 -
🔄 自动恢复: 在检测到攻击时恢复文件到安全状态 -
📊 智能判断: 区分正常系统操作和恶意攻击行为 -
📱 告警通知: 支持企业微信Webhook告警,及时通知管理员 -
🔒 白名单机制: 允许合法系统工具修改关键文件 -
🚀 轻量高效: 资源占用极低,适合长期运行
🔧 工作原理
PassGuard采用以下策略保护您的系统:
-
文件监控: 定期计算 /etc/passwd
文件的哈希值,检测文件变化 -
变化确认: 当检测到文件变化时,等待短暂时间确认变化是否稳定 -
攻击识别: 如果文件在短时间内多次变化,判定为可能的攻击行为 -
进程分析: 识别正在写入 /etc/passwd
的进程,检查是否在白名单中 -
防护措施: 终止非白名单进程,恢复文件到安全状态 -
告警通知: 通过企业微信发送攻击告警,包含详细信息
📋 安装说明
前提条件
-
Linux操作系统 -
Go 1.13或更高版本(仅编译时需要)
安装步骤
-
克隆仓库:
git clone https://github.com/aiici/passguard.gitcd passguard
-
编译程序:
go build -o passguard main.go
-
设置权限并移动到系统目录:
chmod +x passguardsudo mv passguard /usr/local/bin/
🚀 使用方法
基本使用
直接运行PassGuard:
sudo passguard
设置为系统服务
-
创建systemd服务文件:
sudo nano /etc/systemd/system/passguard.service
-
添加以下内容:
[Unit]Description=PassGuard - Protect against Dirty COW attacksAfter=network.target[Service]ExecStart=/usr/local/bin/passguardRestart=alwaysUser=rootGroup=rootEnvironment=WECHAT_WEBHOOK=your_webhook_url_here[Install]WantedBy=multi-user.target
-
启用并启动服务:
sudo systemctl daemon-reloadsudo systemctl enable passguardsudo systemctl start passguard
-
检查服务状态:
sudo systemctl status passguard
⚙️ 配置选项
PassGuard通过环境变量进行配置:
|
|
|
---|---|---|
WECHAT_WEBHOOK |
|
|
示例:
export WECHAT_WEBHOOK="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY"sudo -E passguard
🔍 日志查看
PassGuard的日志输出到标准输出,可以通过以下方式查看:
# 如果直接运行sudo passguard# 如果作为服务运行sudo journalctl -u passguard -f
工具获取
原文始发于微信公众号(夜组安全):PassGuard是一个轻量级安全工具,专为防护Linux系统中的脏牛(Dirty COW)内核漏洞而设计。
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论