久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

花式感染 Windows PE 病毒的一百種方法,你中過(guò)招嗎,?

 風(fēng)聲之家 2020-08-18

Python大本營(yíng) 今天

以下文章來(lái)源于CSDN ,,作者楊秀璋

CSDN

CSDN

專業(yè)的中文 IT 技術(shù)社區(qū),與千萬(wàn)技術(shù)人共成長(zhǎng),。

作者 | 楊秀璋,,責(zé)編 | 夕顏

出品 | CSDN博客

這是一篇基礎(chǔ)性文章,將介紹Windows PE病毒,, 包括PE病毒原理,、分類及感染方式詳解,并通過(guò)案例進(jìn)行介紹,。


01

PE病毒概念

什么是PE病毒,?


PE病毒是以Windows PE程序?yàn)檩d體,,能寄生于PE文件或Windows系統(tǒng)的病毒程序。

PE病毒數(shù)量非常之多,,包括早起的CIH病毒,,全球第一個(gè)可以破壞計(jì)算機(jī)硬件的病毒,它會(huì)破壞主辦的BIOS,,對(duì)其數(shù)據(jù)進(jìn)行擦寫修改,。再比如熊貓燒香、機(jī)器狗等等,,其危害非常之大,。

什么叫感染?


說(shuō)到病毒,,不得不提感染。感染是指在盡量不影響目標(biāo)程序(系統(tǒng))正常功能的前提下,,而使其具有病毒自身的功能,。什么叫病毒自身的功能呢?一個(gè)病毒通常包括如下模塊:

  • 感染模塊: 被感人程序同樣具備感染能力

  • 觸發(fā)模塊: 在特定條件下實(shí)施相應(yīng)的病毒功能,,比如日期,、鍵盤輸入等

  • 破壞模塊

  • 其他模塊

CIH病毒


CIH病毒是一種能夠破壞計(jì)算機(jī)系統(tǒng)硬件的惡性病毒。這個(gè)病毒產(chǎn)自TW,,原集嘉通訊公司工程師陳盈豪在其于TW大同工學(xué)院念書(shū)期間制作,。最早隨國(guó)際兩大盜版集團(tuán)販賣的盜版光盤在歐美等地廣泛傳播,隨后進(jìn)一步通過(guò)網(wǎng)絡(luò)傳播到全世界各個(gè)角落,。CIH的載體是一個(gè)名為“ICQ中文Chat模塊”的工具,,并以熱門盜版光盤游戲如“古墓奇兵”或Windows95/98為媒介,經(jīng)互聯(lián)網(wǎng)各網(wǎng)站互相轉(zhuǎn)載,,使其迅速傳播,。目前傳播的主要途徑主要通過(guò)Internet和電子郵件,當(dāng)然隨著時(shí)間的推移,,其傳播主要仍將通過(guò)軟盤或光盤途徑,。

CIH病毒曾入榜全球十大計(jì)算機(jī)病毒之首,該病毒引起了許多重要部門的嚴(yán)密關(guān)注,,其原因不言而喻,。如果指揮、通信,、政務(wù)等系統(tǒng)受到了CIH病毒的威脅甚至破壞,,其后果不堪設(shè)想。

如果我們要編寫PE病毒,,則需要掌握以下的關(guān)鍵:

  • 病毒的重定位

  • 獲取API函數(shù)地址

  • 文件搜索

  • 內(nèi)存映射文件

  • 病毒如何感染其他文件

  • 病毒如何返回到Host程序

02

PE病毒的分類

以感染目標(biāo)進(jìn)行分類,,包括:

(1) 文件感染

將代碼寄生在PE文件,,病毒本身只是PE文件的一部分,依賴于感染目標(biāo),,通常也叫HOST文件,,控制權(quán)獲得也是以目標(biāo)程序運(yùn)行來(lái)獲得的。分為:

  • 傳統(tǒng)感染型:以Win32匯編程序編寫為主

  • 捆綁釋放型:編寫難度較低,,通過(guò)高級(jí)語(yǔ)言均可編寫,,將目標(biāo)程序和病毒程序捆在一起,和捆綁器有相似之處

(2) 系統(tǒng)感染

