宝塔Nginx配置注入导致网站隐蔽跳转灰产网站

几天的时间终于弄好了,如果有和我一样的问题,这个文章可能会帮助你。

首看先自己的程序,没有包含恶意代码。最后才怀疑可能是服务器中木马等原因。因为宝塔网上有Nginx注入问题,所以在网上找了相关的文章,发现我的VPS中有网上说的类似文件

【登录】后查看图片

【登录】后查看图片

立即深入检查

# 1. 检查/tmp/site_total.sock是否存在
ls -la /tmp/site_total.sock 2>/dev/null

# 2. 检查谁在监听这个socket
lsof /tmp/site_total.sock 2>/dev/null

# 3. 检查site_total相关进程
ps aux | grep -i site_total
ps aux | grep -i "3000\|259200000"

# 4. 检查Lua模块
nginx -V 2>&1 | grep -i lua
find /www/server/nginx -name "*.lua" -type f

# 5. 查看系统服务
systemctl list-units | grep -i site
netstat -tunlp | grep -i 3000

最后检查了服务进程确认了!问题的根源!

恶意服务:site_total.service

从检查结果看:

  1. 有一个恶意进程在运行:/www/server/site_total/site_total (PID: 817)

  2. 这是一个系统服务:site_total.service

  3. 在监听socket:/tmp/site_total.sock

  4. 整合了Lua模块:Nginx编译时包含了Lua模块

这是一个完整的恶意程序链

恶意程序工作原理:

  1. Nginx配置通过access_log syslog:server=unix:/tmp/site_total.sock将访问日志发送给恶意程序

  2. 恶意程序分析访问日志,判断是否首次访问

  3. 通过某种方式(可能是修改响应或触发其他机制)实现跳转

  4. 设置长期Cookie避免重复触发

 立即清除步骤

一、立即停止并删除恶意服务

恶意程序工作原理:

  1. Nginx配置通过access_log syslog:server=unix:/tmp/site_total.sock将访问日志发送给恶意程序

  2. 恶意程序分析访问日志,判断是否首次访问

  3. 通过某种方式(可能是修改响应或触发其他机制)实现跳转

  4. 设置长期Cookie避免重复触发

立即清除步骤

一、立即停止并删除恶意服务

# 1. 停止恶意服务
systemctl stop site_total.service

# 2. 禁用开机启动
systemctl disable site_total.service

# 3. 删除服务文件
rm -f /etc/systemd/system/site_total.service
rm -f /usr/lib/systemd/system/site_total.service

# 4. 重新加载systemd
systemctl daemon-reload

# 5. 检查是否已停止
systemctl status site_total.service
ps aux | grep site_total | grep -v grep

二、清理恶意文件和进程

# 1. 结束恶意进程
pkill -f site_total
kill -9 817 2>/dev/null

# 2. 删除恶意程序文件
rm -rf /www/server/site_total/

# 3. 删除socket文件
rm -f /tmp/site_total.sock

# 4. 删除Nginx中的恶意配置
rm -f /www/server/panel/vhost/nginx/extension/www.shee.cc/site_total.conf

# 5. 删除相关配置
find /www/server/panel/vhost -name "*site_total*" -type f -delete

三、清理Nginx配置中的引用

# 1. 从nginx.conf中删除相关map配置
sed -i '/map.*cookie_site_total_id/,/^}/d' /www/server/panel/vhost/nginx/0.site_total_map.conf
# 或直接删除文件
rm -f /www/server/panel/vhost/nginx/0.site_total_map.conf
rm -f /www/server/panel/vhost/nginx/0.site_total_log_format.conf

# 2. 从网站配置中删除相关include
sed -i '/include.*site_total/d' /www/server/panel/vhost/nginx/www.shee.cc.conf

# 3. 重启Nginx
nginx -t && nginx -s reload

— THE END —