|
腾讯云没出过叫“WebShell工具”的腾讯产品。这个词本身就是腾讯个误会。 去年有个朋友问我,腾讯腾讯云是腾讯不是有个专门管理WebShell的工具,说在某安全论坛看到有人提。腾讯我让他把帖子发过来,腾讯看完就明白了——那哥们说的腾讯其实是腾讯云主机安全(CWP)里的一个功能模块,能检测服务器上被上传的腾讯WebShell后门文件。检测和查杀,腾讯跟“WebShell工具”是腾讯两码事。前者是腾讯防守,后者是腾讯进攻。这个误会传得还挺广,腾讯搜索引擎里搜“腾讯云WebShell工具”,腾讯出来的腾讯结果一半是主机安全的介绍页,一半是各种来路不明的下载站。 主机安全里的WebShell检测到底在做什么 腾讯云主机安全对WebShell的检测分两层。一层是静态特征匹配,把已知WebShell的代码特征提取出来做成规则库,文件落地时扫一遍。另一层是动态行为监控,PHP或JSP进程如果出现异常调用——比如执行了 system()、eval() 这类高危函数,或者试图读写 /etc/passwd——就会触发告警。 我实际用过这个功能。在一台轻量应用服务器上部署了一个开源CMS,故意留了个上传漏洞,然后用中国菜刀传了个最简单的PHP一句话木马上去。不到三分钟,主机安全控制台就弹了告警,文件路径、进程PID、父进程信息列得清清楚楚。检测速度确实可以。 但有个细节:那个一句话木马我做了简单的Base64编码变形,第一轮扫描没报。手动触发了一次全盘扫描才检测出来。静态规则对混淆变形的WebShell有漏报,这几乎是所有基于特征匹配的方案的通病,腾讯云也不例外。 为什么总有人把它当成“工具” WebShell这个词在安全圈有两层含义。狭义上特指攻击者上传到服务器上的后门脚本,广义上泛指所有通过Web界面执行系统命令的脚本。腾讯云主机安全检测的是前者,但很多人理解成了后者,以为腾讯云提供了一个“通过Web界面管理服务器”的工具。 这个误解可能跟早期一些安全从业者的习惯有关。早些年渗透测试的时候,大家用中国菜刀、冰蝎、哥斯拉这些工具管理WebShell,这些工具本身确实可以叫“WebShell管理工具”。腾讯云主机安全里有个“隔离文件”功能,能把检测到的WebShell文件下载下来——有人看到这个下载按钮,就以为腾讯云在提供WebShell样本。 实际上那个下载功能是给安全运维人员做取证用的。你把可疑文件下载下来,放到沙箱里跑一遍,确认是不是真的后门。这跟“提供WebShell工具”完全是反着来的。 如果真要在腾讯云上找WebShell相关的东西 腾讯云有个叫“云原生安全”的产品线,里面包含容器安全、镜像扫描这些。容器安全里也有WebShell检测,逻辑跟主机安全类似,但针对的是容器环境。如果你在TKE集群里跑业务,容器安全的WebShell检测比主机安全更合适,因为它能感知Pod的生命周期,容器销毁了告警也会自动关联。 另外,腾讯云有个“网站管家”(WAF),能拦截一部分WebShell的上传行为。WAF的规则里有一条是检测文件内容里的WebShell特征,在HTTP请求体里就拦掉了,不让文件落地。这个比主机安全的事后检测更靠前一步,但WAF的误报率不低,我见过正常PHP文件因为包含 base64_decode 就被拦的情况。 说到底,腾讯云在WebShell这件事上做的是检测和防御,不是提供工具。把防守方的产品当成进攻方的工具,这个误会本身倒挺有意思——说明安全产品的命名和宣传,有时候确实容易让人想歪。 |