將代碼或程序寄生在Windows操作系統(tǒng),,該類病毒越來(lái)越多,,它不感染具體文件,但是它會(huì)在操作系統(tǒng)中保存自己的實(shí)體,。同時(shí)也可以通過(guò)系統(tǒng)啟動(dòng)的方法來(lái)獲取控制權(quán),。傳播途徑包括:

  • 即時(shí)通信軟件,如QQ尾巴

  • U盤,、光盤

  • 電子郵件

  • 網(wǎng)絡(luò)共享

  • 其他途徑

03

傳統(tǒng)文件感染型


1.感染思路

當(dāng)我們了解PE文件格式之后,,要了解PE文件感染型病毒就非常容易了。如下圖所示,,左邊是一個(gè)正常的PE文件,,右邊是PE病毒感染該程序時(shí)的修改,可以看到病毒代碼在最后面,,通常它是一種新節(jié)的形式,。我們知道PE文件是由多個(gè)節(jié)組成的,病毒代碼為了融入目標(biāo)程序會(huì)以節(jié)的形式,,同時(shí)修改PE文件頭,。

對(duì)感染來(lái)說(shuō),它一方面需要使得對(duì)方具備自己的功能,,另一方面也不破壞對(duì)方程序的功能,。所以病毒代碼執(zhí)行完畢之后,它必須要將控制權(quán)交給原始程序,,從而防止病毒被發(fā)現(xiàn),。

  • 優(yōu)點(diǎn): 被感染后的程序主題依然是目標(biāo)程序,不影響目標(biāo)程序圖標(biāo),,隱蔽性稍好

  • 缺點(diǎn): 對(duì)病毒代碼的編寫要求較高,,通常是匯編語(yǔ)言編寫,難以成功感染自校驗(yàn)程序

PE病毒典型案例

下面是演示代碼,,感染本目錄下的test.ext文件,,它沒(méi)有破壞性,tset.exe被感染后,,首先執(zhí)行病毒代碼,,然后執(zhí)行自身代碼,。如下圖所示,存在四個(gè)文件,。其中main.exe是PE病毒程序,,它會(huì)感染當(dāng)前目錄下名為“test.exe”的文件。這里僅是測(cè)試PE病毒感染代碼,,沒(méi)有破壞功能,。

  • calc.exe:計(jì)算器

  • notepad.exe:記事本

  • test.exe:測(cè)試PE文件

  • main.exe:PE病毒程序

第一步,我們嘗試打開(kāi)test.exe文件,。它是一個(gè)正常的PE文件,,前面的文章也分析過(guò),它包括兩個(gè)彈窗,,如下圖所示,。

第二步,使用OD打開(kāi)test.exe如下圖所示,,發(fā)現(xiàn)起始地址為0x00401000,,該exe程序大小為2.50KB。

第三步,,運(yùn)行main.exe程序,它是PE病毒,。注意,,它會(huì)彈出如下圖所示對(duì)話框,這是為了方便演示,,而真實(shí)的PE病毒不會(huì)提示你信息,。程序是兩位大佬所寫,其中一位是Hume前輩,,另一位 ^ _ ^

同時(shí),,如果360會(huì)查殺該病毒,添加信任即可,。但當(dāng)我們?cè)谡鎸?shí)惡意樣本分析時(shí),,一定要在虛擬機(jī)等有保護(hù)環(huán)境下進(jìn)行。

IDA分析mian.exe如下圖所示:

第四步,,此時(shí)test.exe文件大小已經(jīng)增加為6.50KB,,說(shuō)明其已經(jīng)被惡意感染。

雙擊test.exe顯示如下圖所示,,它會(huì)先彈出一個(gè)感染測(cè)試對(duì)話框,,然后才是接下來(lái)的正常程序?qū)υ捒颉?/span>

用OD動(dòng)態(tài)分析,發(fā)現(xiàn)程序入口地址是0x004042DC,。說(shuō)明該程序先執(zhí)行PE病毒,,之后才執(zhí)行正常的程序,,而真實(shí)的PE病毒不會(huì)只簡(jiǎn)單的彈出提示窗口,而會(huì)隱蔽的進(jìn)行一些破壞或收集信息,。

第五步,,將被感染的“test.exe”重命名為“test-ok.exe”,然后將記事本修改為“test.exe”,,因?yàn)槲覀兊拇a只感染當(dāng)前目錄下“test”命名的文件,。

