手機訂房者請注意:信用卡側錄器正鎖定訂房網站

趨勢科技發現了一連串的Magecart信用卡側錄攻擊針對連鎖旅館的訂房網站, 可能是為了避免被電腦上的安全軟體偵測到,這波攻擊者似乎只針對行動用戶, 該側錄器可能經由地下論壇取得, 用以收集線上訂房者的姓名、電子郵件地址、電話號碼、旅館房間偏好和信用卡詳細資訊。側錄器會檢查客戶使用哪種語言進入網站,並注入相對應的偽造信用卡表單。
為了確保取得完整的信用卡資訊,攻擊者會將訂房網頁原始表單替換成包含信用卡背面三碼CVC(Card Validation Code)號碼欄位的表單。

Magecart卡片側錄攻擊,針對連鎖旅館訂房網站的行動用戶

手機訂房者請注意:信用卡側錄器正鎖定訂房網站

趨勢科技發現了一連串的Magecart信用卡側錄攻擊針對連鎖旅館的訂房網站,這是我們第二次看到Magecart駭客集團直接攻擊電子商務服務商,而非個人商店或第三方供應鏈。早在5月時,我們就發現了名為Mirrorthief的新Magecart駭客集團入侵美國和加拿大大學所用的一家電子商務服務商。

在 9月初,我們發現兩個旅館網站(來自不同的連鎖旅館)被注入JavaScript程式碼,從8月9日開始就會在付款頁面上載入遠端腳本。當我們第一次檢查腳本連結時,它下載了普通的JavaScript程式碼。但當我們從Android或iOS手機等行動裝置進行測試時,同一個連結會下載不同的腳本。下載到行動裝置的腳本是信用卡側錄器,會竊取在訂房網頁上輸入的資訊並送到遠端伺服器。

我們發現這兩個受影響的旅館網站都是由一家西班牙公司(Roomleader)所開發,該公司協助旅館建立網路訂房網站。惡意程式碼並不是直接注入網站,而是注入Roomleader所提供給客戶的ViewedHotels模組,兩家不同連鎖體系的訂房網站都有用此模組。儘管受影響的網站數量似乎很少,但其中一家連鎖旅館在14個國家/地區擁有107家旅館,而另一家在14個國家/地區擁有73家旅館,所以我們仍然認為此次攻擊相當值得注意。我們也已經就此問題聯繫了Roomleader。

腳本注入訂房網頁 **

 Figure 1. Infection chain of the Magecart skimming attack on the online hotel booking websites

圖1. 針對網路訂房網站的Magecart卡片側錄攻擊鏈

如前所述,攻擊是注入Roomleader所提供ViewedHotels模組的JavaScript程式庫,位在 hxxps://[hotel website]/modulos/viewedHotels/templates/public/js/historysetter[.]js_ 。這程式庫用來將訪客瀏覽過的旅館資訊存到瀏覽器cookie。攻擊者將惡意程式碼注入原始腳本中間。

注入的程式碼會先檢查網頁是否有包含ID customerBookingForm的HTML元素,確保自己在訂房網頁執行。如果發現注入的程式碼不是在訂房網頁執行,就會進入休眠狀態一秒鐘,然後重複檢查步驟。如果程式碼偵測到訂房網頁,它會檢查瀏覽器除錯器是否已關閉,然後從網址 hxxps://googletrackmanager[.]com/gtm[.]js 載入另一個JavaScript,這是真正的卡片側錄程式碼。值得注意的是,網址樣式是要偽裝成Google Tag Manager所用的網址。

Figure 2. The injected script \(highlighted\) in the JavaScript library used by hotel websites

圖2. 訂房網站所用JavaScript程式庫的注入腳本(紅色框內)

信用卡側錄器分析

當我們第一次連到側錄器網址時,它返回從GitHub專案detect-mobile-browser複製來的普通JavaScript程式碼。但我們懷疑這並非真正的惡意程式碼,因為受影響網站實際上並未使用該程式碼。

進一步測試該網址時,我們發現當使用行動裝置的HTTP User-Agent發出連線請求時,它會下載不同的腳本。而此腳本是一個信用卡側錄器。雖然我們發現側錄器可以在電腦和行動瀏覽器上執行,但攻擊者似乎只針對行動用戶。這很可能是因為攻擊者想避免被電腦上的安全軟體偵測到。這側錄器並非新的版本,也有其他駭客集團使用過。所以它很有可能是經由地下論壇分享的一般側錄器。

 Figure 3. The different scripts downloaded from the skimmer URL for desktop and mobile

