自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

惡意軟件常用的感染技術(shù)

安全
本文將為讀者深入介紹惡意軟件最常見(jiàn)的傳播技術(shù),其中包括網(wǎng)絡(luò)內(nèi)部傳播技術(shù)和網(wǎng)絡(luò)間傳播技術(shù)。

惡意軟件常用的感染技術(shù)。通過(guò)“橫向運(yùn)動(dòng)”,惡意軟件可以進(jìn)一步擴(kuò)大其戰(zhàn)果:從原始受感染設(shè)備傳播到同一網(wǎng)絡(luò)內(nèi)的其他設(shè)備。

[[181990]]

最近,勒索軟件已經(jīng)開(kāi)始使用這種傳播方式:包括CryptoWall [1]、CryptoFortess [2]、DMA-Locker [3]和CryptoLuck [4]在內(nèi)的許多著名的勒索軟件家族,不僅對(duì)受害者機(jī)器上的文件進(jìn)行加密,而且對(duì)已經(jīng)映射和未映射的文件共享進(jìn)行了"橫向運(yùn)動(dòng)", 對(duì)這些共享中的文件進(jìn)行加密,從而造成更大的危害。當(dāng)然,對(duì)于許多針對(duì)性和非針對(duì)性攻擊中使用的惡意軟件來(lái)說(shuō),也有許多會(huì)進(jìn)行"橫向運(yùn)動(dòng)"的。

本文將為讀者深入介紹惡意軟件最常見(jiàn)的傳播技術(shù),其中包括網(wǎng)絡(luò)內(nèi)部傳播技術(shù)和網(wǎng)絡(luò)間傳播技術(shù)。

橫向運(yùn)動(dòng)至未映射的驅(qū)動(dòng)器

通過(guò)映射驅(qū)動(dòng)器,軟件就能讀寫可通過(guò)該驅(qū)動(dòng)器訪問(wèn)的共享存儲(chǔ)區(qū)中的文件了。映射驅(qū)動(dòng)器通常分配一個(gè)盤符,可以像操作本機(jī)的其它硬盤驅(qū)動(dòng)器一樣使用它。要訪問(wèn)未映射的驅(qū)動(dòng)器,需要執(zhí)行以下步驟:首先,必須枚舉網(wǎng)絡(luò)以獲取文件共享的列表,然后,在獲得文件共享的訪問(wèn)憑證后,需要使用其用戶名和密碼來(lái)裝載未映射的驅(qū)動(dòng)器。一旦安裝了驅(qū)動(dòng)器,就可以訪問(wèn)來(lái)自未映射驅(qū)動(dòng)器的文件了。

圖1顯示了用于訪問(wèn)未映射驅(qū)動(dòng)器的代碼,并且它已經(jīng)被勒索軟件(例如DMA-Locker,Locky和CryptoLuck)廣泛用于訪問(wèn)未映射的文件共享中的文件了。該代碼首先會(huì)調(diào)用WNetOpenEnumW [5]函數(shù),并以無(wú)符號(hào)整數(shù)2('2u')和1('1u')作為其前兩個(gè)參數(shù)。參數(shù)“2u”能夠確保網(wǎng)絡(luò)中的所有連接都在范圍內(nèi),而“1u”則確保只打開(kāi)磁盤資源進(jìn)行枚舉。

用于演示向未映射驅(qū)動(dòng)器橫向運(yùn)動(dòng)的代碼

圖1:用于演示向未映射驅(qū)動(dòng)器橫向運(yùn)動(dòng)的代碼

一旦連接打開(kāi),將不斷調(diào)用WNetEnumResourceW以枚舉這些資源。