接著運(yùn)行“test-ok.exe”程序,發(fā)現(xiàn)打開(kāi)記事本也會(huì)彈出如下圖所示的對(duì)話框,,接著才是記事本,,說(shuō)明該程序也被感染。

第六步,,通過(guò)同樣的方法感染計(jì)算器程序,,如下圖所示。

寫到這里,,該案例就演示完畢,,這是一個(gè)傳統(tǒng)典型的PE病毒感染示例。

3.關(guān)鍵技術(shù)


(1) 重定位

重定位在前面講PE文件格式化時(shí)介紹過(guò),,尤其DLL文件常見(jiàn)重定位,。因?yàn)镈LL文件會(huì)加載到不同的位置,如果再按照VA地址定位會(huì)出現(xiàn)差錯(cuò),,所以會(huì)出現(xiàn)重定位,。對(duì)于病毒程序也是一樣的,它有相應(yīng)的代碼去感染目標(biāo)程序,,而目標(biāo)程序有很多,,病毒程序?qū)懺谀繕?biāo)程序什么位置呢?這就需要病毒代碼去定位目標(biāo)程序的位置,,就要利用重定位技術(shù),。

  • 關(guān)鍵點(diǎn):病毒代碼目標(biāo)寄生位置不固定

  • shellcode類似:通常需要注入遠(yuǎn)程系統(tǒng),但這段代碼在遠(yuǎn)程系統(tǒng)什么位置有時(shí)并不能確定,,另外遠(yuǎn)程系統(tǒng)的環(huán)境有時(shí)也不能準(zhǔn)確感知,,故需要使用重定位和API函數(shù)自獲取技術(shù)

① 為什么需要重定位呢?

下面是一段源代碼(PE最小文件案例),,通過(guò)mas32編譯生成的目標(biāo)程序,。源代碼非常簡(jiǎn)單,就是調(diào)用invoke,,通過(guò)invoke調(diào)用MessageBox函數(shù),,包括四個(gè)參數(shù);程序第二個(gè)語(yǔ)句是invoke調(diào)用退出。這里彈出對(duì)話框涉及兩個(gè)字符串szCap和szMsgOK,。

  • invoke MessageBox, NULL, addr szMsgOK, addr szCap, 40h+1000h

  • invoke ExitProcess, NULL

當(dāng)該程序編譯之后,,反匯編結(jié)構(gòu)顯示如下圖所示,比如Start位置,,MessageBox函數(shù)包括四個(gè)參數(shù),,我們采用PUSH壓入堆棧,再CALL調(diào)用該函數(shù),。

  • push offset off_00401000

  • push offset off_00401014

圖中紅色圓圈顯示的是PE文件代碼的二進(jìn)制部分,,它是一個(gè)VA的地址,即RVA+ImageBase,。程序在編譯后,,某些VA地址(如變量Var 004010xxh)就已經(jīng)以二進(jìn)制代碼的形式固定,這就是需要重定位的原因,。

下圖展示正常情況的ImageBase,,值為400000H。比如HEX數(shù)據(jù)為“00104000”,,由于高位在后面,,所以對(duì)應(yīng)的地址是“00 40 10 00”。

如果ImageBase為600000H,,則代碼不做重定位,,PUSH壓入堆棧的值為401000和401014。而此時(shí)的值什么也不是,,通過(guò)數(shù)據(jù)窗口定位地址發(fā)現(xiàn)不存在,。左下角可以看到,00601000位置才是存放的數(shù)據(jù),。所以,重定位需要將這里的40修改為60,。

總之,,如果病毒代碼插入位置不固定,也會(huì)遇到類似的問(wèn)題,。病毒代碼必須通過(guò)重定位解決類似的問(wèn)題,。

② 下面看看病毒代碼植入HOST文件后的位置差異。

左邊是病毒在感染前的VAR位置,,其地址為004010xx,;當(dāng)這段代碼插入到另一個(gè)HOST文件后,如右圖所示,,變量的實(shí)際位置和預(yù)期位置出現(xiàn)了差異,,而重定位的關(guān)鍵是知道這個(gè)差異是多少,后續(xù)遇到的各種變量或地址都可以通過(guò)這種差異方式校正。

  • 重定位本質(zhì):修正實(shí)際地址與預(yù)期地址的差異