圖3. 電腦和行動裝置從側錄器網址下載的不同腳本

信用卡側錄器被用來從付款表單竊取資料。側錄器將函數掛入JavaScript事件Submit和Click,這些事件通常會在人們提交付款或訂單時觸發。當事件觸發時,側錄器會檢查瀏覽器除錯器是否關閉。接著它會複製訂房網頁上所有輸入或選擇HTML元素的名稱和值。在此案例中,收集的資訊包括姓名、電子郵件地址、電話號碼、旅館房間偏好和信用卡詳細資訊。

側錄器會用內嵌金鑰F8C5Pe4Q對複製的資訊進行RC4加密。接著側錄程式會產生隨機字串來用XOR再次對加密資料進行編碼。再將資料用HTTP POST送到遠端網址 https://googletrackmanager[.]com/gtm.php?id= ,會隨機產生字串加到末尾。收到資訊後,攻擊者可以解開資料並收集信用卡資訊。

 Figure 4. Credit card skimmer code to steal information from hotel booking page

圖4. 從訂房網頁竊取資訊的信用卡側錄程式碼

Magecart 用假網頁替換原始訂房網頁 **

雖然側錄器本身並不特別,但我們發現它會刪除訂房網頁原本的信用卡表單並注入另一個由駭客準備的信用卡表單。我們認為這有兩個可能原因。首先,有些旅館不會要求客戶進行線上支付,而是讓他們在抵達旅館時付款。在這種情況下,訂房表單會詢問信用卡資訊但沒有CVC號碼。為了確保取得完整的信用卡資訊,攻擊者將原始表單替換成包含CVC號碼欄位的表單。

第二個可能原因是,有時訂房網頁會為了安全而用HTML iframe元素將信用卡表單託管在不同網域。在這種情況下,一般的JavaScript側錄器無法複製安全iframe內的資料。因此,攻擊者移除安全信用卡表單iframe並注入自己的表單,好讓側錄程式可以複製資訊。

Figure 5. The original credit card form (above) from the hotel website and the injected form (below) from the skimmer Figure 5. The original credit card form (above) from the hotel website and the injected form (below) from the skimmer

圖5. 訂房網站上的原始信用卡表單(上)和側錄器注入的表單(下)

 Figure 6. The skimmer script used to remove the original form from the booking page and replace it with the fake one

圖6. 用來從訂房網頁移除原始表單並替換成假表單的側錄器腳本

為了看起來更有可信度,攻擊者還準備了八種語言的信用卡表單:英文、西班牙文、義大利文、法文、德文、葡萄牙文、俄文和荷蘭文。這些語言會符合目標旅館網站所支援的語言。側錄器會檢查客戶使用哪種語言進入網站,並注入相對應的偽造信用卡表單。

Figure 7. The eight languages of the fake credit card form inside the skimmer

圖7. 側錄器內假的八種語言信用卡表單

我們無法根據此次攻擊所用的網路基礎設施或惡意程式碼找出跟之前Magecart駭客集團的強大關聯。但此波攻擊背後的駭客可能也參與過之前的攻擊活動。

結論 **

最近像Magecart這樣的信用卡側錄攻擊強調了企業需要透過安全最佳實作來保護自己的網站抵禦潛在攻擊,包括定期更新軟體到最新版本並做好網路分割以確保盡可能地不會暴露客戶資料。

此外,使用者也可以考慮使用Apple Pay或Google Pay等支付系統,這些支付系統提供額外的身份認證機制,即使攻擊者取得了信用卡資訊,也可以最大程度地降低信用卡被盜用的可能性。

下列趨勢科技解決方案可以封鎖腳本並防止連到惡意網域來保護使用者和企業:

入侵指標(IoC)

SHA-256/ 網址 *| *檔案名稱 *| *詳細資訊 *| *偵測名稱 **
---|---|---|---
ac58602d149305bd2331d555c15e6292bd5d09c34ade9e5eebb81e9ef1e7b312 | gtm.js | 信用卡側錄器 | TrojanSpy.JS.MAGECART.B
googletrackmanager[.]com |   | Magecart網域 |  

特別要感謝 abuse.ch The Shadowserver Foundation 的夥伴協助關掉 Magecart 網域 **

@原文出處:Magecart Skimming Attack Targets Mobile Users of Hotel Chain Booking Websites 作者:Joseph C Chen(網路詐騙研究員)