函數(shù)WNetOpenEnumW的第四個(gè)參數(shù)是變量NetResource,它用來(lái)接收NetResource結(jié)構(gòu)數(shù)組形式的枚舉結(jié)果。該結(jié)構(gòu)的格式如圖2所示。

  1. typedef struct _NETRESOURCE { 
  2.  
  3. DWORD dwScope; 
  4.  
  5. DWORD dwType; 
  6.  
  7. DWORD dwDisplayType; 
  8.  
  9. DWORD dwUsage; 
  10.  
  11. LPTSTR lpLocalName; 
  12.  
  13. LPTSTR lpRemoteName; 
  14.  
  15. LPTSTR lpComment; 
  16.  
  17. LPTSTR lpProvider; 
  18.  
  19. } NETRESOURCE; 

一旦枚舉完網(wǎng)絡(luò),該代碼就會(huì)調(diào)用指令'if(NetResource.dWUsage&2)',它用來(lái)檢查該資源是否為容器資源[6]。如果是,則該函數(shù)在后續(xù)指令“sub_407919(a1,&NetResource)”中遞歸調(diào)用自身,以確保將lpRemoteName成員指向的名稱傳遞給WNetOpenEnumW函數(shù),來(lái)繼續(xù)枚舉容器中的資源。

如果資源是可連接的,那么就會(huì)調(diào)用函數(shù)WNetAddConnection2W,該函數(shù)可以用來(lái)建立到該網(wǎng)絡(luò)資源的連接,同時(shí)還可以將本地設(shè)備重定向到網(wǎng)絡(luò)文件共享。傳遞給函數(shù)WNetAddConnection2W的第二個(gè)和第三個(gè)參數(shù)分別是用戶名和密碼。如圖1中的代碼所示,如果第二和第三參數(shù)的值都是0,那么,它就會(huì)使用默認(rèn)的密碼和用戶名。在WNetAddConnection2W函數(shù)之后的指令“if(NetResource.dwType)== 1”用于檢查資源是否為磁盤資源。如果是的話,在下一個(gè)指令中,共享資源的名稱NetResoure.lpRemoteName就會(huì)被傳遞給函數(shù)a1,然后生成一個(gè)線程來(lái)加密共享驅(qū)動(dòng)器中的文件。

USB驅(qū)動(dòng)器&映射驅(qū)動(dòng)器

除了訪問(wèn)未映射的文件共享,惡意軟件還能訪問(wèn)連接到受感染機(jī)器的可移動(dòng)驅(qū)動(dòng)器以加密這些驅(qū)動(dòng)器中的文件。圖3中的代碼展示了如何使用GetDriveTypeW來(lái)確定驅(qū)動(dòng)器的類型,隨后的表達(dá)式“result == 3”可以檢查驅(qū)動(dòng)器是否為固定類型的,而“result == 2”用來(lái)檢查驅(qū)動(dòng)器是否是可移動(dòng)的,最后, 'result == 6'表示它是一個(gè)RAM磁盤。對(duì)于這些類型的驅(qū)動(dòng)器,只要找到其中的任何一個(gè),就會(huì)調(diào)用“sub_402CFB”例程,然后生成一個(gè)線程來(lái)加密這些驅(qū)動(dòng)器中的文件。

GetDriveTypeW函數(shù)也可用于訪問(wèn)遠(yuǎn)程映射網(wǎng)絡(luò)驅(qū)動(dòng)器。如果函數(shù)GetDriveTypeW返回的值為4,則表示這是一個(gè)遠(yuǎn)程映射驅(qū)動(dòng)器。

利用GetDriveType函數(shù)進(jìn)行橫向運(yùn)動(dòng)的代碼

圖3:利用GetDriveType函數(shù)進(jìn)行橫向運(yùn)動(dòng)的代碼

基于電子郵件的橫向運(yùn)動(dòng)

