ATM 惡意軟件組織Prilex自2014 年起就開始活躍,不過在2016 年,該組織決定放棄ATM 業務,將所有註意力集中在PoS 系統。很快,他們採用了惡意軟件即服務模式,並將攻擊範圍擴大至巴西以外的地方,以模塊化的方式創建了一套包括後門、上傳程序和竊取程序的工具。
Prilex PoS惡意軟件從一個簡單的內存抓取器演變為非常先進和復雜的惡意軟件,直接處理PIN pad硬件協議而不是使用更高級別的API,在目標軟件中進行實時修補,掛鉤操作系統庫,擾亂回复、流量和端口,以及從基於重放的攻擊切換到為其GHOST 交易生成密碼,即使是使用CHIP 和PIN 技術保護的信用卡。
在2016 年的狂歡節期間,一家巴西銀行意識到他們的ATM 已被黑客入侵,其中的所有現金都被盜了。根據事後報告,策劃此次攻擊的攻擊者能夠在同一起事件中感染屬於一家銀行的1000多台機器,這使他們得以在巴西複製2.8萬張獨特的信用卡。
攻擊者沒有進入ATM的物理權限,但他們能夠通過一個包含4G路由器和樹莓派的DIY設備訪問銀行的網絡。通過打開後門,他們能夠劫持該機構的無線連接,並隨意攻擊ATM。在獲得初始網絡訪問權限後,攻擊者將運行網絡識別過程以查找每個ATM 的IP 地址。有了這些信息,攻擊者將啟動橫向移動階段,使用默認的Windows 憑據,然後在所需的系統中安裝定制的惡意軟件。後門將允許攻擊者通過啟動惡意軟件界面並輸入攻擊者提供的代碼來清空ATM 套接字,每個被黑客攻擊的ATM的代碼都是自定義的。
感染了Prilex 的ATM
攻擊中使用的惡意軟件名為Prilex,它是通過使用特權信息和ATM 網絡的高級知識從零開始開發的。該惡意軟件能夠從插入受感染ATM 的信用卡和借記卡上的磁條中捕獲信息。之後,這些有價值的信息可用於克隆銀行卡並從銀行客戶那裡竊取更多資金。
演變成PoS 惡意軟件的過程Prilex 已經從專注於ATM 的惡意軟件演變為針對巴西國內的支付系統的模塊化惡意軟件,即所謂的EFT/TEF 軟件。它們的ATM 和PoS 版本之間有許多相似之處。他們的第一個PoS 惡意軟件於2016 年10 月在野外被發現。前兩個樣本的編譯日期為2010/2011,如下圖所示。但是,研究人員認為由於不正確的系統日期和時間設置而設置了無效的編譯日期。在後來的版本中,時間戳對應於發現樣本的時間。我們還注意到,在2022 年開發的軟件中,開發人員開始使用Subversion 作為版本控制系統。
Prilex PoS 惡意軟件的版本:2022 年的3 個新版本
如上所示,Prilex 在2020 年非常活躍,但在2021 年突然消失,並在2022 年重新出現並發布了三個新變體。
Prilex的PoS版本是用Visual Basic編寫的,但本文中描述的竊取模塊是用p-code編寫的。簡而言之,這是Visual Basic 程序中的高級指令與CPU 執行的低級本機代碼之間的中間步驟。 Visual Basic在運行時將p-code語句轉換為本機代碼。
Prilex 並不是唯一起源於巴西的PoS 惡意軟件,研究人員發現它與原來的Trojan-Spy.Win32.SPSniffer 存在某種聯繫,兩個家族都能夠攔截PIN pad的信號,但使用的方法不同。
PIN pad配備硬件和安全功能,以確保在有人試圖篡改設備時擦除安全密鑰。事實上,PIN在進入設備時使用各種加密方案和對稱密鑰進行加密。大多數情況下,這是一個三重DES編碼器,使它很難破解PIN。
但是有一個問題:這些設備總是通過USB 或串行端口連接到計算機,這些端口與EFT 軟件進行流量。原來的PIN pad設備使用過時和弱加密方案,使得惡意軟件很容易安裝USB 或串行端口嗅探器來捕獲和解密PIN pad和受感染系統之間的流量。這就是SPSniffer 獲取信用卡數據的方式。有時流量甚至沒有加密。
SPSniffer:允許捕獲非加密流量的串口嗅探器
Prilex 用於捕獲信用卡數據的主要方法是使用PoS 系統庫中的補丁,允許惡意軟件收集軟件傳輸的數據。惡意軟件將尋找一組特定的可執行文件和庫的位置,以便應用補丁,從而覆蓋原始代碼。安裝補丁後,惡意軟件會從TRACK2 收集數據,例如帳號和到期日期,以及執行欺詐交易所需的其他持卡人信息。
初始感染載體Prilex 不是一種廣泛傳播的惡意軟件,因為它不是通過電子郵件垃圾郵件活動傳播的。它具有高度針對性,通常通過社會工程傳播,例如,目標企業可能會接到自稱是“技術人員”的電話,他堅持認為該公司需要更新其PoS軟件。假冒技術人員可能會親自訪問目標,或要求受害者安裝AnyDesk,並為其提供遠程訪問權限,以安裝惡意軟件。
PoS 供應商關於Prilex 社會工程攻擊的警告
使用EMV標準的漏洞發起攻擊巴西於1999 年開始使用EMV,如今,該國發行的幾乎所有卡都支持芯片。芯片內部有一個基於java的小應用程序,可以很容易地操作以創建一張“金票(golden ticket)”卡,該卡在大多數銷售點系統中都有效。這使攻擊者能夠升級他們的工具集,使他們能夠以這種新技術為特色創建自己的卡片。
最初版本的Prilex能夠執行重放攻擊,在這種攻擊中,它們沒有破壞EMV協議,而是利用了糟糕的實現。由於支付運營商未能執行EMV 標準要求的某些驗證,攻擊者可以利用該過程中的這一漏洞為自己謀取利益。
在這種攻擊中,欺詐者通過卡片網絡推送常規磁條交易作為EMV購買,因為他們控制著支付終端,並有能力操縱通過該終端進行交易的數據字段。後來他們轉而從真正的基於EMV 的芯片卡交易中獲取流量。攻擊者可以將被盜的卡數據插入交易流程,同時動態修改商家和收購方的銀行賬戶。
至少從2014年起,巴西網絡攻擊者已經成功發起重放攻擊,比如2019 年對一家德國銀行的攻擊,該銀行損失了150 萬歐元,Prilex團伙聲稱對此負責。從名稱字段和工具的功能來看,他們很可能使用了他們在黑市上銷售的軟件。
為了使用克隆的信用卡自動進行攻擊,Prilex 攻擊者使用了Xiello 等工具,這是研究人員在2020 年通過遙測技術發現的。該工具允許網絡攻擊者在進行欺詐性購買時批量使用信用卡。它將購買數據發送給信用卡購買者,然後由他們批准或拒絕交易。
Prilex 用於自動化交易的Xiello 工具
隨著支付行業和信用卡發行商修復EMV 中的漏洞被修復,重放攻擊變得過時且無效,這促使Prilex 團伙採用其他新的信用卡欺詐方式。
從“Replay”技術到“Ghost”技術的演進最新版本的Prilex在攻擊方式上與之前的版本有所不同:該組織已從重放攻擊轉變為使用受害者卡在店內支付過程中生成的密碼進行欺詐交易,攻擊者將其稱為“GHOST 交易”。
在這些攻擊中,Prilex 樣本作為RAR SFX 可執行文件安裝在系統中,將所有必需的文件提取到惡意軟件目錄並執行安裝腳本(VBS 文件)。從已安裝的文件中,我們可以突出顯示該活動中使用的三個模塊:一個後門,在這個版本中除了用於流量的C2服務器外沒有改變;一個竊取模塊和一個上傳模塊。
維護持久性的Prilex方法
竊取模塊負責攔截銷售點軟件和用於在交易期間讀取卡的PIN pad之間的所有流量。一旦識別出正在運行的交易,惡意軟件將攔截並修改交易內容,以便能夠捕獲卡信息並向受害者的卡請求新的EMV 密碼。這些密碼隨後用於GHOST 交易。
用於解析發送/接收的密碼鍵盤消息的方法
為了針對一個特定的進程,攻擊者將對機器進行初步篩選,以檢查它是否是具有足夠信用卡交易的有趣目標,並確定他們將針對的流程。
進程被識別後,惡意軟件將繼續安裝攔截交易信息所需的掛鉤。由於PoS 軟件和讀卡器之間的流量是通過COM 端口進行的,因此惡意軟件會在目標進程內安裝許多Windows API 的掛鉤,旨在根據需要監控和更改數據。有趣的是,Prilex 不是為掛鉤程序分配內存,而是在模塊內存中找到空閒空間,這種技術稱為代碼洞穴,這使得一些安全解決方案很難檢測到受感染系統中的威脅。
添加到CloseHandle進程中的掛鉤代碼
從交易中捕獲的所有信息都被保存到一個加密文件中,該文件位於惡意軟件配置之前設置的目錄中。這些文件隨後會被發送到惡意軟件C2服務器上,允許網絡攻擊者通過以虛假公司名義註冊的欺詐性PoS 設備進行交易。
捕獲的信用卡數據稍後將被發送到運營商服務器
以前的版本監控交易是為了獲取原始交易生成的密碼,然後使用收集的密碼執行重放攻擊。在這種情況下,密碼具有相同的ATC(應用程序交易計數器),允許通過重複使用ATC 以及密碼內部的日期與提交日期不匹配的事實來識別欺詐交易,因為欺詐交易是在較晚的時間提交的。
在較新版本的Prilex 執行的GHOST 攻擊中,它會在捕獲交易後請求新的EMV 密碼。然後,這些密碼將通過其中一種網絡犯罪工具用於欺詐交易,其輸出日誌如下所示。
上表顯示了從惡意軟件收集的數據。它包含由卡生成的授權請求密碼(ARQC),現在應該得到發卡機構的批准。剖析響應(80128000AA5EA486052A8886DE06050A03A4B8009000)後,我們得到以下信息。
卡上應用了多個應用程序密碼,其中交易金額(藍色)、ATC(綠色)和生成的密碼(紅色)在每次交易中都會發生變化。
簡而言之,這是整個Prilex 方案:
Prilex:從感染到套現
後門模塊後門有許多命令,除了內存掃描程序常見的內存掃描之外,較老的(ATM) Prilex版本還提供了一個命令,用於調試進程和查看其內存。這很可能被用於了解目標軟件行為並對惡意軟件或環境進行調整以執行欺詐交易。舊版本的Prilex 對特定軟件庫進行了修補,而較新的示例不再依賴特定軟件,而是使用Windows api來執行它的工作。
Prilex 調試器
下面是在ATM版本的Prilex中使用的命令列表,其中包括調試:
Reboot,SendKeys,ShowForm,Inject,UnInject,HideForm,Recursos,GetZip,SetStartup,PausaProcesso,LiberaProcesso,Debug,SendSnapShot,GetStartup,CapRegion,CapFerro,KillProcess,Shell,Process,GetModules,GetConfi g,StartSendScreen,StopSendScreen,ReLogin,StartScan,GetKey,SetConfig,RefreshScreen,Download,TakeRegions,EnviarArquivo,ScanProcessStart,ScanProcessStop,StartRegiao,StopRegiao,StartDownload,StopDownload.
即使在PoS 版本中添加了一組新命令,我們仍然可以發現一些來自ATM 攻擊的命令仍在使用中。許多可用的命令都是通用的,這允許攻擊者收集有關受感染機器的信息。
上傳模塊
該模塊負責檢查配置文件中CABPATH參數指定的目錄,並將所有被盜交易生成的cab文件發送到服務器,這些文件是通過HTTP POST 請求發送的。模塊使用的終端也在上傳器配置文件中提到。
該模塊的使用表明該組織的操作結構發生了變化,因為在之前的版本中,收集到的信息被發送到服務器,該服務器的地址被硬編碼為竊取代碼,並且該模塊使用與後門相同的協議。該上傳程序允許操作人員根據配置文件中的指示設置所收集信息的終端,從分析的樣本來看,可以看到該過程涉及不同的基礎設施。
捕獲的數據存儲在上傳器C2 中
惡意軟件即服務早2019年,一家聲稱與Prilex有關聯的網站開始提供據稱是該組織創建的惡意軟件包。研究人員認為這是不可能的,因為該網站可能由試圖冒充該組織的模仿者運營,並利用Prilex 多年來贏得的聲譽來賺錢。
在撰寫本文時,該網站仍在運行中。
據稱是Prilex PoS 套件的要價是3500 美元
該網站稱其所有者過去曾與俄羅斯網絡攻擊者合作,不過該說法還無法被驗證。值得一提的是,研究人員在地下渠道發現了通過Telegram 聊天銷售的Prilex 惡意軟件包被引用,價格在10000 歐元到13000 美元之間。研究人員無法確認所提供的是真正的Prilex 惡意軟件。
同時,Prilex 現在使用Subversion 清楚地表明他們正在與多個開發人員合作。
總結Prilex 組織非常擅長對信用卡和借記卡交易發起攻擊,並開髮用於支付處理的軟件。這使攻擊者能夠不斷更新他們的工具,以找到繞過授權策略的方法,從而允許他們執行攻擊。
經過多年的活動,該組織已經迭代了很多攻擊技術。但是,它總是濫用與PoS 軟件相關的流程來攔截和修改與PIN pad的流量。考慮到這一點,研究人員強烈建議PoS 軟件開發人員在其模塊中實施自我保護技術。
Recommended Comments