電子商務網站上發現盜竊信用卡資訊的惡意軟體

Corporatemalware
cartes de crédit

作者 Paul Ducklin

 

感謝我們的常駐 JavaScript、PHP 和 iQuery 專家 Mark Stockley 對本文的協助。

 

荷蘭安全研究員 Willem de Groot 對線上支付網站的安全問題特別感興趣,最近撰寫了一篇運作已久的惡意軟體 Magento 的文章。

Magento對於電子商務來說,就如WordPress對於博客來說是個重要工具一樣。您可以在自己的伺服器上執行開放原始碼版本、使用執行 Mangento 執行instance的電子商務夥伴,或是註冊 Magento 自己的雲端平台。

即使在現代以雲端為中心的時代,仍有數以千計的網站運作自己的 Magento 伺服器,例如因為他們使用自訂的倉儲和運輸系統,電子商務伺服器需要與之整合。

不幸的是,de Groot 發現,在過去的六個月中,許多這些網站 (總共超過 7,000個網站) 已被網路犯罪者滲透。

更糟糕的是,de Groot 估計其中約有 1,500 個已都感染整整六個月。

我們不確定網站是如何被感染的,但我們懷疑此惡意活動背後的犯罪分子使用多種方式入侵。

如果您的系統尚未修補 (包括 Magento 本身和後台的網頁和資料庫伺服器,以及作業系統),犯罪分子可能會繞過已知的安全防護來攻擊現有的防禦漏洞。

如果你沒有持續追蹤帳戶,犯罪分子可能會使用您想淘汰卻忘記執行的使用者名稱進行登入。

如果您選擇了脆弱的密碼,並未使用雙因素驗證 (使用者每次登入時都需要輸入一次性密碼),犯罪分子可以猜測您的密碼並偽裝成合法使用者。

在這次攻擊中,犯罪分子刻意鎖定網站客戶,即時收集目前網站上客戶的信用卡資訊。

de Groot 調查發現,犯罪分子會上傳一個名為 mage/mage.js 的 JavaScript 檔案,並將其新增到網站的 HTML 範本中。

範本檔是所有網頁的樣板檔案 (或至少用於網站某個部分的頁面),類似於 PowerPoint 或 Keynote 簡報檔中的投影片母片。

在範本新增這個單一 HTML 標記後…

…會導致使用該範本的每個網頁最終都會載入惡意資料竊取 mage.js 指令碼。

簡要總結一下,一旦 mage.js 惡意軟體被載入訪客的瀏覽器中,就會執行以下操作:

  • 在網頁本身新增一個用來暫時儲存偷竊資料的隱藏表單。
  • 設置一個 JavaScript 計時器,每隔 7 秒檢查頁面上是否出現名為 cc_num 的資料輸入欄位。
  • 等待使用者填寫卡號、有效期限和 CVV (安全碼) 以及更多資料。
  • 將使用者的個人資料複製到頁面底部的隱藏表單中。
  • 將隱藏表單上傳到由犯罪分子控制的伺服器。

由於新增的是隱藏表單,「購買頁面」的外觀和操作一切正常,所以您的本來網站看起來似乎正常運作。犯罪分子不會觸發意外的錯誤訊息或導致購買失敗來引起注意。

此外,由於攔截時資料仍然保存在瀏覽器中,犯罪分子不需要從伺服器資料庫中搜索最近交易的資料。

資料直接落入壞人之手,連找都不用找。

更神奇的是,犯罪分子可以取得只有在交易期間出現但是從來不會被儲存的資料,例如受害者的 CVV (安全碼)。

Fullz (指完整信用卡記錄的行話) 比沒有 CVV 的信用卡資料更有價值。理論上,CCV 在交易完成後不應該被保留,並且這項資訊永遠不會儲存在信用卡磁條或晶片上,因此它是犯罪分子難以輕易獲得的一個關鍵資訊。

此惡意軟體的相關威脅還包括犯罪分子上傳的伺服器端 PHP 檔案,用以保護他們在您網路內的立足點。

一個名為 clear.json 的檔案 (一個 PHP 程式,並不是 JSON 資料檔) 會更改一系列帳戶名稱的密碼,以便犯罪分子在初始攻擊被發現時能有許多其他管道再次入侵。

一個名為 clean.json 的檔案 (也是 PHP 程式) 會將 Magento 資料庫中的所有對字串 ATMZOW、19303817.js 和 PZ7SKD的參照移除。

根據 de Groot 的說法,clean.json 程式通常被稱為「反惡意軟體的惡意軟體」 – 它可以阻止其他各種「Magento 惡意軟體競爭者」樣本運作。

該怎麼辦?

  • 如果您是線上購物業者,請考慮使用 Web 篩選器來阻止存取由犯罪分子的命令和控制運作的網站,以保護您免受來自遭駭伺服器的危害。
  • 如果您正在執行一部處理敏感客戶資料 (如姓名、地址和支付卡資料) 的伺服器,請查看日誌,檢視是否有意外更改或未經授權的上傳行為。
  • 請考慮使用伺服器上的防毒掃描程式去偵測是否存在會使客戶面臨風險的惡意檔案。

如果您決定在伺服器上使用防毒軟體,請盡可能以即時模式運作。

即時模式,也稱為常駐掃描 (on-access scanning),一旦檔案到達,就會立即檢查是否為惡意軟體並阻止它們被使用,因此惡意軟體無法直接在伺服器上執行,也不會接觸您的使用者。

另外:

  • 及早修補、經常修補。及時關閉安全漏洞。
  • 選擇正確的密碼。如果您記不住複雜的密碼,請使用密碼管理程式。
  • 使用雙因素驗證。如此一來,被竊的使用者名稱和密碼就無法使用

Sophos 將此項攻擊識別為 Mal/HTMLGen-A 並阻擋存取這些網站的行為。這些惡意指令碼會被偵測為 Troj/Magento-A、Troj/JSBanker-C 和 Troj/PHP-CI。

 

英文原文:  https://nakedsecurity.sophos.com/2018/09/04/credit-card-gobbling-code-found-piggybacking-on-ecommerce-sites?cmp=28009

(本博文為翻譯本,內容以英文原文為準)

Leave a Reply

Your email address will not be published.