一. 概念
webshell是以asp、php、jsp等网页文件形式存在的一种命令执行环境,也称其为一种网页后门。
攻击者在入侵企业网站时,通常要通过各种方式获取webshell从而获得企业网站的控制权,然后方便进行之后的入侵行为。常见攻击方式有:直接上传获取webshell、SQL注入、远程文件包含(RFI)、FTP,甚至使用跨站点脚本(XSS)作为攻击的一部分,甚至一些比较老旧的方法利用后台数据库备份及恢复获取webshell、数据库压缩等。通用功能包括但不限于shell命令执行、代码执行、数据库枚举和文件管理。
二. Webshell分类
根据文件大小分类:大马和小马(通常指的是一句话木马,能够使用菜刀这类工具去直接连接它)
根据脚本名称分类:jsp、asp、aspx、php
三. Webshell功能
站长工具
Webshell被站长常常用于网站管理、服务器管理等,根据FSO权限的不同,作用有在线编辑网页脚本、上传下载文件、查看数据库、执行任意程序命令等。
持续远程访问
入侵者可以利用从而达到长期控制网站服务器的目的,若攻击者自行修复了漏洞,以确保没有其他人会利用该漏洞,攻击者可以低调的随时控制服务器。一些流行的webshell使用密码验证和其他技术来确保只有上传webshell的攻击者才能访问它。(webshell密码爆破工具表示不服)
权限提升
在服务器没有配置错误的情况下,webshell将在web服务器的用户权限下运行,该用户权限是有限的。通过使用webshell,攻击者可以尝试通过利用系统上的本地漏洞来执行权限提升,常见的有查找敏感配置文件、通过内核漏洞提权、利用低权限用户目录下可被Root权限用户调用的脚本提权、任务计划等(从入门到放弃)
极强的隐蔽性
有些恶意网页脚本可以嵌套在正常网页中运行,且不容易被查杀。webshell还可以穿越服务器防火墙,由于与被控制的服务器或远程主机交互的数据都是通过80端口传递,因此不会被防火墙拦截,在没有记录流量的情况下,webshell使用post包发送,也不会被记录在系统日志中,只会在web日志中记录一些数据提交的记录。