但是根據(jù)HOST特征逐一硬編碼這種方式不太可取,,其繁瑣且未必準(zhǔn)確,,所以采用另一種方法,病毒代碼運(yùn)行過(guò)程中自我重定位,。首先它計(jì)算剛才的差異值,,接著調(diào)用call delta將下一條語(yǔ)句開(kāi)始位置壓入堆棧,此時(shí)堆棧頂端存放的是pop ebp語(yǔ)句,,它在內(nèi)存匯總真實(shí)的地址,;再后面是sub減法操作,ebp減去offset delta,;最后當(dāng)我們需要重定位時(shí),,比如使用varl變量,重定位則為ebp+offset來(lái)消除差異,,此時(shí)eax中存放varl在內(nèi)存中的真實(shí)地址,。

CALL語(yǔ)句功能:

  • 將下一條語(yǔ)句開(kāi)始位置壓入堆棧

  • JMP到目標(biāo)地址執(zhí)行

(2) API函數(shù)自獲取

前面介紹了PE文件的引入函數(shù)節(jié),它是目標(biāo)程序作者編寫的,,當(dāng)調(diào)用外部DLL中的API函數(shù)時(shí),,通過(guò)引入函數(shù)節(jié)將這種關(guān)系定義出來(lái),系統(tǒng)加載時(shí)就能加載對(duì)應(yīng)的DLL文件并找到相應(yīng)的API函數(shù),,再將地址寫入到PE文件的引入函數(shù)表中,,程序運(yùn)行時(shí)就直接從引入函數(shù)表中取地址進(jìn)行調(diào)用,這是正常的PE文件運(yùn)行過(guò)程,。

但對(duì)于病毒程序來(lái)說(shuō),,它是一段代碼,當(dāng)它感染另外一個(gè)程序時(shí),,它是否能修改目標(biāo)程序的引入函數(shù)節(jié),,而使得其可以服務(wù)病毒代碼呢?從原理上來(lái)說(shuō),,這是可以實(shí)現(xiàn)的,,但非常復(fù)雜,因?yàn)橐谝煤瘮?shù)節(jié)添加?xùn)|西一定會(huì)導(dǎo)致其他結(jié)構(gòu)的變化,,需要做很多的修正工作,,這也可能破壞原有功能。所以對(duì)于病毒來(lái)說(shuō),,它需要自己去獲取API函數(shù)地址,,并且沒(méi)有引入函數(shù)節(jié)的支撐,但它又必須要使用很多API函數(shù)來(lái)實(shí)現(xiàn)病毒功能,。

  • 關(guān)鍵點(diǎn):需要使用的API函數(shù),,但無(wú)引入函數(shù)節(jié)支撐

  • shellcode類似:通常需要注入遠(yuǎn)程系統(tǒng),但這段代碼在遠(yuǎn)程系統(tǒng)什么位置有時(shí)并不能確定,另外遠(yuǎn)程系統(tǒng)的環(huán)境有時(shí)也不能準(zhǔn)確感知,,故需要使用重定位和API函數(shù)自獲取技術(shù)

① 如何獲取API函數(shù)地址呢,?

  • DLL文件的引出函數(shù)節(jié)

  • Kernel32.dll:核心API函數(shù)為 GetProcAddress和LoadLibraryA

  • GetProcAddress函數(shù):包括兩個(gè)參數(shù),模塊基地址和想要獲取API函數(shù)名稱,,它將動(dòng)態(tài)獲得DLL函數(shù)的入口地址

  • LoadLibraryA函數(shù):將制定的DLL動(dòng)態(tài)鏈接庫(kù)加載到內(nèi)存中,,返回值為DLL文件加載到內(nèi)存中的基地址

② 當(dāng)我們獲得GetProcAddress和LoadLibraryA地址后,想獲取任何一個(gè)API函數(shù)地址都可以,。那么,,怎么獲取這兩個(gè)函數(shù)的地址呢?

  • 首先,,獲得kernel32.dll的模塊加載基地址

  • 一種方法是采用硬編碼(兼容性差),,另一種方法通過(guò)Kernel模塊中的相應(yīng)結(jié)構(gòu)和特征定位

  • 其次,通過(guò)Kernel32.dll的引出目錄表結(jié)構(gòu)定位具體函數(shù)的函數(shù)地址

