昨晚凌晨收到新客户的安全求助, 说是阿里云短信提示, 网站有 webshell 木马文件被植入, 我们 SINE 安全公司立即成立, 安全应急响应小组, 客户提供了阿里云的账号密码, 随即登陆阿里云进去查看到详情, 登陆云盾看到有这样的一个安全提示 "网站后门 - 发现后门 (Webshell) 文件" 事件等级: 紧急, 影响资产: 阿里云 ECS:ID, 然后贴出了网站木马文件的路径地址:/www/wangzhan/safe/indnx.PHP.
网站安全事件说明: 云盾检测到当成有异常进程在尝试向磁盘上写入 WEBSHELL 后门文件, 导致 1 次入侵, 如果该行为不是您主动执行, 请及时删除对应文件. 阿里云解决方案: 请及时排查 WWW 目录下是否存在 WEBSHELL, 并及时清除. 看到阿里云给的木马路径以及解决方案, 随即登陆客户的 Linux 服务器, 查看到 www 目录下确实多出一个 indnx.PHP 的文件, 用 SFTP 下载下来这个文件并打开, 看到是一些加密的代码, 一看就是木马代码, 如下图:
这些加密的字符, 也就是 webshell, 那到底什么是 webshell? 我们 SINE 安全来给大家普及一下, 就是网站木马文件, 相当于咱电脑里的木马病毒, 可以对网站代码进行修改, 上传, 下载等木马功能. Webshell 一般是 asa,cer,asp,aspx,PHP,jsp,war 等语言的脚本执行文件命名的, 也可以叫做是网站后门, 攻击者入侵网站后都会将 webshell 木马后门文件上传到服务器, 以及网站的根目录下, 通过访问特定的网址进行访问网站木马, 对网站进行控制, 任意篡改, 说白了, 就是你的网站被黑了.
根据阿里云云盾给出的木马文件路径地址, 我们从浏览器里打开看下:
如上图所示该网站木马
可以看到网站根目录, 以及上传文件, 查看系统基本信息, 执行 MySQL 命令, 反弹提权, 文件下载, 服务器端口扫描, 批量挂马, 改名, 删除文件, 打包文件等管理员的操作. 功能太强大了, 那么客户的网站为何会被上传了 webshell 呢?
一般都是网站存在漏洞, 被攻击者利用上传了 webshell 的, 像网站的上传漏洞, SQL 注入漏洞, XSS 跨站漏洞, CSRF 欺骗漏洞, 远程代码执行漏洞, 远程包含漏洞, PHP 解析漏洞, 都会被上传网站木马, 我们 SINE 安全对客户的网站代码进行人工安全检测, 以及网站漏洞检测, 全面的检测下来, 发现客户网站存在远程代码执行漏洞, 网站代码里并没有对 SQL 非法注入参数进行全面的过滤, 以及前端用户提交留言栏目里的 liuyan & 这个值, 在转换赋值的过程中导致了远程代码的执行, 可以伪造攻击的语句进行插入, 导致服务器执行了代码, 并上传了一句话木马后门.
对客户的网站漏洞进行修复, 清除掉网站的木马后门, 前端用户的输入进行安全过滤, 对变量赋值加强数字型强制转换, 网站安全部署, 文件夹权限安全部署, 图片目录, 缓存文件目录去掉脚本执行权限.
如何解决阿里云提示发现后门 (webshell) 文件
1. 针对阿里云云盾给出的后门文件路径进行强制删除.
2. 使用开源程序的 CMS 系统, 进行升级, 漏洞补丁修复.
3. 对网站的漏洞进行修复, 检查网站是否存在漏洞, 尤其上传漏洞, 以及 SQL 注入漏洞, 严格过滤非法参数的输入.
4. 对网站的所有代码进行检测, 是否存在一句话木马后门文件, 可以对比之前备份的文件, 一一对比, 再一个查看文件的修改时间, 进行删除.
5. 对网站的后台地址进行更改, 默认都是 admin,houtai,manage 等的目录, 建议改成比较复杂的名字, 即使利用 sql 注入漏洞获取到的账号密码, 不知道后台在哪里也是没用的.
6. 网站的目录权限的 "读","写","执行" 进行合理安全部署. 如果您的网站一直被阿里云提示 webshell, 反复多次的那说明您的网站还是存在漏洞, 如果对网站漏洞修复不是太懂的话, 可以找专业的网站安全公司来解决阿里云 webshell 的问题.
来源: https://yq.aliyun.com/articles/685894