首页 > Linux操作系统 > Linux操作系统 > webshell应急排查方案
一、全面扫描,隔离webshell,但需先判断webshell文件的代码内容,以免误删业务文件。
二、手动全面查找 .jsp .asp等webshell,以及异常的进程端口情况,Linux下查找方法如下:
必须先判断webshell文件的代码内容,以免误删业务文件!
查找命令:
php 文件
find 网站目录/* -type f -name "*.php" |xargs grep "eval"
find 网站目录/* -type f -name "*.php” |xargs grep "base64_decode"
find 网站目录/* -type f -name "*.php" |xargs grep "@$"
jsp 文件
find 网站目录/* -type f -name "*.jsp" |xargs grep "getRuntime"
find 网站目录/* -type f -name "*.jsp" |xargs grep "exec"
find 网站目录/* -type f -name "*.jsp" |xargs grep "AES"
jspx 文件
find 网站目录/* -type f -name "*.jspx" |xargs grep "getRuntime"
find 网站目录/* -type f -name "*.jspx" |xargs grep "exec"
find 网站目录/* -type f -name "*.jspx" |xargs grep "AES"
查找异常端口进程情况:
Linux :netstat -anltp|grep bash,
tcp 0 0 192.168.230.130:45530 远程IP:端口 ESTABLISHED 2133/bash
bash 程序通常用于本地交互,现在与远程地址建立连接,十分可疑。
Windows :
netstat -ano 查看目前的网络连接 ,定位可疑的 ESTABLISHED ,根据 netstat 定位出的 pid,再通过 tasklist 命令进行进程定位 tasklist | findstr “PID”
三、分析应用日志、中间件日志、系统操作
得到应用日志与中间件日志,查找异常的文件上传,文件写入操作。
系统操作方面:
Linux :
查看历史操作命令,history
查看计划任务,cat /etc/crontab
查看登录行为
lastb # 登录失败日志或者是/var/log/faillog
who /var/log/wtmp # 登录日志 另外可以 last -f /var/run/utmp
cat /var/log/lastlog # 最后的登录日志
cat /var/log/cron # 计划任务日志
grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -nr | more # 查看root账户登录尝试
grep "Accepted" /var/log/auth.log | awk '{print $11}' | sort |uniq -c | sort -nr | more # 查看登录成功日志信息
查看异常账户:cat /etc/passwd
Windows :
异常启动项:单击开始菜单 >【运行】,输入 msconfig,查看是否存在命名异常的 启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。
计划任务:单击【开始】>【设置】>【控制面板】>【任务计划】,查看计划任务属 性,便可以发现木马文件的路径。
服务: a、查看用户目录,新建账号会在这个目录生成一个用户目录,查看是否有新建用户目录。 Window 2003 C:\Documents and Settings Window 2008R2 C:\Users\ b、在服务器各个目录,可根据文件夹内文件列表时间进行排序,查找可疑文件
四、查看系统版本、应用、组件版本信息
查看应用系统所涉及的中间件、组件版本是否为安全版本,是否存在已知公开漏洞,是否存在控制台外网暴露,且使用弱密码情况。
五、使用流量设备定位webshell
菜刀连接流量特征:
JSP 类WebShell链接流量:该流量是WebShell链接流量的第一段链接流量,其中特征主 要在i=A&z0=GB2312,菜刀链接JSP木马时,第一个参数定义操作,其中参数值为A-Q, 如i=A,第二个参数指定编码,其参数值为编码,如z0=GB2312,有时候z0后面还会接着 又z1=参数用来加入攻击载荷。注:其中参数名i、z0、z1这种参数名是会变的,但是其 参数值以及这种形式是不会变得,最主要就是第一个参数值在A-Q,这种是不变的。
ASP 类webshell流量特征:
第一:“Execute”,Execute函数 用于执行传递的攻击payload,这是 必不可少的,这个等同于php类中 eval函数;
第二:OnError ResumeNext,这 部分是大部分ASP客户端中必有的流量,能保证不管前面出任何错,继续执行以下代码。
第三:Response.Write和 Response.End是必有的,是来完善整个操作的。
菜刀的流量发送数据包都明显的包含caidao=……字段(PHP与ASP特征大致相同)。
蚁剑连接流量特征:
_0x 开头的参数名,后面为加密数据的数据包可识别为蚁剑的流量特征。
流量中含有:@ini_set(“display_errors”,”0″);字段。
冰蝎连接流量特征:
1 、返回包中含有一段看不懂的密文,不是很长,一般就几十位:
2、发送流量为一大串看不懂的密文,很长

3、返回包中乱码

4、connection字段为keep-alive
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69994536/viewspace-2765422/ ,如需转载,请注明出处,否则将追究法律责任。