③ 接著,,我們看看獲取Kernel32模塊基地址的典型方法,。

  • 定位Kernel32模塊中任何一個(gè)地址,然后按照模塊首地址特征(對(duì)齊于10000H,,PE文件開(kāi)始標(biāo)識(shí)MZ)向低地址遍歷定位PE文件頭

  • Kernel32模塊內(nèi)的地址從何處獲得,?

– 程序入口代碼執(zhí)行時(shí)Stack頂端存儲(chǔ)的地址
– SEH鏈末端
– PEB相關(guān)數(shù)據(jù)結(jié)構(gòu)指向了各模塊地址
– Stack特定高端地址的數(shù)據(jù)
注意:不同操作系統(tǒng)存在差別


(3) 目標(biāo)程序遍歷搜索

通常以PE文件格式的文件(如EXE、SCR,、DLL等)作為感染目標(biāo),,其關(guān)鍵點(diǎn)為全盤查找或者部分盤符查找,遍歷算法包括遞歸或非遞歸,。在對(duì)目標(biāo)進(jìn)行搜索時(shí),,通常調(diào)用兩個(gè)API函數(shù):

  • FindFirstFile

  • FindNextFile

搜索目標(biāo)進(jìn)行感染算法如下:

(4) 文件感染

感染的關(guān)鍵是病毒代碼能夠得到運(yùn)行,常用方法包括:

  • 選擇合適的位置放入病毒代碼(已有節(jié),、新增節(jié))

  • 將控制權(quán)交給病毒代碼,,如修改程序入口點(diǎn)AddressofEntryPoint,或者在原目標(biāo)代碼執(zhí)行過(guò)程中運(yùn)行病毒代碼(EPO技術(shù),,EntryPoint Obscuring)

同時(shí),,病毒代碼執(zhí)行時(shí),程序的正常功能不能被破壞,,即控制權(quán)的交換,。

  • 感染時(shí),,記錄原始“程序控制點(diǎn)位置”

  • 病毒代碼執(zhí)行完畢之后,,返回控制權(quán)

  • 避免重復(fù)感染,感染標(biāo)記

感染文件的基本步驟為:

①判斷目標(biāo)文件開(kāi)始的兩個(gè)字節(jié)是否為“MZ”

②判斷PE文件標(biāo)記“PE”

③判斷感染標(biāo)記,,如果已被感染過(guò)則跳出繼續(xù)執(zhí)行HOST程序,,否則繼續(xù)

④獲得Directory(數(shù)據(jù)目錄)的個(gè)數(shù)(每個(gè)數(shù)據(jù)目錄信息占8個(gè)字節(jié))

⑤得到節(jié)表起始位置(Directory的偏移地址+數(shù)據(jù)目錄占用的字節(jié)數(shù)=節(jié)表
起始位置)

⑥得到目前最后節(jié)表的末尾偏移(緊接其后用于寫入一個(gè)新的病毒節(jié))節(jié)表起
始位置+節(jié)的個(gè)數(shù)*(每個(gè)節(jié)表占用的字節(jié)數(shù)28H)=目前最后節(jié)表的末尾偏移

⑦開(kāi)始寫入節(jié)表和病毒節(jié)

⑧修正文件頭信息

04

捆綁釋放型

捆綁釋放型感染實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,目前很大一部分病毒程序都采用這種方法。捆綁釋放型感染時(shí)將目標(biāo)HOST程序作為數(shù)據(jù)存儲(chǔ)在病毒體內(nèi),,當(dāng)執(zhí)行病毒程序時(shí),,它先執(zhí)行病毒程序,然后還原并執(zhí)行HOST文件,,從而保證被感染的程序本身能正常運(yùn)行,,不會(huì)引起一些異樣。

  • 熊貓燒香病毒
    左邊是一個(gè)正常程序(QQ),,感染之后會(huì)將病毒放在前面,,正常程序放在后面,程序運(yùn)行之后,,病毒會(huì)拿到控制權(quán),。但是程序圖標(biāo)會(huì)顯示前面的病毒程序,顯示熊貓燒香,,這也是一個(gè)明顯的被感染特征,。

  • 優(yōu)點(diǎn): 編寫簡(jiǎn)單、效率高,,可感染自校驗(yàn)程序

  • 缺點(diǎn): 被感染后的程序主體是病毒程序,,易被發(fā)現(xiàn)(程序疊加+釋放執(zhí)行),程序圖標(biāo)問(wèn)題

