webshell木马
作者:时尚 来源:休闲 浏览: 【大 中 小】 发布时间:2026-10-17 06:07:13 评论数:
某银行内网被攻破,木马安全团队翻遍服务器日志,木马最后在图片上传目录里找到一个名为“avatar.jpg”的木马文件。文件头是木马正常的JPEG签名,但中间藏着一段PHP代码。木马这就是木马webshell——攻击者留在系统里的后门,像一把插在防火墙内部的木马钥匙。
Webshell的木马本质很简单:一个能执行命令的网页脚本。攻击者把PHP、木马ASP或JSP文件上传到目标服务器,木马然后通过浏览器访问它,木马就能像操作本地终端一样控制这台机器。木马上传方式五花八门——利用文件上传漏洞、木马SQL注入写入、木马或者干脆用弱口令登录后台管理界面。木马有个案例特别讽刺:某政府网站被植入webshell,原因是管理员把后台密码设成了“admin123”,攻击者登录后光明正大地把木马文件传了上去。
检测webshell是场猫鼠游戏。静态扫描查特征码,攻击者就加密混淆代码;用语法分析识别危险函数,攻击者就拆分字符串、动态拼接函数名。我见过最狡猾的一个样本,把关键代码藏在图片的EXIF信息里,运行时才提取出来eval执行。安全设备看着它就像看一张普通风景照,毫无反应。
但webshell也有软肋——它必须留在磁盘上。无论怎么隐藏,总有个物理文件存在。这就给了防守方机会:监控文件完整性,重点盯上传目录的写入行为;限制脚本执行权限,让web目录只能读不能写。有个老派的运维师傅教过我笨办法:每周手动翻一遍上传目录,按修改时间排序,看到可疑文件就下载下来用记事本打开。他说机器扫描会漏,但人眼不会。
处理webshell要讲究时机。发现后别急着删除,先让它活着,通过它反向追踪攻击者的IP和操作记录。有次红队演练,蓝队发现webshell后立刻拔网线,结果攻击者警觉地销毁了所有痕迹,连入侵路径都没查出来。正确做法是设置陷阱,在webshell周围部署蜜罐,观察攻击者下一步要做什么——是提权、横向移动还是直接拖数据库。
说到底,webshell拼的是攻防双方谁更细心。攻击者要找一个能落地的上传点,防守方要堵住所有可能的写入路径。代码写得再精巧,只要服务器权限控制得当、目录不可写、上传文件一律改名为无执行权限的随机文件名,webshell就没了生存土壤。偏偏很多管理员图省事,给web目录开了写权限,等于主动给敌人递刀。
清除webshell后还有件事要做:找到它进来的原因。否则删了这一个,明天还会出现下一个。多数情况下是某个老旧插件有漏洞,或者测试接口没关。把补丁打上、弱口令换掉、日志留存半年以上,才算真正收了尾。安全这行没有一劳永逸,只有不断地补窟窿——每个webshell背后,都藏着一个没被当回事的疏忽。
