服务器被注入木马,删除被上传的文件之外再怎么找到注入点?

linux服务器开着软件waf还是被上传了一些木马,最近阿里云一直给我发短信和邮件提醒服务器检测到待处理的恶意文件:/tem/phpJLNrt 类似这种随机文件名的文件。这些文件虽然删除了,但还是有些疑惑,这些文件是怎么被上传到服务器的,如果没有找到上传的路径并进行修复,则没有办法去堵住漏洞,被二次上传文件只是早晚的事情。

我自己的一个思路是从这个文件的创建开始追踪,文件的创建程序是什么程序,可以追踪到是哪个程序进行的文件创建,然后通过程序的运行日志尝试找到这个文件创建的源头。但具体实操还是不会,那么我们问问 chatgpt 让他给出一些实际的操作流程。

处理恶意文件和防止未来的攻击是一个复杂且重要的任务。下面是一个详细的步骤指南,帮助你排查恶意文件的上传路径,并查找和修补服务器和网站的漏洞。

问题:

我的linux 服务器检测到存在待处理的恶意文件:/tmp/phpJLNrT 如何排查这种恶意文件是通过什么路径上传到服务器的,如何查找对应的服务器和网站漏洞并进行修补。

以下是chatgpt提供的mkdown文件:

1. 分析恶意文件

  1. 隔离文件:将恶意文件移动到一个隔离目录(如 /tmp/isolated),以防止进一步的损害。

mkdir /tmp/isolated mv /tmp/phpJLNrT /tmp/isolated/
  1. 检查文件内容:查看恶意文件的内容,寻找任何可能的线索,如特定的字符串、IP地址、域名等。

cat /tmp/isolated/phpJLNrT
  1. 文件权限:检查文件的权限和所有者,了解文件是由哪个用户创建的。

ls -l /tmp/isolated/phpJLNrT

2. 检查系统日志

  1. 检查web服务器日志:查看web服务器(如Apache或Nginx)的访问日志和错误日志,查找文件创建时的可疑请求。

# Apache cat /var/log/apache2/access.log | grep "phpJLNrT" cat /var/log/apache2/error.log | grep "phpJLNrT" # Nginx cat /var/log/nginx/access.log | grep "phpJLNrT" cat /var/log/nginx/error.log | grep "phpJLNrT"
  1. 检查系统日志:查看系统日志,如 /var/log/syslog/var/log/messages,查找相关的活动记录。

cat /var/log/syslog | grep "phpJLNrT" cat /var/log/messages | grep "phpJLNrT"

3. 查找和修补漏洞

  1. 检查已安装的Web应用程序和插件:确定服务器上运行的Web应用程序(如WordPress、Joomla等)及其插件,确保它们是最新版本。
  • 登录应用后台检查更新。
  • 定期更新应用程序和插件。

  1. 审查代码和配置
  • 代码审计:审查应用程序代码,确保没有文件上传漏洞、SQL注入、XSS等漏洞。

  • 配置审查:检查Web服务器配置,确保没有不必要的文件上传和执行权限。


# Apache example <Directory /var/www/html/uploads> Options -Indexes AllowOverride None Require all denied </Directory>
  1. 权限管理:确保文件系统权限最小化,只有必要的用户和进程才有权限访问和修改文件。

# Example for setting correct permissions chown -R www-data:www-data /var/www/html find /var/www/html -type d -exec chmod 755 {} \; find /var/www/html -type f -exec chmod 644 {} \;
  1. 使用防火墙和安全工具
  • 配置防火墙(如UFW, iptables),限制不必要的访问。

  • 使用安全工具如fail2ban来阻止恶意IP。

  • 使用Web应用防火墙(WAF),如ModSecurity。

  1. 监控和审计:设置监控系统,实时监控服务器和应用程序的异常活动,并定期审计日志。
  • 使用工具如OSSECSnortSuricata等进行入侵检测。

  • 配置日志收集和分析工具如ELK Stack(Elasticsearch, Logstash, Kibana)。

4. 预防未来攻击

  1. 定期备份:定期备份网站和数据库,以便在发生攻击时能快速恢复。

  2. 安全培训:对开发和运维团队进行安全培训,提升安全意识和技能。

  3. 实施多因素认证(MFA):对重要的系统和应用实施MFA,增强账号安全性。

通过上述步骤,你可以更好地了解恶意文件的来源和途径,并采取有效措施修补漏洞和加强服务器的安全性。

找到tmp下的文件删除了一些:

里面有些是脚本文件:

文件内容:

另一个带脚本的文件

一个看不懂的文件:

看了下这些上传的木马看来是绕过了宝塔的waf,拦截没有生效。