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

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

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

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

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

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

  技術(shù)分析

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

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

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

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

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

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

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

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

  客戶端實(shí)現(xiàn)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  總結(jié)

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

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




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

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