Diskominfo-Tanah-Bumbu/yara-scan-judol
GitHub: Diskominfo-Tanah-Bumbu/yara-scan-judol
一套面向政府网站的YARA规则集合与自动化脚本,用于检测和持续监控在线赌博内容注入、PHP后门及Black SEO攻击行为。
Stars: 0 | Forks: 0
# YARA 扫描 Judol — OPD Tanah Bumbu
YARA 规则集合 + 自动化脚本,用于检测针对地方政府网站的**在线赌博 (judol)** 内容、PHP 后门以及 **Black SEO** 技术。
## 仓库内容
| 文件 | 说明 |
|------|------------|
| `judol_keywords_.yar` | 检测 slot/togel/casino 关键词 (分数 60–80) |
| `judol_php_backdoor_.yar` | 检测 PHP eval/base64 + judol 内容 (分数 80–95) |
| `judol_blackseo_inject_.yar` | 隐藏链接、htaccess 重定向、隐藏的 iframe (分数 75–85) |
| `judol_wordpress_.yar` | 虚假插件、主题注入、被入侵的 WP 账户 (分数 80–90) |
| `judol_javascript_inject_.yar` | 混淆的 JS 重定向、UA cloaking (分数 75–90) |
| `scan-judol.sh` | 每日自动扫描脚本 (适合作为 cron job) |
| `inotify-watcher.sh` | 通过 inotify 进行实时监控 — 检测延迟 < 1 秒 |
| `verify.sh` | 调查与误报管理工具 |
| `whitelist.conf` | 排除的路径列表 (误报白名单) |
## 安装方法
### 1. 前置条件
```
# YARA engine
sudo apt install yara
# inotify-tools (用于 real-time monitoring)
sudo apt install inotify-tools
```
### 2. 克隆仓库
```
sudo git clone https://github.com/Diskominfo-Tanah-Bumbu/yara-scan-judol.git /opt/yara-judol
sudo chmod +x /opt/yara-judol/*.sh
```
### 3. 调整配置
编辑 `scan-judol.sh` 和 `inotify-watcher.sh` 顶部的变量:
```
WEB_BASE="/path/ke/direktori/web" # direktori root semua website
ALERT_EMAIL="admin@domain.go.id" # email penerima alert
```
## 使用说明
### 手动单次扫描
```
# Scan 所有 web directory
sudo /opt/yara-judol/scan-judol.sh
# Scan 单个指定文件 + 查看触发 trigger 的 string
/opt/yara-judol/verify.sh /var/www/html/wp-content/uploads/shell.php
```
### 定时扫描 (Cron)
```
# 添加到 crontab — 每天 05:00 scan
crontab -e
```
```
0 5 * * * /opt/yara-judol/scan-judol.sh >> /var/log/yara-judol/cron.log 2>&1
```
### 实时监控 (inotify)
```
# Setup 为 systemd service
sudo tee /etc/systemd/system/yara-judol-watcher.service > /dev/null << 'EOF'
[Unit]
Description=YARA Judol inotify Real-Time Watcher
After=network.target
[Service]
Type=simple
User=root
ExecStart=/opt/yara-judol/inotify-watcher.sh
Restart=always
RestartSec=10
StandardOutput=null
StandardError=append:/var/log/yara-judol/watcher.log
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now yara-judol-watcher
sudo systemctl status yara-judol-watcher
```
## 处理误报
```
# 查看哪个 string 触发了 trigger + context
/opt/yara-judol/verify.sh /path/to/file.php
# 与 backup 进行比较
/opt/yara-judol/verify.sh --diff /path/to/file.php
# 检查文件修改时间 & 文件 hash
/opt/yara-judol/verify.sh --stat /path/to/file.php
# 标记为 false positive & 添加到 whitelist
/opt/yara-judol/verify.sh --fp /path/to/file.php
```
编辑 `whitelist.conf` 以手动添加排除模式:
```
# 示例 — exclude 插件 backup Duplicator Pro
*/duplicator*/installer/dup-installer/assets/build/js/*
```
## 分数说明
| 分数 | 优先级 | 操作 |
|-------|-----------|----------|
| 80–95 | 高 | 立即调查并隔离 |
| 75–79 | 中 | 24 小时内验证 |
| 60–74 | 低 | 人工验证上下文 |
## 日志结构
```
/var/log/yara-judol/
├── scan_YYYY-MM-DD_HH-MM-SS.log # detail per scan
├── summary_YYYY-MM-DD.txt # ringkasan harian
├── alert_TIMESTAMP.txt # HIGH priority alerts
├── realtime-alerts.log # alert inotify real-time
├── false-positive_YYYY-MM-DD.log # file yang di-whitelist
└── watcher.log # log inotify service
```
## 局限性
- 在运行时解密的加密 Payload **无法被检测** (仅限静态分析)
- 不会扫描二进制文件 (图像、zip 等)
- 第三方插件/库可能会出现误报 — 请使用 `whitelist.conf`
## 许可证
YARA 规则:[TangerangKota-CSIRT Detection Rule License 1.0](LICENSE)
自动化脚本:MIT License
## 联系方式
**Diskominfo Kabupaten Tanah Bumbu**
邮箱:developer@tanahbumbukab.go.id
GitHub:[Diskominfo-Tanah-Bumbu](https://github.com/Diskominfo-Tanah-Bumbu)
标签:DNS信息、DNS暴力破解, DNS 反向解析, DNS 解析, inotify, IP 地址批量处理, JavaScript混淆, Linux服务器, PHP后门检测, Webshell检测, WordPress安全, YARA规则, 入侵检测系统, 在线赌博, 安全数据湖, 应用安全, 恶意代码分析, 操作系统监控, 政府网站安全, 服务器加固, 网站安全, 网络安全, 配置文件, 隐私保护, 黑帽SEO