什么是Webshell?
攻击者在入侵企业网站时,通常要通过各种方式获取webshell从而获得企业网站的控制权,然后方便进行之后的入侵行为。常见攻击方式有:直接上传获取webshell、SQL注入、远程文件包含(RFI)、FTP,甚至使用跨站点脚本(XSS)作为攻击的一部分,甚至一些比较老旧的方法利用后台数据库备份及恢复获取webshell、数据库压缩等。通用功能包括但不限于shell命令执行、代码执行、数据库枚举和文件管理。
Webshell分类
Webshell从协议上来看,最开始基于 TCP、UDP 的 Shell,到后来基于ICMP 的 Shell和基于DNS 的shell 。从依托工具上看,有 nc 反弹、telnet 反弹、SSH 端口转发等手段,极度猥琐的甚至还有利用 awk 的反弹 Shell。从语言上看,各种流行的语言都能用来写后门,从bash 到 3P(Perl Python PHP)再到 Ruby 和 Java。
目前,随着企业安全意识的提高,云安全防护产品的普及,仅通过传统 Webshell 木马已经很难达到预期效果。于是当攻击者发起 Webshell 入侵时,逐渐由使用传统 Webshell 木马转向使用动态二进制加密流技术,试图达到逃避检测的目的。
对比传统的菜刀一句话木马以及浏览器可直连的木马,可以发现其内容组成有着明显的变形。
对内容进行还原后,可见该攻击者在木马中引入 AES 加密算法:
随着动态二进制加密技术的普及,需要通过解析攻击 payload 的组成,并针对性的更新防御规则以加强防护。传统防御思路已经失效,为保证防护效果,提高防御精度,并保证实时检测阻断,需要持续升级对抗策略,结合访问行为特征分析,并运用AI模型对流量进行实时监测与分析,最终达到保障业务安全运营的目标。