RaulMH12/Sweet-project

GitHub: RaulMH12/Sweet-project

一款将 WordPress 站点转化为蜜罐平台的插件,用于实时记录和分析恶意流量并提供可视化仪表盘。

Stars: 1 | Forks: 0

# Sweet Honeypot 一款 WordPress 插件,用于将 HTTP 流量记录到专用的数据库中,并在 WordPress 管理后台提供用于分析的仪表盘。 ## 环境要求 - WordPress 6.0 或更高版本 - PHP 7.4 或更高版本 - MySQL 5.7+ 或 MariaDB 10.3+ - 用于蜜罐的独立 MySQL/MariaDB 数据库 - 查看仪表盘所需的管理员权限 ## 安装 ### 1. 复制插件 将 `sweet-honeypot` 文件夹放置于: ``` wp-content/plugins/sweet-honeypot/ ``` 你也可以将其打包为 ZIP,并通过 **插件 → 安装插件 → 上传插件** 进行安装。 ### 2. 创建数据库 MySQL 中的示例: ``` CREATE DATABASE hp_honeypot CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'registro_hp'@'localhost' IDENTIFIED BY 'strong_password'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, REFERENCES ON hp_honeypot.* TO 'registro_hp'@'localhost'; FLUSH PRIVILEGES; ``` ### 3. 配置 `wp-config.php` 在 `/* That's all, stop editing! */` 这一行**之前**添加这些常量: ``` define( 'HP_DB_NAME', 'hp_honeypot' ); define( 'HP_DB_USER', 'registro_hp' ); define( 'HP_DB_PASS', 'strong_password' ); define( 'HP_DB_HOST', 'localhost' ); /** Optional: AbuseIPDB reporting */ define( 'HP_ABUSEIPDB_API_KEY', 'your_api_key' ); ``` ### 4. 启用插件 ``` wp plugin activate sweet-honeypot ``` 或者在 WordPress 管理仪表盘的 **插件** 中启用它。 ### 5. 配置 URL 重写 为了让 `/amazing_url` 这样不存在的路由也能被记录,WordPress 必须处理这些请求。请确保你具备以下条件: - 在 **设置 → 固定链接** 中启用了固定链接 - Apache/Nginx 中的 `mod_rewrite` 规则或等效配置 WordPress 根目录下的最简 `.htaccess` 示例: ``` # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress ``` ### 6. 更新站点 URL 如果你在安装 WordPress 时使用的是 `http://localhost`,但需要通过 IP 或域名从外部访问,请更新: ``` wp option update home 'http://YOUR-IP-OR-DOMAIN' wp option update siteurl 'http://YOUR-IP-OR-DOMAIN' ``` ## 使用方法 ### 管理仪表盘 启用插件后,你会在管理侧边栏中看到 **Honeypot** 菜单: ``` /wp-admin/admin.php?page=hp-admin-dashboard ``` 仪表盘会显示: - 请求次数最多的前 5 个路由 - POST 参数中检测到次数最多的前 5 个密码 - 请求次数最多的前 5 个 IP - 最近的 10 个路由 - HTTP 方法分布 只有具有 `manage_options` 权限的用户才能访问它。 ### 记录的内容 对于 WordPress 处理的每个请求,插件都会保存: | 数据 | 表 | |------|-------| | 主要事件(IP、方法、URI、body 等) | `hp_events` | | 过滤后的 HTTP headers | `hp_event_headers` | | GET/POST/COOKIE 参数 | `hp_event_params` | | 上传文件的元数据 | `hp_event_files` | | 选定的 server 变量 | `hp_event_server` | 这些表会在第一次有效请求时自动创建。 ### AbuseIPDB(可选) 如果你定义了 `HP_ABUSEIPDB_API_KEY`,插件可以异步将针对 `xmlrpc.php` 的 `POST` 请求上报给 AbuseIPDB。 - 仅当该常量有值时才会发送报告 - 每个 IP 的本地速率限制为 15 分钟 - 不会阻塞对访问者的响应 ### 实用的 SQL 查询 ``` SELECT id, ts, INET6_NTOA(client_ip) AS ip, method, request_uri FROM hp_events ORDER BY id DESC LIMIT 20; ``` ``` SELECT request_uri, COUNT(*) AS total FROM hp_events GROUP BY request_uri ORDER BY total DESC; ``` ## 项目结构 ``` sweet-honeypot/ ├── sweet-honeypot.php ├── uninstall.php ├── readme.txt ├── README.md ├── LICENSE ├── includes/ │ ├── hp-abuseipdb.php │ └── hp-admin-dashboard.php ├── assets/ ├── css/hp-dashboard.css └── js/ ├── chart.umd.min.js └── hp-dashboard.js ``` ## 卸载 卸载插件时: - 内部的 AbuseIPDB transients 将被移除 - 外部的 `hp_honeypot` 数据库**不会**被删除 如果你想删除数据: ``` DROP DATABASE hp_honeypot; ``` ## 安全与隐私 此插件会存储技术性流量数据,包括 IP、路由、headers、cookies 和请求 body。仅在你被授权监控此类流量时才使用它,并始终注意保护好对仪表盘和数据库的访问权限。 ## 许可证 GPL-2.0-or-later。详见 `LICENSE`。
标签:ffuf, OpenVAS, PHP, Web安全, WordPress插件, 威胁情报, 开发者工具, 数据可视化, 文件完整性监控, 流量监测, 蓝队分析, 蜜罐, 证书利用