05

系統(tǒng)感染型

系統(tǒng)感染型本身不對(duì)PE文件做任何感染操作,,但它感染的目標(biāo)是操作系統(tǒng),,也是一種寄生類的方式,只是寄生目標(biāo)有所不同,。這類病毒通常為獨(dú)立個(gè)體,,不感染系統(tǒng)內(nèi)的其他文件。

兩個(gè)關(guān)鍵問(wèn)題:

  • 如何再次獲得控制權(quán)——自啟動(dòng)
    由于該程序不感染PE文件,,它沒(méi)有HOST文件,,所以如何再次獲得控制權(quán)是一個(gè)關(guān)鍵性問(wèn)題,也是目標(biāo)很多病毒程序設(shè)計(jì)時(shí)不得不考慮的問(wèn)題,。此時(shí)和操作系統(tǒng)自啟動(dòng)相關(guān),,病毒必須依賴于該機(jī)制再次獲得控制權(quán)。

  • 如何傳播
    可移動(dòng)存儲(chǔ)介質(zhì)(U盤,、移動(dòng)硬盤刻錄光盤等)
    網(wǎng)絡(luò)共享
    電子郵件或其他應(yīng)用


1.控制權(quán)再次獲取

下面簡(jiǎn)單講解控制權(quán)再次獲取的自啟動(dòng)方式,。首先看看操作系統(tǒng)啟動(dòng)流程:

  • BIOS --> 硬盤MBR --> 活動(dòng)分區(qū)DBR --> 系統(tǒng)內(nèi)部

整個(gè)啟動(dòng)流程也是控制權(quán)傳遞的過(guò)程,包括現(xiàn)在提出的可信計(jì)算,,也是對(duì)控制權(quán)一步一步的校驗(yàn),,控制流程的數(shù)據(jù)完整性或行為的校驗(yàn)。對(duì)于操作系統(tǒng)本身,,它的啟動(dòng)方式很多,,系統(tǒng)內(nèi)部包括:

  • 注冊(cè)表中的鍵值

  • 系統(tǒng)中的特定位置

  • 配置文件

  • 特定路徑的特定文件,,如Explorer.exe(顯示桌面)

下圖展示了Autoruns軟件看到Windows操作系統(tǒng)進(jìn)行自啟動(dòng)的選項(xiàng)。如果病毒本身能很好地結(jié)合這套機(jī)制,,它可以做的事情非常多,,并且具有很好的隱蔽性。

其他啟動(dòng)方式:

  • 利用系統(tǒng)自動(dòng)播放機(jī)制Autorun.inf
    比如U盤病毒或光盤病毒就是利用U盤或光盤的自動(dòng)播放功能,。目前,,也有一些U盤插入之后,不需要你去雙擊這個(gè)U盤,,里面的程序就會(huì)自啟動(dòng),。

  • 在其他可執(zhí)行文件嵌入少量觸發(fā)代碼
    修改引入函數(shù)節(jié)啟動(dòng)DLL病毒文件(添加相應(yīng)結(jié)構(gòu),初始化代碼觸發(fā))
    在特定PE文件代碼段插入觸發(fā)代碼等(只需定位可執(zhí)行程序并運(yùn)行)

  • DLL劫持:替換已有DLL文件
    很多應(yīng)用程序或操作系統(tǒng)執(zhí)行時(shí),,都會(huì)去執(zhí)行DLL文件,,如果病毒將自身做成一個(gè)DLL文件,同時(shí)將系統(tǒng)DLL文件替換,??上攵到y(tǒng)啟動(dòng)時(shí),,它是根據(jù)文件名啟動(dòng)的,,此時(shí)病毒DLL文件就會(huì)拿到控制權(quán),如果拿到控制權(quán)之后再進(jìn)一步裝載原始DLL文件,,這樣系統(tǒng)的本身機(jī)制也不會(huì)受到影響,,隱蔽性更強(qiáng)。該方法非常常見(jiàn),,甚至有一些病毒程序?qū)⒎床《拒浖梢蕾嚨腄LL文件替換,。


2.病毒的傳播方式

