技術(shù)報(bào)告:APT組織Wekby利用DNS請(qǐng)求作為C&C設(shè)施

責(zé)任編輯:editor005

作者:極客小默

2016-07-01 15:17:38

摘自:黑客與極客

在上述的反編譯代碼中,我們看到pisloader生成了下面的字符串,之后會(huì)用來(lái)設(shè)置運(yùn)行注冊(cè)表項(xiàng)。pisloader會(huì)定期發(fā)送一個(gè)信標(biāo),其中包含被用作有效荷載的4字節(jié)隨機(jī)大寫(xiě)字符串。

*本報(bào)告翻譯自Paloalto Networks技術(shù)報(bào)告archcenter,作者Josh Grunzweig, Mike Scott and Bryan Lee,僅供業(yè)界學(xué)習(xí),不用于任何商業(yè)用途。如有疏忽或翻譯錯(cuò)誤敬請(qǐng)指出。

最近幾周Paloalto Networks的研究人員注意到,APT組織Wekby對(duì)美國(guó)的部分秘密機(jī)構(gòu)展開(kāi)了一次攻擊。Wekby這些年一直活躍在醫(yī)療、電信、航空航天、國(guó)防和高科技等多個(gè)領(lǐng)域。它會(huì)在漏洞出現(xiàn)的第一時(shí)間就對(duì)其大加利用,就像在HackingTeam的zero-day漏洞事件中表現(xiàn)的那樣。

Wekby使用的惡意軟件是HTTPBrower惡意軟件家族的一員,這種惡意軟件利用DNS請(qǐng)求作為指令和控制機(jī)制(C&C)。此外,它還使用各種模糊處理技術(shù),使得技術(shù)人員在分析過(guò)程中屢屢受阻。根據(jù)樣本中看到的那些元數(shù)據(jù),Palo Alto網(wǎng)絡(luò)公司將其命名為pisloader惡意軟件。

基礎(chǔ)設(shè)施

Pisloader惡意軟件家族通過(guò)HTTP從下面URL中進(jìn)行傳播。這個(gè)URL至今還處于活躍狀態(tài)。

http://globalprint-us [.]com/proxy_plugin.exe

示例中還有在此域下的其他URL:

http://globalprint-us [.]com/proxy_web_plugin.exe

MD5:E4968C8060EA017B5E5756C16B80B012

SHA256: 8FFBB7A80EFA9EE79E996ABDE7A95CF8DC6F9A41F9026672A8DBD95539FEA82A

大?。?26976字節(jié)

編譯時(shí)間:2016年4月28日00:38:46

這份已經(jīng)發(fā)現(xiàn)的文件是最常見(jiàn)的poison lvy惡意軟件家族的一種,下面是它的配置數(shù)據(jù):

命令和控制地址:intranetwabcam [.]com

命令和控制端口:80

密碼:管理員

互斥鎖:) !VoqA.I5

在這次攻擊中所有使用過(guò)的域名都是在攻擊之前剛剛被注冊(cè)的。所包含的域如下:

另外,研究員們還發(fā)現(xiàn)了下面的IP:

攻擊之初

下面是最初發(fā)現(xiàn)的攻擊,在之后的分析中也一直在被引用:

MD5:E8D58AA76DD97536AC225949A2767E05

SHA256:DA3261C332E72E4C1641CA0DE439AF280E064B224D950817A11922A8078B11F1

大小:126976字節(jié)

編譯時(shí)間:2016年4月27日14:37:34

這個(gè)特定文件具有以下的元數(shù)據(jù)屬性。Pisloader這個(gè)名字也是來(lái)源于此。

最初的注入攻擊中包含的代碼非常簡(jiǎn)單,主要任務(wù)是通過(guò)運(yùn)行注冊(cè)表項(xiàng)進(jìn)行設(shè)置,并安裝執(zhí)行嵌入式的windows可執(zhí)行文件。如果遇到混淆,攻擊者會(huì)立刻將字符串拆分為更小的子字符串,然后使用“strcpy”和“strcat”調(diào)用來(lái)重新進(jìn)行構(gòu)建。他們也會(huì)使用同樣的技術(shù)來(lái)生成從未使用過(guò)的垃圾字符串,目的是為了阻止樣品的檢測(cè)和分析。下面的反編譯代碼會(huì)解釋得更加清楚,我們已經(jīng)在其中添加了注釋?zhuān)燥@示完全生成的字符串。

在上述的反編譯代碼中,我們看到pisloader生成了下面的字符串,之后會(huì)用來(lái)設(shè)置運(yùn)行注冊(cè)表項(xiàng)。

cmd.exe/cregaddHKCUSoftwareMicrosoftWindowsCurrentVersionRun /v lsm /t reg_sz /d"%appdata%lsm.exe"/f

這一特定命令會(huì)用%appdata%lsm.exe值來(lái)設(shè)置HKCUSoftwareMicrosoftWindowsCurrentVersionRunlsm注冊(cè)表項(xiàng)。此項(xiàng)設(shè)置之后,惡意軟件會(huì)用一個(gè)單字節(jié)054的XOR值解密兩組數(shù)據(jù)。由此產(chǎn)生的數(shù)據(jù)將會(huì)寫(xiě)入%appdata%lsm.exe 文件路徑。

在寫(xiě)如此文件之后,惡意軟件會(huì)執(zhí)行剛編寫(xiě)的 lsm.exe文件,其中包含pisloader的有效攻擊荷載。

有效攻擊荷載

下面是已發(fā)現(xiàn)的、并在隨后的分析中加以引用的案例:

MD5: 07B9B62FB3B1C068837C188FEFBD5DE9

SHA256:456FFFC256422AD667CA023D694494881BAED1496A3067485D56ECC8FEFBFAEB

