长亭百川云 - 文章详情

webshell应急响应

信安路漫漫

116

2024-08-01

前言

webshell在应急中占了很大的比例,本篇文章就来看看当遇到webshell时如何进行应急响应。

Webshell通常指以JSP、ASP、PHP等网页脚本文件形式存在的一种服务器可执行文件,一般带有文件操作、命令执行功能,是一种网页后门。攻击者在入侵一个网站后,通常会将Webshell后门文件与网站服务器Web目录下正常的网页文件混在一起,使用浏览器或专用客户端进行连接,从而得到一个服务器操作环境,以达到控制网站服务器的目的。

造成webshell的原因

1)系统中存在任意文件上传

2)反序列化漏洞

3)命令执行

4)SQL注入

等等

webshell告警方式

1)HIDS(主要)

2)日志异常告警

3)流量检测设备

常规处置方式

在我们发现webshell的告警时,可以按照下面的步骤进行处理。

1)确认告警内容

根据告警内容,判断本次告警是否误报以及其影响范围。

判断的依据主要就是文件的内容。

2)确认入侵时间以及上传文件内容

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

拿到上传的文件名,后续可根据该文件名查找攻击者的访问记录。

3)web日志分析

对访问网站的Web日志进行分析,重点关注已知的入侵时间前后的日志记录,从而寻找攻击者的攻击路径,以及所利用的漏洞。

根据文件名查找访问记录以及可疑的IP,在根据IP去查找其它的访问记录。

4)找到漏洞点

通过日志中发现的问题,针对攻击者活动路径,可排查网站中存在的漏洞,并进行分析。

5)漏洞复现

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

6)漏洞修复

清除已发现的Webshell文件,并修复漏洞。为避免再次受到攻击,网站管理员应定期对网站服务器进行全面的安全检查,及时安装相关版本补丁,修复已存在的漏洞等。

常用webshell扫描工具

D盾

下载方式:https://www.d99net.net/

D盾是目前流行的Web查杀工具,使用方便,包含如下功能:

(1)Webshell查杀、可疑文件隔离;

(2)端口进程查看、base64解码,以及克隆用户检测等;

(3)文件监控。

河马Webshell查杀

河马Webshell查杀拥有海量Webshell样本和自主查杀技术,采用传统特征+云端大数据双引擎的查杀技术,支持多种操作系统。

火绒安全软件--木马病毒查杀工具

下载地址:https://www.huorong.cn/

webshell应急常用命令

查找相关的文件

find ./ -name "*.php"|xargs grep "move_upload_file"    查找PHP中具有上传的文件
find /var/www/ -name "*.php" |xargs egrep 'assert|phpspy|eval'   查找具有命令执行的php文件
find /var/www -ctime 0  查找web目录下当天创建的所有文件

从日志中进行分析

一般可以从web访问日志中找到入侵的蛛丝马迹

查询某个IP访问了那些页面:grep ^111.111.111.111 log_file| awk '{print $1,$7}'
查询访问某个页面的IP:grep "878134c1.php" access_log | awk '{print $1}'|sort -n |uniq
查看当天有多少个IP访问:awk '{print $1}' access_log |sort|uniq -c|wc -l
查看某一个页面别访问的次数:grep "/index.php" log_file | wc -l
列出当天访问次数最多的IP:cut -d- -f 1 log_file|uniq -c | sort -rn | head -20
将某个IP访问的页面数进行从小到大排序:awk '{++S[$1]} END {for (a in S) print S[a],a}' access_log | sort -n

一次应急操作指南

在应急响应时,首先应判断系统是否存在植入Webshell的可能。根据事件发生的时间进行排查,对攻击路径进行溯源分析。如果网站被植入暗链或出现单击链接跳转到其他网站(如博彩网站、色情网站等)的情况,应首先排查网站首页相关js,查看是否被植入了恶意跳转的js。若网站首页被篡改或有其他被攻击的现象,则应根据网站程序信息,如程序目录、文件上传目录、war包部署目录,使用工具(如D盾)和搜索关键词(如eval、base64_decode、assert)方式,定位到Webshell文件并清除。然后根据日志进行溯源分析,同时除了进行Web应用层排查,还应对系统层进行全面排查,防止攻击者在获取Webshell后执行了其他的权限维持操作。可以从以下几个方向进行初步排查,分别包括Webshell排查、Web日志分析、系统排查、日志排查、网络流量排查。最后进行清除加固。

1)预判告警真实性

收到HIDS的告警,机器上存在webshell文件,应急人员应首先判断告警的真实性

打开该文件发现存在eval函数并执行了命令,判断是真实的后门告警

2)获取相关信息

从该告警中可以获取到的信息:

1)时间:2024-07-26 02:21:34

2)后门文件所在位置:/xxxxx/xx.php

3)web日志排查

接下来需要对web日志进行排查,以查找攻击路径及失陷愿意原因。

常见日志文件路径如下

首先根据文件名称进行查找相关的访问记录

find . *.log|xargs grep xx.php

在根据查找的IP排查相关的访问记录,看是否能找到相应的入侵点。

可以根据发现Webshell的时间、系统异常的时间或Webshell查杀工具定位到木马的时间对相关时间段日志进行分析。

最终发现了漏洞点,为系统内存在上传漏洞

4)系统排查

攻击者上传Webshell后,往往还会执行进一步的操作,如提权、添加用户、写入系统后门等,实现持久化驻留。因此,还需要对系统进行排查,主要排查内容如下。

(1)用户信息排查使用【cat/etc/passwd】命令,可查看系统用户信息,与管理员确认是否存在未知新增用户。发现未知admin用户,具备root权限,因此需要进行重点排查。

排查中需要关注UID为0的用户,因为在一般情况下只有root用户的UID为0,其他用户的UID如果设置为0,即拥有root权限,需要重点排查。但需要注意的是,UID为0的用户也不一定都是可疑用户,如Freebsd默认存在toor用户,且UID为0,toor 在BSD官网的解释为root替代用户,属于可信的。

(2)进程、服务、网络连接排查

(1)在Linux系统中,可以使用【ps aux】命令查看系统进程

还有一些其它的排查项,如定时任务,启动项,加载的模块等等,这里就不一一列举了。

webshell应急案例

https://blog.csdn.net/qq\_50765147/article/details/136614996

https://blog.csdn.net/m0\_60571842/article/details/137352323

https://developer.aliyun.com/article/1488770

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2