利用 Microsoft Graph API,Outlook 成惡意軟件傳播新渠道
近日,研究人員發(fā)現(xiàn)了一種新型惡意軟件系列,通過(guò)Microsoft Graph API利用Microsoft Outlook作為通信渠道。這一復(fù)雜的惡意軟件包括一個(gè)自定義加載程序和一個(gè)后門,分別被稱為PATHLOADER和FINALDRAFT。根據(jù)其復(fù)雜性和長(zhǎng)期運(yùn)行的特點(diǎn),該惡意軟件主要被用于網(wǎng)絡(luò)間諜活動(dòng)。
惡意軟件的核心組件
(1) PATHLOADER:輕量級(jí)加載程序
PATHLOADER是一個(gè)輕量級(jí)的Windows可執(zhí)行文件,用于從外部基礎(chǔ)設(shè)施下載并執(zhí)行加密的shellcode。為了避免靜態(tài)分析,它使用了Fowler-Noll-Vo哈希函數(shù)進(jìn)行API哈希處理,并將配置嵌入到.data部分中,其中包括C2(命令與控制)設(shè)置。研究人員發(fā)現(xiàn),PATHLOADER使用字符串加密來(lái)混淆其功能,這使得分析人員難以追蹤其控制流。
此外,PATHLOADER通過(guò)使用GetTickCount64和Sleep方法,避免了在沙箱環(huán)境中立即執(zhí)行。隨后,它通過(guò)HTTPS GET請(qǐng)求從預(yù)配置的C2域名下載shellcode。
(2) FINALDRAFT:數(shù)據(jù)竊取與進(jìn)程注入
FINALDRAFT是一個(gè)用C++編寫的64位惡意軟件,主要專注于數(shù)據(jù)竊取和進(jìn)程注入。它使用Microsoft Graph API與其C2服務(wù)器進(jìn)行通信。惡意軟件通過(guò)存儲(chǔ)在配置中的刷新令牌獲取Microsoft Graph API令牌,并在令牌有效期間重復(fù)使用。
FINALDRAFT通過(guò)在Outlook中創(chuàng)建會(huì)話郵件草稿與C2服務(wù)器通信。這些郵件的內(nèi)容經(jīng)過(guò)Base64編碼,但未進(jìn)行AES加密。命令會(huì)被處理,響應(yīng)則寫入新的郵件草稿中。
通信協(xié)議與關(guān)鍵功能
通信協(xié)議的核心是創(chuàng)建一個(gè)會(huì)話郵件草稿(如果不存在)。每個(gè)處理后的命令都會(huì)將響應(yīng)寫入郵件草稿中。會(huì)話數(shù)據(jù)結(jié)構(gòu)包括會(huì)話ID和構(gòu)建編號(hào)。
FINALDRAFT通過(guò)檢查郵件草稿中的最后五個(gè)C2命令請(qǐng)求郵件來(lái)填充命令。讀取請(qǐng)求后,這些郵件會(huì)被刪除。惡意軟件注冊(cè)了37個(gè)命令處理程序,主要涉及進(jìn)程注入、文件操作和網(wǎng)絡(luò)代理功能。一些關(guān)鍵命令包括:
- GatherComputerInformation:收集并發(fā)送受害機(jī)器的信息。
- StartTcpServerProxyToC2:?jiǎn)?dòng)一個(gè)TCP服務(wù)器代理,連接到C2服務(wù)器。
- DoProcessInjectionSendOutputEx:注入到正在運(yùn)行的進(jìn)程中并發(fā)送輸出。
如何防御此類威脅
利用Microsoft Graph API進(jìn)行C2通信的行為凸顯了采取增強(qiáng)安全措施的迫切性。為抵御像FINALDRAFT這樣復(fù)雜的惡意軟件威脅,組織應(yīng)定期監(jiān)控Microsoft Graph API的使用情況,以發(fā)現(xiàn)任何可疑活動(dòng),并實(shí)施嚴(yán)格的訪問(wèn)控制,限制對(duì)Outlook和API的訪問(wèn),僅允許必要人員使用。
此外,部署高級(jí)端點(diǎn)安全解決方案有助于檢測(cè)和阻止惡意軟件的執(zhí)行,而定期進(jìn)行安全審計(jì)則可確保潛在漏洞得到識(shí)別和修復(fù)。這些主動(dòng)措施將顯著增強(qiáng)組織的安全態(tài)勢(shì)。