> 文章列表 > Webshell应急响应指南

Webshell应急响应指南

Webshell应急响应指南

Webshell应急响应指南

  • 1.Webshell 排查
  • 2.入侵时间确定
  • 3.Web日志分析
  • 4.漏洞分析
  • 5.漏洞复现
  • 6.清除Webshell并修复漏洞
  • 7.Webshell 防御方法

1.Webshell 排查

可利用 Webshell 扫描工具(如 D 盾,河马)对应用部署目录进行扫描,如网站D:\\WWW\\目录

或者将当前网站目录文件与此前备份文件进行比对,查看是否存在新增的不一致内容,确定是否包含 Webshell 相关信息,并确定 Webshell 位置及创建时间

也可手工搜索可能包含 Webshell 特征的文件

find ./ -type f -name "*.jsp" |xargs grep "exec(" 
find ./ -type f -name "*.php" |xargs grep "eval(" 
find ./ -type f -name "*.asp" |xargs grep "execute("
find ./ -type f -name "*.aspx" |xargs grep "eval("# 针对免杀Webshell,可以查看是否使用了编码函数
find ./ -type f -name "*.php " |xargs grep "base64_decode"

2.入侵时间确定

通过在网站目录中发现的 Webshell 文件的创建时间,判断攻击者实施攻击的时间范围,以便后续依据此时间进行溯源分析、追踪攻击者的活动路径

Webshell应急响应指南


3.Web日志分析

需要对 Web 日志进行分析,以查找攻击路径及失陷原因,常见 Web 中间件默认路径

【Windows】

  • Apache:apache\\logs\\error.log、apache\\logs\\access.log
  • IIS:C:\\inetpub\\logs\\LogFiles、C:\\WINDOWS\\system32\\LogFiles
  • Tomcat:tomcat\\access_log

【Linux】

Apache:

/etc/httpd/logs/access_log
/var/log/httpd/access_log

Nginx:

/usr/local/nginx/logs

在 Linux 日志排查时,为方便日志检索及溯源分析,列举了常用日志检索命令:

  1. 定位具体的IP 地址或文件名:
find . access_log | grep xargs ip
find . access_log | grep xargs filename
  1. 查看页面访问排名前十的IP 地址
cat access.log | cut -f1 -d " " | sort | uniq -c | sort -k 1 -r | head -10
  1. 查看页面访问排名前十的 URL 地址
cat access.log | cut -f4 -d " " | sort | uniq -c | sort -k 1 -r | head -10

4.漏洞分析

通过日志中发现的问题,针对攻击者活动路径,可排查网站中存在的漏洞, 并进行分析(主要分析什么漏洞导致的webshell攻击)


5.漏洞复现

对已发现的漏洞进行漏洞复现,从而还原攻击者的活动路径


6.清除Webshell并修复漏洞

  1. 处置时先断网,清理发现的 Webshell
  2. 如果网站被挂黑链或者被篡改首页,那么应删除篡改内容,同时务必审计源码,保证源码中不存在恶意添加的内容
  3. 在系统排查后,及时清理系统中隐藏的后门及攻击者操作的内容,存在 rootkit 类后门,则建议重装系统
  4. 对排查过程中发现的漏洞利用点进行修补,必要时可以做黑盒渗透测试,全面发现应用漏洞
  5. 待上述操作处置完成,重新恢复网站运行

7.Webshell 防御方法

  1. 配置必要的防火墙,并开启防火墙策略,防止暴露不必要的服务为攻击者提供利用条件
  2. 对服务器进行安全加固,例如,关闭远程桌面功能、定期更换密码、禁止使用最高权限用户运行程序、使用 HTTPS 加密协议等
  3. 加强权限管理,对敏感目录进行权限设置,限制上传目录的脚本执行权限,不允许配置执行权限等
  4. 安装 Webshell 检测工具,根据检测结果对已发现的可疑 Webshell 痕迹立即隔离查杀,并排查漏洞
  5. 排查程序存在的漏洞,并及时修补漏洞
  6. 时常备份数据库等重要文件防止糟糕的事情发生重装系统
  7. 需要保持日常维护,并注意服务器中是否有来历不明的可执行脚本文件
  8. 采用白名单机制上传文件,不在白名单内的一律禁止上传,上传目录权限遵循最小权限原则