電子郵件早已成為惡意軟件廣泛使用的傳播手段了。圖3展示的VBA代碼,就是由蠕蟲(chóng)病毒通過(guò)Outlook進(jìn)行傳播的。如圖4所示,指令'loc_00402FB0'調(diào)用了CreateObject函數(shù),以便作為對(duì)象訪問(wèn)Outlook應(yīng)用程序。在創(chuàng)建對(duì)象之后,指令'loc_00403021'會(huì)調(diào)用AddressLists函數(shù),從該對(duì)象中獲得地址列表,隨后指令'loc_004030CC'調(diào)用了AddressEntries函數(shù),這樣就能訪問(wèn)該列表中的內(nèi)容了。在訪問(wèn)所有列表項(xiàng)之后,指令'loc_005032D2'會(huì)調(diào)用AddressEntry.Address來(lái)提取確切的電子郵件地址。一旦提取了電子郵件地址,指令“loc_004032BA”會(huì)調(diào)用Application.CreateItem函數(shù)來(lái)創(chuàng)建新的電子郵件。之后,指令'loc_0040345B'將惡意文件作為附件添加到電子郵件中,并通過(guò)指令'loc_0040353D'來(lái)發(fā)送電子郵件。當(dāng)受害者收到電子郵件并打開(kāi)附件時(shí),就會(huì)被感染。

使用電子郵件作為傳播手段

圖4:使用電子郵件作為傳播手段

使用文件感染器作為傳播手段

除了使用SMB、電子郵件和驅(qū)動(dòng)器之外,攻擊者還可以通過(guò)感染機(jī)器上的其他文件進(jìn)行橫向運(yùn)動(dòng)。圖5顯示了HTML文件被感染后由Ramnit插入的代碼。被感染的HTML文件含有一個(gè)VBScript代碼,它會(huì)創(chuàng)建一個(gè)名為svchost.exe的文件。該代碼首先會(huì)調(diào)用CreateObject(“Scripting.FileSystemObject”),它在變量FSO中返回一個(gè)TextStream對(duì)象,該對(duì)象可以進(jìn)行讀取或?qū)懭氩僮?。然后,?duì)象FSO會(huì)調(diào)用CreateTextFile方法,創(chuàng)建一個(gè)文件,并在其中寫入變量WriteData的內(nèi)容,即惡意代碼。然后,會(huì)調(diào)用Close方法來(lái)刷新緩沖區(qū)并關(guān)閉該惡意文件。文件關(guān)閉后,該函數(shù)會(huì)調(diào)用WSHshell.Run來(lái)執(zhí)行惡意文件。

使用文件感染器作為傳播手段

圖5:使用文件感染器作為傳播手段

結(jié)束語(yǔ)

一旦惡意軟件繞過(guò)了邊界或內(nèi)聯(lián)設(shè)備,它就可以通過(guò)各種方法滲入到內(nèi)部系統(tǒng)。其中,未映射的驅(qū)動(dòng)器、映射驅(qū)動(dòng)器、電子郵件和感染其他文件是最常用的手段。檢測(cè)惡意軟件的確很重要,與此同時(shí),防止惡意軟件的擴(kuò)散以限制其破壞范圍同樣也很重要。

責(zé)任編輯:趙寧寧 來(lái)源: 紅黑聯(lián)盟
相關(guān)推薦

2019-12-11 07:29:34

惡意軟件漏洞攻擊

2014-11-04 09:40:27

2015-05-08 12:24:10

惡意軟件逃避技術(shù)

2012-04-23 09:35:27

2019-02-19 12:29:51

2016-09-07 12:44:43

2014-12-17 09:52:26

2011-05-17 17:30:38

微軟Windows 7惡意軟件

2022-01-20 08:19:18

惡意軟件DDoS網(wǎng)絡(luò)攻擊

2011-06-01 10:13:08

Android Mar惡意軟件谷歌

2011-05-31 14:58:23

2014-10-31 14:25:39

2014-11-06 11:27:02

2011-08-09 15:15:00

2013-11-13 14:02:09

2024-12-03 15:19:02

2010-06-17 21:05:36

2023-08-30 12:21:03

2022-10-13 11:48:46

惡意軟件網(wǎng)絡(luò)釣魚

2022-11-03 12:06:41

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)