TRojen610/cPanel-WordPress-Malware-Cleanup-Toolkit

GitHub: TRojen610/cPanel-WordPress-Malware-Cleanup-Toolkit

一套针对cPanel/WHM服务器上WordPress站点hacklink恶意软件的检测、清理和后门隔离Bash脚本工具包。

Stars: 0 | Forks: 0

# cPanel WordPress 恶意软件清理工具包 ## Türkçe 本仓库包含一套 Bash 脚本,用于检测和清理 cPanel/WHM 服务器上多个 WordPress 站点中感染的 hacklink、SEO spam、后门及可疑 PHP 文件。 这些脚本专为以下类型的感染而设计: - `hacklinkmarket` - `wp_core_check` - `t.me/hacklink_panel` - 注入到 WordPress 主题 `functions.php` 中的 hacklink loader 代码 - 释放到 `wp-content/uploads` 中的 PHP 后门文件 - `.trash` 中残留的受感染主题 - 可疑的 cron job 记录 - 可疑的 `.htaccess` 条目 ## 文件说明 ### 1. `cpanel-malware-scan.sh` 此脚本仅执行扫描。它不会删除或修改任何文件。 功能说明: - 扫描 `/home` 目录下的可疑字符串 - 报告 `hacklink`、`wp_core_check`、`base64_decode`、`eval(` 等特征 - 列出 `wp-content/uploads` 目录下的 PHP 文件 - 列出最近 14 天内被修改过的 PHP 文件 - 检查 cPanel 用户的 cron job - 报告 `.htaccess` 中的可疑重定向和 PHP 设置 运行方式: ``` chmod +x cpanel-malware-scan.sh sudo ./cpanel-malware-scan.sh ``` 报告输出: ``` /root/cpanel-malware-scan-YYYY-MM-DD-HHMMSS.txt ``` 查看报告: ``` less /root/cpanel-malware-scan-*.txt ``` 实时跟踪: ``` tail -f /root/cpanel-malware-scan-*.txt ``` 注意:此脚本会针对每个特征分别扫描 `/home` 目录,因此在大型服务器上可能需要较长时间。 ### 2. `clean-hacklink.sh` 此脚本用于清理注入到 WordPress 主题 `functions.php` 文件中的 hacklink loader 代码。 目标文件: ``` /home/*/public_html/wp-content/themes/*/functions.php ``` 清理的代码类型: - `/* Telegram: https://t.me/hacklink_panel */` - `wp_core_check` - `panel.hacklinkmarket.com` - 包含 `X-Robots-Tag: noindex, nofollow` 的恶意 noindex/cache 块 脚本会在处理前对待清理的文件进行备份。 运行方式: ``` chmod +x clean-hacklink.sh sudo ./clean-hacklink.sh ``` 备份目录示例: ``` /root/kalkhan-clean-backup-YYYY-MM-DD-HHMMSS ``` 日志文件示例: ``` /root/kalkhan-clean-log-YYYY-MM-DD-HHMMSS.txt ``` 清理后检查: ``` grep -RIn --include="functions.php" "hacklinkmarket\|wp_core_check\|hacklink_panel\|X-Robots-Tag: noindex" /home 2>/dev/null ``` 如果仅在 `wp-includes/functions.php` 中出现正常的 WordPress `X-Robots-Tag: noindex` 行,这通常是无害的。 ### 3. `backdoor-killer.sh` 此脚本不会删除可疑文件,而是将其移动到隔离区。 功能说明: - 备份并删除受感染的 `.trash` 目录 - 将 `wp-content/uploads` 下的 PHP 文件移动到隔离区 - 将已知的 hacklink loader 文件移动到隔离区 - 搜索已知的 webshell 特征 - 报告 `.htaccess` 文件中的可疑条目 - 检查 cPanel cron job - 执行最终验证扫描 运行方式: ``` chmod +x backdoor-killer.sh sudo ./backdoor-killer.sh ``` 隔离目录示例: ``` /root/backdoor-quarantine-YYYY-MM-DD-HHMMSS ``` 日志文件示例: ``` /root/backdoor-killer-YYYY-MM-DD-HHMMSS.log ``` 被隔离的文件会在其原始位置重命名,如下所示: ``` filename.php.killed-YYYY-MM-DD-HHMMSS ``` 最终检查: ``` grep -RIn --include="*.php" "hacklinkmarket\|wp_core_check\|hacklink_panel" /home 2>/dev/null | grep -v "^/home/virtfs/" ``` 如果输出为空,则说明现存的文件中已没有已知的 hacklink loader。 ## 建议的执行顺序 1. 首先执行全面扫描: ``` sudo ./cpanel-malware-scan.sh ``` 2. 清理主题内的 hacklink loader: ``` sudo ./clean-hacklink.sh ``` 3. 隔离 backdoor 和 uploads 目录下的 PHP 文件: ``` sudo ./backdoor-killer.sh ``` 4. 执行最终检查: ``` grep -RIn --include="*.php" "hacklinkmarket\|wp_core_check\|hacklink_panel" /home 2>/dev/null | grep -v "^/home/virtfs/" ``` 5. 清理 WordPress 缓存: ``` find /home -type d -path "*/wp-content/cache" -exec rm -rf {} \; 2>/dev/null ``` ## 清理后的安全检查清单 清理完成后务必: - 更改 WHM/root 密码 - 更改所有 cPanel 用户密码 - 更改 FTP/SFTP 密码 - 更改 WordPress 管理员密码 - 更改数据库密码 - 重新安装所有 WordPress 核心文件 - 更新主题和插件 - 删除未使用的插件和主题 - 禁止在 `wp-content/uploads` 中执行 PHP - 手动检查 cron job - 在 `wp-config.php` 中添加以下内容以禁用文件编辑: ``` define('DISALLOW_FILE_EDIT', true); ``` 为了禁止在 uploads 目录中执行 PHP,请在 `wp-content/uploads/.htaccess` 中添加: ``` Require all denied ``` 对于旧版 Apache: ``` deny from all ``` ## 重要注意事项 - `/home/virtfs` 的结果通常是 jailed shell 的 bind mount 副本。因此,在脚本中通常会被排除。 - 仅出现 `base64_decode` 并不总是恶意的。 - 诸如 `eval(base64_decode(...))`、`gzinflate(base64_decode(...))`、`str_rot13(...)` 等组合属于高风险。 - 在 `wp-content/uploads` 中发现 PHP 文件通常极其可疑。 - 这些脚本并非保证彻底清理的工具;在事件响应后仍建议进行手动检查。 ## English 本仓库包含了一套 Bash 脚本,用于在 cPanel/WHM 服务器上检测和清理 hacklink、SEO spam、PHP 后门以及可疑的 WordPress 感染。 这些脚本专为涉及以下内容的感染而设计: - `hacklinkmarket` - `wp_core_check` - `t.me/hacklink_panel` - 注入到 WordPress 主题 `functions.php` 文件中的 hacklink loader 代码 - 释放到 `wp-content/uploads` 中的 PHP 后门 - 受感染的 `.trash` 目录 - 可疑的 cron job - 可疑的 `.htaccess` 条目 ## 文件说明 ### 1. `cpanel-malware-scan.sh` 此脚本仅执行扫描和报告。它不会删除或修改任何文件。 它检查的内容包括: - `/home` 下的可疑字符串 - 诸如 `hacklink`、`wp_core_check`、`base64_decode`、`eval(` 之类的特征 - `wp-content/uploads` 中的 PHP 文件 - 最近 14 天内修改过的 PHP 文件 - cPanel 用户的 cron job - 可疑的 `.htaccess` 重定向和 PHP 指令 运行方式: ``` chmod +x cpanel-malware-scan.sh sudo ./cpanel-malware-scan.sh ``` 报告输出: ``` /root/cpanel-malware-scan-YYYY-MM-DD-HHMMSS.txt ``` 查看报告: ``` less /root/cpanel-malware-scan-*.txt ``` 跟踪实时输出: ``` tail -f /root/cpanel-malware-scan-*.txt ``` 注意:此脚本会针对每个特征分别扫描 `/home` 目录,因此在大型服务器上可能会耗费较长时间。 ### 2. `clean-hacklink.sh` 此脚本用于移除注入到 WordPress 主题 `functions.php` 文件中的 hacklink loader 代码。 目标文件: ``` /home/*/public_html/wp-content/themes/*/functions.php ``` 它移除包含以下内容的代码: - `/* Telegram: https://t.me/hacklink_panel */` - `wp_core_check` - `panel.hacklinkmarket.com` - 包含 `X-Robots-Tag: noindex, nofollow` 的恶意 noindex/cache 块 此脚本会在修改文件前创建备份。 运行方式: ``` chmod +x clean-hacklink.sh sudo ./clean-hacklink.sh ``` 备份目录示例: ``` /root/kalkhan-clean-backup-YYYY-MM-DD-HHMMSS ``` 日志文件示例: ``` /root/kalkhan-clean-log-YYYY-MM-DD-HHMMSS.txt ``` 清理后验证: ``` grep -RIn --include="functions.php" "hacklinkmarket\|wp_core_check\|hacklink_panel\|X-Robots-Tag: noindex" /home 2>/dev/null ``` 如果仅存的 `X-Robots-Tag: noindex` 条目位于 `wp-includes/functions.php` 中,这通常是正常的 WordPress 核心代码。 ### 3. `backdoor-killer.sh` 此脚本将可疑文件隔离,而不是永久删除它们。 它执行以下操作: - 备份并移除受感染的 `.trash` 目录 - 隔离 `wp-content/uploads` 中的 PHP 文件 - 隔离已知的 hacklink loader 文件 - 搜索已知的 webshell 签名 - 报告可疑的 `.htaccess` 条目 - 检查 cron job - 执行最终验证扫描 运行方式: ``` chmod +x backdoor-killer.sh sudo ./backdoor-killer.sh ``` 隔离目录示例: ``` /root/backdoor-quarantine-YYYY-MM-DD-HHMMSS ``` 日志文件示例: ``` /root/backdoor-killer-YYYY-MM-DD-HHMMSS.log ``` 被隔离的文件会在其原始位置被重命名,如下所示: ``` filename.php.killed-YYYY-MM-DD-HHMMSS ``` 最终验证: ``` grep -RIn --include="*.php" "hacklinkmarket\|wp_core_check\|hacklink_panel" /home 2>/dev/null | grep -v "^/home/virtfs/" ``` 如果输出为空,则说明扫描的文件中没有已知存活的 hacklink loader。 ## 建议的工作流程 1. 运行全面扫描: ``` sudo ./cpanel-malware-scan.sh ``` 2. 清理注入的主题 loader 代码: ``` sudo ./clean-hacklink.sh ``` 3. 隔离 uploads 目录的 PHP 文件和已知后门: ``` sudo ./backdoor-killer.sh ``` 4. 运行最终验证: ``` grep -RIn --include="*.php" "hacklinkmarket\|wp_core_check\|hacklink_panel" /home 2>/dev/null | grep -v "^/home/virtfs/" ``` 5. 清除 WordPress 缓存: ``` find /home -type d -path "*/wp-content/cache" -exec rm -rf {} \; 2>/dev/null ``` ## 清理后的安全检查清单 清理完成后,您应该: - 更改 WHM/root 密码 - 更改所有 cPanel 用户密码 - 更改 FTP/SFTP 密码 - 更改 WordPress 管理员密码 - 更改数据库密码 - 重新安装 WordPress 核心文件 - 更新所有主题和插件 - 移除未使用的主题和插件 - 禁用 `wp-content/uploads` 中的 PHP 执行 - 手动检查 cron job - 将此内容添加到 `wp-config.php` 以禁用文件编辑: ``` define('DISALLOW_FILE_EDIT', true); ``` 要阻止 uploads 目录中的 PHP 执行,请将此内容添加到 `wp-content/uploads/.htaccess` 中: ``` Require all denied ``` 对于较旧的 Apache 版本: ``` deny from all ``` ## 重要注意事项 - `/home/virtfs` 的结果通常是 jailed shell bind mount 的副本,因此脚本通常会排除它们。 - 单独的 `base64_decode` 并不总是恶意的。 - 诸如 `eval(base64_decode(...))`、`gzinflate(base64_decode(...))` 和 `str_rot13(...)` 之类的组合属于高风险。 - `wp-content/uploads` 中的 PHP 文件通常是可疑的。 - 这些脚本并非有保证的事件响应解决方案。清理后仍建议进行手动检查。 ## 许可证 使用需自担风险。在生产系统上运行前,请先检查这些脚本。
标签:cPanel, cronjob检查, DNS 反向解析, DNS 解析, functions.php清理, .htaccess修复, Linux服务器安全, PHP安全, SEO垃圾邮件, Webshell, WHM, WordPress, 后门移除, 应用安全, 恶意代码分析, 恶意软件清理, 文件完整性监控, 文件扫描, 系统运维, 网站安全, 网络安全, 配置文件, 隐私保护, 黑客链接