一切可對(duì)外交互的渠道都可傳播,包括:

  • 各類存儲(chǔ)設(shè)備(軟盤,、光盤,、U盤、移動(dòng)硬盤,、智能設(shè)備)

  • 各類網(wǎng)絡(luò)通信方式(QQ,、MSN、Email,、淘寶旺旺,、微信、微博等)

  • 各類網(wǎng)絡(luò)連接方式(有線,、wifi,、藍(lán)牙等)

  • 各類網(wǎng)絡(luò)應(yīng)用(迅雷、BT等)

郵件蠕蟲(chóng)越來(lái)越常見(jiàn),,其中以郵件附件的形式進(jìn)行傳播較多,。附件中可能包含病毒包括exe文件、rar文件,、pdf文件,、doc文件、xls文件,、jpg文件,、chm文件等。下圖是一個(gè)包含病毒的郵件附件,,顯示為一個(gè)word文檔,,后綴名doc,圖標(biāo)顯示也是word,。但它的真實(shí)后綴是scr(屏保),,它其實(shí)是利用了一種技術(shù),在文件名里插入翻轉(zhuǎn)字符,,然后將翻轉(zhuǎn)字符之后的其他字符進(jìn)行了翻轉(zhuǎn),,它的完整文件名應(yīng)該是“5月TW行l(wèi)mcod.scr”。這也是一種欺騙性很強(qiáng)的攻擊手法,。

再補(bǔ)充一個(gè)通過(guò)可移動(dòng)存儲(chǔ)設(shè)備傳播的非感染式病毒,,即Autorun.inf。右圖顯示了Autorun.inf文件,,如果文件存在U盤根目錄,,當(dāng)我們雙擊這個(gè)U盤時(shí),它就會(huì)觸發(fā)對(duì)應(yīng)的病毒,,如果選擇U盤盤符右鍵打開(kāi)或打開(kāi)資源管理器,,這是進(jìn)入的也是病毒程序。當(dāng)然下面的演示是計(jì)算器程序,。

[AutoRun]open=mspaint.exeshell\open=打開(kāi)(&O)shell\open\Command=calc.exeshell\open\Default=1shell\explore=資源管理器(&X)shell\explore\Command=calc.exe

還有一類是偽裝的文件夾,,如下圖所示photo.exe文件,當(dāng)Windows操作系統(tǒng)默認(rèn)不顯示“.exe”時(shí),,它就能偽裝成文件夾,,當(dāng)我們雙擊之后就會(huì)運(yùn)行病毒,同時(shí)可以打開(kāi)某個(gè)文件夾進(jìn)行隱蔽,。

最后,,補(bǔ)充“擺渡”知識(shí)點(diǎn),這種攻擊行為經(jīng)常發(fā)生在一些具有特殊目的病毒程序身上,。期望通過(guò)可移動(dòng)的媒介來(lái)滲透一些平時(shí)不聯(lián)網(wǎng)的電腦中,,并從中獲取數(shù)據(jù),利用擺渡的方式植入病毒或木馬到內(nèi)網(wǎng),,比較典型的案例就是Stuxnet,。

下圖展示了Stuxnet震網(wǎng)事件的漏洞利用過(guò)程和啟動(dòng)方式,,傳統(tǒng)的Autorun方式很容易被禁止掉,而Stuxnet利用的是lnk漏洞(MS10-046),,它會(huì)在目標(biāo)U盤下放入lnk快捷方式及病毒程序(如DLL文件),。不管通過(guò)什么方式進(jìn)入U(xiǎn)盤,lnk文件會(huì)被解析從而觸發(fā)漏洞,,導(dǎo)致U盤中的病毒程序被執(zhí)行,。

06

總結(jié)

寫到這里,這篇文章就介紹完畢,,通過(guò)這些PE病毒原理,、分類及感染方式的講解,有利于大家去做一些拓展和思考,,也體現(xiàn)出當(dāng)下的網(wǎng)絡(luò)形式,,存在很多安全隱患,安全防御是非常必要的,。

  • PE病毒概念

  • PE病毒的分類

  • 傳統(tǒng)文件感染型

    感染思路

    PE病毒典型案例

    關(guān)鍵技術(shù)

  • 捆綁釋放型

  • 系統(tǒng)感染型

    控制權(quán)再次獲取

    病毒的傳播方式

原文鏈接:

https://blog.csdn.net/Eastmount/article/details/106204633

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多