大小 ︰ 102400 字節(jié)

編譯時(shí)間 ︰ 2016年4月27日 13:39:02

攻擊者使用了面向返回編程(ROP)技術(shù),以及大量垃圾程序及指令對(duì)有效荷載進(jìn)行了模糊化處理。在下面的示例中,用紅色標(biāo)記的都是沒(méi)有任何用處的代碼。此類(lèi)代碼可以作為垃圾處理,直接忽略。真正行使功能的代碼是綠色部分,這些代碼中有兩個(gè)函數(shù)偏移量在返回指令之后被堆放到堆棧中。這個(gè)返回指令會(huì)先將執(zhí)行代碼指向空函數(shù),空函數(shù)會(huì)反過(guò)來(lái)將執(zhí)行代碼指向“next-function”。有效荷載運(yùn)行的時(shí)候會(huì)使用這種技術(shù),這樣會(huì)使得靜態(tài)分析變得更加困難。

在忽略了垃圾代碼之后,惡意軟件實(shí)際上是非常簡(jiǎn)單的。開(kāi)始它會(huì)隨機(jī)生成一個(gè)10字節(jié)長(zhǎng)的字母數(shù)字作為標(biāo)頭。其余的數(shù)據(jù)會(huì)進(jìn)行base32編碼,之后刪除填充。此數(shù)據(jù)會(huì)用于填充子域,而這個(gè)子域就是之后的DNS請(qǐng)求中用于TXT記錄的地方。

這種利用DNS作為C&C攻擊的做法一直沒(méi)有被惡意攻擊者廣泛采用過(guò),除了下面這些:

· FrameworkPOS

· C3PRO-RACCOON

· FeederBot

· Morto

· 新型PlugX

與此同時(shí),這一做法也使得pisloader可以繞過(guò)某些安全產(chǎn)品(如果無(wú)法繞過(guò),這些安全產(chǎn)品就會(huì)發(fā)現(xiàn)其中的異常)。

pisloader會(huì)定期發(fā)送一個(gè)信標(biāo),其中包含被用作有效荷載的4字節(jié)隨機(jī)大寫(xiě)字符串。下面的示例中顯示了這一點(diǎn):

對(duì)于pisloader預(yù)估響應(yīng)之外的所有響應(yīng),惡意軟件都會(huì)不予理睬。所以攻擊者會(huì)設(shè)置下面的DNS,因?yàn)槿绻麤](méi)有設(shè)置額外標(biāo)明,惡意軟件就沒(méi)有辦法進(jìn)行分辨。

· 響應(yīng)

· 所需的遞歸函數(shù)

· 可用的遞歸函數(shù)

“問(wèn)題”和“回答資源記錄”字段必須被設(shè)置為01值。另外,響應(yīng)查詢子域必須與原始DNS請(qǐng)求匹配。

攻擊者還將遠(yuǎn)程命令和控制(C&C)服務(wù)器靜態(tài)嵌入到惡意軟件中去。在案例中我們還發(fā)現(xiàn)了“ns1.logitech-usa[.]com”主機(jī)。

C&C服務(wù)器會(huì)用一個(gè)TXT文檔進(jìn)行響應(yīng),而文檔的加密方式與初始請(qǐng)求類(lèi)似。在響應(yīng)中,第一個(gè)字節(jié)會(huì)被忽略,剩下的數(shù)據(jù)是用的base32編碼方法。下面是示例:

下面是惡意軟件支持的相關(guān)命令以及它們的描述:

· sifo——收集受害者系統(tǒng)信息

· 驅(qū)動(dòng)器——列舉受害者計(jì)算機(jī)上的驅(qū)動(dòng)器

· 列表——列舉提供目錄中的文件信息

· 上傳——將文件上傳到受害者計(jì)算機(jī)

· 打開(kāi)——生成命令外殼程序

下面是正在使用這些命令的一些情況。我們使用了一個(gè)模擬的DNS服務(wù)器來(lái)生成命令并接收結(jié)果數(shù)據(jù)。

發(fā)送“驅(qū)動(dòng)器”命令:

發(fā)送“打開(kāi)”命令:

發(fā)送“sifo”命令:

列舉C盤(pán)內(nèi)容:

此外,大量命令都與HTTPBrowser類(lèi)似。這些命令的格式化響應(yīng)也是一致的。在一份已知的HTTPBrowser樣例中發(fā)現(xiàn)了與作為討論樣本的pisloader類(lèi)似的元數(shù)據(jù),而且用來(lái)生成這些命令的代碼可以通過(guò)GitHub獲得。這也讓我們更加確信,pisloader就是這個(gè)惡意軟件家族的一員。

結(jié)論

Wekby使用更高級(jí)的惡意軟件繼續(xù)將矛頭對(duì)準(zhǔn)各種高機(jī)密組織機(jī)構(gòu)。Pisloader惡意軟件家族使用了各種新技術(shù)(將DNS作為C2協(xié)議)和各種反分析策略(利用面向返回編程)。

為此,Palo Alto網(wǎng)絡(luò)采用了以下措施來(lái)保護(hù)用戶避免這種威脅:

· 能夠正確識(shí)別所有pisloader產(chǎn)品的WildFire

· 專(zhuān)門(mén)為這一系列惡意軟件設(shè)計(jì)的pisloader自動(dòng)對(duì)準(zhǔn)標(biāo)記

· 攻擊中所使用到的所有域名、IP都已經(jīng)被標(biāo)記為惡意

· 已經(jīng)創(chuàng)建了用于檢測(cè)pisloader DNS通信的IPS規(guī)則

*本文翻譯自:researchcenter,譯者:極客小默,轉(zhuǎn)載請(qǐng)注明來(lái)自FreeBuf黑客與極客(FreeBuf.COM)

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)