《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > Wslink:一種獨特且未記錄的惡意加載程序

Wslink:一種獨特且未記錄的惡意加載程序

2021-11-23
來源:嘶吼專業(yè)版
關(guān)鍵詞: Wslink 惡意加載程序

  ESET 研究人員發(fā)現(xiàn)了一種獨特且以前未出現(xiàn)過的 Windows 二進(jìn)制加載程序,與其他此類加載程序不同,它作為服務(wù)器運行并在內(nèi)存中執(zhí)行接收到的模塊。研究人員將這個新的惡意軟件命名為Wslink,Wslink是其中一個dll的名稱。

  在過去兩年中,研究人員只在中歐、北美和中東的觀察中發(fā)現(xiàn)過幾次由Wslink發(fā)起的攻擊。初始攻擊向量是未知的,大多數(shù)示例都使用了MPRESS,部分代碼是虛擬化的。不幸的是,到目前為止,研究人員還無法獲得它應(yīng)該接收的任何模塊。根據(jù)對比,目前還有已知的惡意軟件與它在代碼、功能或操作上具有相似性。

  接下來,我們將對加載程序和研究人員自己的客戶端進(jìn)行分析,這最初研究人員是用來測試檢測方法的。這個客戶端的源代碼可能對惡意軟件分析的初學(xué)者感興趣,它展示了如何重用和與先前分析的惡意軟件的現(xiàn)有功能進(jìn)行交互。

  技術(shù)分析

  Wslink作為服務(wù)運行,偵聽服務(wù)參數(shù)(Parameters)項的ServicePort注冊表值中指定的端口上的所有網(wǎng)絡(luò)接口。前面注冊Wslink服務(wù)的組件是未知的。下圖描述了接受到該端口的傳入連接的代碼。

  接受傳入連接的循環(huán)的 Hex-Rays 反編譯

  Hex-Rays號稱最強悍的反編譯工具??梢苑淳幾gVB VC BCB Delphi等等一切 x86/x64代碼為C代碼。

  接受連接之后是使用硬編碼的 2048 位公鑰進(jìn)行 RSA 握手,以安全地交換密鑰和 IV,以用于 CBC 模式下的 256 位 AES。加密模塊是隨后收到一個惟一的標(biāo)識符——簽名以及用于解密的附加密鑰。

  有趣的是,最近接收到的帶有其簽名的加密模塊是全局存儲的,這使得它對所有客戶端都可用。這種方式節(jié)省流量,如果要加載的模塊的簽名與前一個匹配,則只傳輸密鑰即可。

  接收模塊及其簽名的 Hex-Rays 反編譯

  使用MemoryModule庫將解密的模塊(它是一個常規(guī)PE文件)加載到內(nèi)存中,并最終執(zhí)行其第一次導(dǎo)出。用于通信、套接字、鍵和IV的函數(shù)以參數(shù)的形式傳遞給導(dǎo)出,使模塊能夠通過已經(jīng)建立的連接交換消息。

  在內(nèi)存中執(zhí)行接收模塊的代碼的Hex-Rays反編譯

  客戶端實現(xiàn)

  研究人員自己的Wslink客戶端實現(xiàn),如下所述,簡單地與修改后的 Wslink 服務(wù)器建立連接,并發(fā)送一個模塊,然后解密和執(zhí)行該模塊。由于研究人員的客戶端無法知道在任何給定的Wslink服務(wù)器實例中與公鑰匹配的私鑰,因此研究人員生成了自己的密鑰對,并使用來自該密鑰對的公鑰修改服務(wù)器可執(zhí)行文件,并在研究人員的Wslink客戶端實現(xiàn)中使用私鑰。

  該客戶端使研究人員能夠復(fù)制Wslink的通信和搜索獨特的模式,這進(jìn)一步證實了研究人員的發(fā)現(xiàn),因為研究人員可以模仿它的行為。

  最初,一些用于發(fā)送/接收消息的函數(shù)是從原始示例中獲得的,且可以立即使用它們進(jìn)行實現(xiàn)。

  從Wslink示例中加載函數(shù)的代碼

  隨后,研究人員的客戶端從文件中讀取要使用的私有RSA密鑰,并建立到指定IP和端口的連接。預(yù)計Wslink的一個實例已經(jīng)在提供的地址和端口上偵聽。當(dāng)然,其嵌入的公鑰也必須替換為已知私鑰的公鑰。

  研究人員的客戶端和Wslink服務(wù)器繼續(xù)執(zhí)行握手,交換用于AES加密的密鑰和IV。如下圖所示分為三個步驟,發(fā)送客戶端hello,接收帶有IV的對稱密鑰,并將它們發(fā)送回來以驗證成功解密。通過反轉(zhuǎn) Wslink 二進(jìn)制文件,研究人員了解到hello消息的唯一約束,除了大小240字節(jié)之外,就是第二個字節(jié)必須為零,因此研究人員將其全部設(shè)置為零。

  研究人員客戶端的 RSA 握手密碼

  最后一部分是發(fā)送模塊。如下圖所示,分為以下四個簡單步驟:

  ?接收到之前加載的模塊的簽名,研究人員決定在實現(xiàn)中不使用它,因為它對研究人員不重要;

  ?發(fā)送模塊的硬編碼簽名;

  ?從文件中讀取模塊,加密它并發(fā)送;

  ?發(fā)送模塊的加密密鑰;

  研究人員的客戶端發(fā)送模塊的代碼

  研究人員客戶端用于加載和加密模塊的代碼

  研究人員的客戶端的完整源代碼可以在WslinkClient GitHub存儲庫中找到。請注意,代碼仍然需要大量的加工才能用于攻擊,并且從頭開始創(chuàng)建另一個加載程序會更容易。

  總結(jié)

  Wslink是一個小巧靈活的加載程序,與研究人員通??吹降募虞d程序不同,它作為服務(wù)器運行,并在內(nèi)存中執(zhí)行接收到的模塊。

  有趣的是,這些模塊在通信、秘鑰和套接字方面重用了加載程序的函數(shù);因此,因此他們不必啟動新的出站連接,Wslink 還具有完善的加密協(xié)議來保護(hù)交換的數(shù)據(jù)。




電子技術(shù)圖片.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。