您可能之前看到過我寫的類似文章,為什么還要重復撰寫呢?只是想更好地幫助初學者了解病毒逆向分析和系統安全,更加成體系且不破壞之前的系列,因此,我重新開設了這個專欄,準備系統整理和深入學習系統安全、逆向分析和惡意代碼檢測,“系統安全”系列文章會更加聚焦,更加系統,更加深入,也是作者的慢慢成長史,換專業確實挺難的,逆向分析也是塊硬骨頭,但我也試試,看看自己未來四年究竟能將它學到什么程度,漫漫長征路,偏向虎山行,享受程序,一起加油~
作者前文介紹了PE檔案格式,熟悉各種PE編輯查看工具,針對目標EXE程式新增對話框等;這篇文章將介紹Windows PE病毒, 包括PE病毒原理、分類及感染方式詳解,并通過案例進行介紹,這些基礎性知識不僅和系統安全相關,同樣與我們身邊的APP、常用軟體及作業系統緊密聯系,希望這些知識對您有所幫助,更希望大家提高安全意識,安全保障任重道遠,本文參考了《軟體安全》視頻、安全網站和參考文獻中的文章,并結合自己的經驗和實踐進行撰寫,也推薦大家閱讀參考文獻,
文章目錄
- 一.PE病毒概念
- 二.PE病毒的分類
- 三.傳統檔案感染型
- 1.感染思路
- 2.PE病毒典型案例
- 3.關鍵技術
- (1) 重定位
- (2) API函式自獲取
- (3) 目標程式遍歷搜索
- (4) 檔案感染
- 四.捆綁釋放型
- 五.系統感染型
- 1.控制權再次獲取
- 2.病毒的傳播方式
- 六.總結
從2019年7月開始,我來到了一個陌生的專業——網路空間安全,初入安全領域,是非常痛苦和難受的,要學的東西太多、涉及面太廣,但好在自己通過分享100篇“網路安全自學”系列文章,艱難前行著,感恩這一年相識、相知、相趣的安全大佬和朋友們,如果寫得不好或不足之處,還請大家海涵!
接下來我將開啟新的安全系列,叫“系統安全”,也是免費的100篇文章,作者將更加深入的去研究惡意樣本分析、逆向分析、內網滲透、網路攻防實戰等,也將通過在線筆記和實踐操作的形式分享與博友們學習,希望能與您一起進步,加油~
- 推薦前文:網路安全自學篇系列-100篇
作者的github資源:
- 逆向分析:https://github.com/eastmountyxz/SystemSecurity-ReverseAnalysis
- 網路安全:https://github.com/eastmountyxz/NetworkSecuritySelf-study
前文分析:
- [系統安全] 一.什么是逆向分析、逆向分析基礎及經典掃雷游戲逆向
- [系統安全] 二.如何學好逆向分析及呂布傳游戲逆向案例
- [系統安全] 三.IDA Pro反匯編工具初識及逆向工程解密實戰
- [系統安全] 四.OllyDbg動態分析工具基礎用法及Crakeme逆向
- [系統安全] 五.OllyDbg和Cheat Engine工具逆向分析植物大戰僵尸游戲
- [系統安全] 六.逆向分析之條件陳述句和回圈陳述句原始碼還原及流程控制
- [系統安全] 七.逆向分析之PE病毒原理、C++實作檔案加解密及OllyDbg逆向
- [系統安全] 八.Windows漏洞利用之CVE-2019-0708復現及藍屏攻擊
- [系統安全] 九.Windows漏洞利用之MS08-067遠程代碼執行漏洞復現及深度提權
- [系統安全] 十.Windows漏洞利用之SMBv3服務遠程代碼執行漏洞(CVE-2020-0796)復現
- [系統安全] 十一.那些年的熊貓燒香及PE病毒行為機理分析
- [系統安全] 十二.熊貓燒香病毒IDA和OD逆向分析(上)病毒初始化
- [系統安全] 十三.熊貓燒香病毒IDA和OD逆向分析(中)病毒釋放機理
- [系統安全] 十四.熊貓燒香病毒IDA和OD逆向分析–病毒釋放程序(下)
- [系統安全] 十五.Chrome瀏覽器保留密碼功能滲透決議、藍屏漏洞及某音樂軟體漏洞復現
- [系統安全] 十六.PE檔案逆向基礎知識(PE決議、PE編輯工具和PE修改)
- [系統安全] 十七.Windows PE病毒概念、分類及感染方式詳解
宣告:本人堅決反對利用教學方法進行犯罪的行為,一切犯罪行為必將受到嚴懲,綠色網路需要我們共同維護,更推薦大家了解它們背后的原理,更好地進行防護,該樣本不會分享給大家,分析工具會分享,(參考文獻見后)
一.PE病毒概念
什么是PE病毒?
PE病毒又稱為Win32 PE病毒,或稱為Win32病毒,它指所有感染Windows下PE檔案格式檔案的病毒,因為它通常采用Win32匯編撰寫,而且格式為PE檔案,因此而得名,PE病毒是以Windows PE程式為載體,能寄生于PE檔案或Windows系統的病毒程式, 真正的病毒技術在PE病毒中才會得到真正的體現,所以對于一個黑客、駭客或者是熱衷于病毒分析技術的程式員,是非常有必要進行學習PE病毒的撰寫的,
PE病毒數量非常之多,下面介紹三種經典的病毒,
- CIH病毒
早期病毒,全球第一個可以破壞計算機硬體的病毒,它會破壞主板的BIOS,對其資料進行擦寫修改,CIH病毒是一種能夠破壞計算機系統硬體的惡性病毒,這個病毒是TW陳盈豪在念書期間制作,后通過網路傳播到全世界各個角落,CIH的載體是一個名為“ICQ中文Chat模塊”的工具,并以熱門盜版光碟游戲如“古墓奇兵”或Windows95/98為媒介,經互聯網各網站互相轉載,使其迅速傳播,傳播的主要途徑主要通過Internet和電子郵件,當然隨著時間的推移,其傳播主要仍將通過軟盤或光碟途徑,CIH病毒曾入榜全球十大計算機病毒之首,該病毒引起了許多重要部門的嚴密關注,

- 熊貓燒香
熊貓燒香(Worm.WhBoy)是一款擁有自動傳播、自動感染硬碟能力和強大的破壞能力的病毒,它不但能感染系統中exe、com、pif、src、html、asp等檔案,它還能中止大量的反病毒軟體行程并且會洗掉擴展名為gho的檔案,該檔案是一系統備份工具GHOST的備份檔案,使用戶的系統備份檔案丟失,被感染的用戶系統中所有.exe可執行檔案全部被改成熊貓舉著三根香的模樣,2006年10月16日由25歲的湖北武漢李俊撰寫,2007年1月初肆虐網路,它主要通過下載的檔案傳染傳播,

- WannaCry蠕蟲
2017年5月12日,WannaCry蠕蟲通過永恒之藍MS17-010漏洞在全球范圍大爆發,感染大量的計算機,WannaCry勒索病毒全球大爆發,至少150個國家、30萬名用戶中招,造成損失達80億美元,已影響金融、能源、醫療、教育等眾多行業,造成嚴重的危害,
WannaCry是一種“蠕蟲式”勒索病毒軟體,由不法分子利用NSA泄露方程式工具包的危險漏洞“EternalBlue”(永恒之藍)進行傳播,該蠕蟲感染計算機后會向計算機中植入敲詐者病毒,導致電腦大量檔案被加密,WannaCry利用Windows系統的SMB漏洞獲取系統的最高權限,該工具通過惡意代碼掃描開放445埠的Windows系統,被掃描到的Windows系統,只要開機上線,不需要用戶進行任何操作,即可通過共享漏洞上傳WannaCry勒索病毒等惡意程式,

什么叫感染?
說到病毒,不得不提感染,感染是指在盡量不影響目標程式(系統)正常功能的前提下,而使其具有病毒自身的功能,什么叫病毒自身的功能呢?一個病毒通常包括如下模塊:
- 感染模塊: 被感人程式同樣具備感染能力
- 觸發模塊: 在特定條件下實施相應的病毒功能,比如日期、鍵盤輸入等
- 破壞模塊: 網路攻擊行為,推薦攻擊鏈或ATT&CK
- 其他模塊
如果我們要撰寫PE病毒,則需要掌握以下的關鍵:
- 病毒的重定位
- 獲取API函式地址
- 檔案搜索
- 記憶體映射檔案
- 病毒如何感染其他檔案
- 病毒如何回傳到Host程式
二.PE病毒的分類
以感染目標進行分類,包括:
(1) 檔案感染
將代碼寄生在PE檔案,病毒本身只是PE檔案的一部分,依賴于感染目標,通常也叫HOST檔案,控制權獲得也是以目標程式運行來獲得的,分為:
- 傳統感染型:以Win32匯編程式撰寫為主
- 捆綁釋放型:撰寫難度較低,通過高級語言均可撰寫,將目標程式和病毒程式捆在一起,和捆綁器有相似之處
(2) 系統感染
將代碼或程式寄生在Windows作業系統,該類病毒越來越多,它不感染具體檔案,但是它會在作業系統中保存自己的物體,同時也可以通過系統啟動的方法來獲取控制權,傳播途徑包括:
- 即時通信軟體,如QQ尾巴
- U盤、光碟
- 電子郵件
- 網路共享
- 其他途徑
三.傳統檔案感染型
1.感染思路
作者前面詳細分析了PE檔案格式,參考文章:
- [系統安全] 十六.PE檔案逆向基礎知識(PE決議、PE編輯工具和PE修改)
當我們了解PE檔案格式之后,要了解PE檔案感染型病毒就非常容易了,如下圖所示,左邊是一個正常的PE檔案,右邊是PE病毒感染該程式時的修改,可以看到病毒代碼在最后面,通常它是一種新節的形式,我們知道PE檔案是由多個節組成的,病毒代碼為了融入目標程式會以節的形式,同時修改PE檔案頭,

對感染來說,它一方面需要使得對方具備自己的功能,另一方面也不破壞對方程式的功能,所以病毒代碼執行完畢之后,它必須要將控制權交給原始程式,從而防止病毒被發現,
- 優點: 被感染后的程式主題依然是目標程式,不影響目標程式圖示,隱蔽性稍好
- 缺點: 對病毒代碼的撰寫要求較高,通常是匯編語言撰寫,難以成功感染自校驗程式
2.PE病毒典型案例
下面是演示案例,感染本目錄下的test.exe檔案,它沒有破壞性,tset.exe被感染后,首先執行病毒代碼,然后執行自身代碼,如下圖所示,存在四個檔案,其中main.exe是PE病毒程式,它會感染當前目錄下名為“test.exe”的檔案,這里僅是測驗PE病毒感染代碼,沒有破壞功能,
- calc.exe:計算器
- notepad.exe:記事本
- test.exe:測驗PE檔案
- main.exe:PE病毒程式

第一步,我們嘗試打開test.exe檔案,它是一個正常的PE檔案,前面的文章也分析過,它包括兩個彈窗,如下圖所示,


第二步,使用OD打開test.exe如下圖所示,發現起始地址為0x00401000,該exe程式大小為2.50KB,

第三步,運行main.exe程式,它是PE病毒,注意,它會彈出如下圖所示對話框,這是為了方便演示,而真實的PE病毒不會提示你資訊,程式是兩位大佬所寫,其中一位是Hume前輩,另一位 ^ _ ^

同時,如果360會查殺該病毒,添加信任即可,但當我們在真實惡意樣本分析時,一定要在虛擬機等有保護環境下進行,

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

第四步,此時test.exe檔案大小已經增加為6.50KB,說明其已經被惡意感染,

雙擊test.exe顯示如下圖所示,它會先彈出一個感染測驗對話框,然后才是接下來的正常程式對話框,


用OD動態分析,發現程式入口地址是0x004042DC,說明該程式先執行PE病毒,之后才執行正常的程式,而真實的PE病毒不會只簡單的彈出提示視窗,而會隱蔽的進行一些破壞或收集資訊,

第五步,將被感染的“test.exe”重命名為“test-ok.exe”,然后將記事本修改為“test.exe”,因為我們的代碼只感染當前目錄下“test”命名的檔案,

接著運行“test-ok.exe”程式,發現打開記事本也會彈出如下圖所示的對話框,接著才是記事本,說明該程式也被感染,


第六步,通過同樣的方法感染計算器程式,如下圖所示,


寫到這里,該案例就演示完畢,這是一個傳統典型的PE病毒感染示例,
3.關鍵技術
(1) 重定位
重定位在前面講PE檔案格式化時介紹過,尤其DLL檔案常見重定位,因為DLL檔案會加載到不同的位置,如果再按照VA地址定位會出現差錯,所以會出現重定位,對于病毒程式也是一樣的,它有相應的代碼去感染目標程式,而目標程式有很多,病毒程式寫在目標程式什么位置呢?這就需要病毒代碼去定位目標程式的位置,就要利用重定位技術,
- 關鍵點:病毒代碼目標寄生位置不固定
- shellcode類似:通常需要注入遠程系統,但這段代碼在遠程系統什么位置有時并不能確定,另外遠程系統的環境有時也不能準確感知,故需要使用重定位和API函式自獲取技術
① 為什么需要重定位呢?
下面是一段源代碼(PE最小檔案案例),通過mas32編譯生成的目標程式,源代碼非常簡單,就是呼叫invoke,通過invoke呼叫MessageBox函式,包括四個引數;程式第二個陳述句是invoke呼叫退出,這里彈出對話框涉及兩個字串szCap和szMsgOK,
- invoke MessageBox, NULL, addr szMsgOK, addr szCap, 40h+1000h
- invoke ExitProcess, NULL

當該程式編譯之后,反匯編結構顯示如下圖所示,比如Start位置,MessageBox函式包括四個引數,我們采用PUSH壓入堆疊,再CALL呼叫該函式,
- push offset off_00401000
- push offset off_00401014
圖中紅色圓圈顯示的是PE檔案代碼的二進制部分,它是一個VA的地址,即RVA+ImageBase,程式在編譯后,某些VA地址(如變數Var 004010xxh)就已經以二進制代碼的形式固定,這就是需要重定位的原因,

下圖展示正常情況的ImageBase,值為400000H,比如HEX資料為“00104000”,由于高位在后面,所以對應的地址是“00 40 10 00”,

如果ImageBase為600000H,則代碼不做重定位,PUSH壓入堆疊的值為401000和401014,而此時的值什么也不是,通過資料視窗定位地址發現不存在,左下角可以看到,00601000位置才是存放的資料,所以,重定位需要將這里的40修改為60,

總之,如果病毒代碼插入位置不固定,也會遇到類似的問題,病毒代碼必須通過重定位解決類似的問題,
② 下面看看病毒代碼植入HOST檔案后的位置差異,
左邊是病毒在感染前的VAR位置,其地址為004010xx;當這段代碼插入到另一個HOST檔案后,如右圖所示,變數的實際位置和預期位置出現了差異,而重定位的關鍵是知道這個差異是多少,后續遇到的各種變數或地址都可以通過這種差異方式校正,
- 重定位本質:修正實際地址與預期地址的差異

但是根據HOST特征逐一硬編碼這種方式不太可取,其繁瑣且未必準確,所以采用另一種方法,病毒代碼運行程序中自我重定位,
下圖展示了病毒代碼自我重定位的程序,
- 第一步,計算差異值;
- 第二步,呼叫call delta將下一條陳述句開始位置壓入堆疊,此時堆疊頂端存放的是pop ebp陳述句,它在記憶體中是真實的地址;
- 第三步,做sub減法操作,ebp減去offset delta;
- 第四步,當需要重定位時,比如使用varl變數,重定位通過ebp+offset來消除差異,此時eax中存放varl在記憶體中的真實地址,
CALL陳述句功能:
- 將下一條陳述句開始位置壓入堆疊
- JMP到目標地址執行

(2) API函式自獲取
首先介紹下PE檔案函式節的功能,
- 當呼叫外部DLL中的API函式時,通過引入函式節將這種關系定義出來;系統加載時就能加載對應的DLL檔案并找到相應的API函式,再將地址寫入到PE檔案的引入函式表中;程式運行時就直接從引入函式表中取地址進行呼叫,這是正常的PE檔案運行程序,通常函式節是由目標程式作者撰寫,
但對于病毒程式來說,它是一段代碼,當它感染另外一個程式時,它是否能修改目標程式的引入函式節,而使得其可以服務病毒代碼呢?從原理上來說,這是可以實作的,但非常復雜,因為要在參考函式節添加東西一定會導致其他結構的變化,需要做很多的修正作業,這也可能破壞原有功能,所以對于病毒來說,它需要自己去獲取API函式地址,并且沒有引入函式節的支撐,但它又必須要使用很多API函式來實作病毒功能,
- 關鍵點:需要使用的API函式,但無引入函式節支撐
- shellcode類似:需要使用API函式自獲取技術來確定注入遠程系統的位置
① 如何獲取API函式地址呢?
- DLL檔案的引出函式節
- Kernel32.dll:核心API函式為 GetProcAddress和LoadLibraryA
- GetProcAddress函式:包括兩個引數,模塊基地址和想要獲取API函式名稱,它將動態獲得DLL函式的入口地址
- LoadLibraryA函式:將制定的DLL元件加載到記憶體中,回傳值為DLL檔案加載到記憶體中的基地址
② 當我們獲得GetProcAddress和LoadLibraryA地址后,想獲取任何一個API函式地址都可以,那么,怎么獲取這兩個函式的地址呢?
- 首先,獲得kernel32.dll的模塊加載基地址
一種方法是采用硬編碼(兼容性差),另一種方法通過Kernel模塊中的相應結構和特征定位 - 其次,通過Kernel32.dll的引出目錄表結構定位具體函式的函式地址
③ 接著,我們看看獲取Kernel32模塊基地址的典型方法,
- 定位Kernel32模塊中任何一個地址,然后按照模塊首地址特征(對齊于10000H,PE檔案開始標識MZ)向低地址遍歷定位PE檔案頭
- Kernel32模塊內的地址從何處獲得?
– 程式入口代碼執行時Stack頂端存盤的地址
– SEH鏈末端
– PEB相關資料結構指向了各模塊地址
– Stack特定高端地址的資料
注意:不同作業系統存在差別

(3) 目標程式遍歷搜索
通常以PE檔案格式的檔案(如EXE、SCR、DLL等)作為感染目標,其關鍵點為全盤查找或者部分盤符查找,遍歷演算法包括遞回或非遞回,在對目標進行搜索時,通常呼叫兩個API函式:
- FindFirstFile
- FindNextFile
搜索目標進行感染演算法如下:

(4) 檔案感染
感染的關鍵是病毒代碼能夠得到運行,常用方法包括:
- 選擇合適的位置放入病毒代碼(已有節、新增節)
- 將控制權交給病毒代碼,如修改程式入口點AddressofEntryPoint,或者在原目標代碼執行程序中運行病毒代碼(EPO技術,EntryPoint Obscuring)
同時,病毒代碼執行時,程式的正常功能不能被破壞,即控制權的交換,
- 感染時,記錄原始“程式控制點位置”
- 病毒代碼執行完畢之后,回傳控制權
- 避免重復感染,感染標記

感染檔案的基本步驟為:
- ①判斷目標檔案開始的兩個位元組是否為“MZ”
- ②判斷PE檔案標記“PE”
- ③判斷感染標記,如果已被感染過則跳出繼續執行HOST程式,否則繼續
- ④獲得Directory(資料目錄)的個數(每個資料目錄資訊占8個位元組)
- ⑤得到節表起始位置(Directory的偏移地址+資料目錄占用的位元組數=節表
起始位置) - ⑥得到目前最后節表的末尾偏移(緊接其后用于寫入一個新的病毒節)節表起
始位置+節的個數*(每個節表占用的位元組數28H)=目前最后節表的末尾偏移 - ⑦開始寫入節表和病毒節
- ⑧修正檔案頭資訊
四.捆綁釋放型
捆綁釋放型感染實作起來比較簡單,目前很大一部分病毒程式都采用這種方法,捆綁釋放型感染時將目標HOST程式作為資料存盤在病毒體內,當執行病毒程式時,它先執行病毒程式,然后還原并執行HOST檔案,從而保證被感染的程式本身能正常運行,不會引起一些異樣,
-
熊貓燒香病毒
左邊是一個正常程式(QQ),感染之后會將病毒放在前面,正常程式放在后面,程式運行之后,病毒會拿到控制權,但是程式圖示會顯示前面的病毒程式,顯示熊貓燒香,這也是一個明顯的被感染特征, -
優點: 撰寫簡單、效率高,可感染自校驗程式
-
缺點: 被感染后的程式主體是病毒程式,易被發現(程式疊加+釋放執行),程式圖示問題

五.系統感染型
系統感染型本身不對PE檔案做任何感染操作,但它感染的目標是作業系統,也是一種寄生類的方式,只是寄生目標有所不同,這類病毒通常為獨立個體,不感染系統內的其他檔案,
兩個關鍵問題:
- 如何再次獲得控制權——自啟動
由于該程式不感染PE檔案,它沒有HOST檔案,所以如何再次獲得控制權是一個關鍵性問題,也是目標很多病毒程式設計時不得不考慮的問題,此時和作業系統自啟動相關,病毒必須依賴于該機制再次獲得控制權, - 如何傳播
可移動存盤介質(U盤、移動硬碟刻錄光碟等)
網路共享
電子郵件或其他應用
1.控制權再次獲取
下面簡單講解控制權再次獲取的自啟動方式,首先看看作業系統啟動流程:
- BIOS --> 硬碟MBR --> 活動磁區DBR --> 系統內部
整個啟動流程也是控制權傳遞的程序,包括現在提出的可信計算,也是對控制權一步一步的校驗,控制流程的資料完整性或行為的校驗,對于作業系統本身,它的啟動方式很多,系統內部包括:
- 注冊表中的鍵值
- 系統中的特定位置
- 組態檔
- 特定路徑的特定檔案,如Explorer.exe(顯示桌面)
下圖展示了Autoruns軟體看到Windows作業系統進行自啟動的選項,如果病毒本身能很好地結合這套機制,它可以做的事情非常多,并且具有很好的隱蔽性,

其他啟動方式:
-
利用系統自動播放機制Autorun.inf
比如U盤病毒或光碟病毒就是利用U盤或光碟的自動播放功能,目前,也有一些U盤插入之后,不需要你去雙擊這個U盤,里面的程式就會自啟動, -
在其他可執行檔案嵌入少量觸發代碼
修改引入函式節啟動DLL病毒檔案(添加相應結構,初始化代碼觸發)
在特定PE檔案代碼段插入觸發代碼等(只需定位可執行程式并運行) -
DLL劫持:替換已有DLL檔案
很多應用程式或作業系統執行時,都會去執行DLL檔案,如果病毒將自身做成一個DLL檔案,同時將系統DLL檔案替換,可想而知,系統啟動時,它是根據檔案名啟動的,此時病毒DLL檔案就會拿到控制權,如果拿到控制權之后再進一步裝載原始DLL檔案,這樣系統的本身機制也不會受到影響,隱蔽性更強,該方法非常常見,甚至有一些病毒程式將反病毒軟體可依賴的DLL檔案替換,
2.病毒的傳播方式
一切可對外互動的渠道都可傳播,包括:
- 各類存盤設備(軟盤、光碟、U盤、移動硬碟、智能設備)
- 各類網路通信方式(QQ、MSN、Email、淘寶旺旺、微信、微博等)
- 各類網路連接方式(有線、wifi、藍牙等)
- 各類網路應用(迅雷、BT等)

郵件蠕蟲越來越常見,其中以郵件附件的形式進行傳播較多,附件中可能包含病毒包括exe檔案、rar檔案、pdf檔案、doc檔案、xls檔案、jpg檔案、chm檔案等,下圖是一個包含病毒的郵件附件,顯示為一個word檔案,后綴名doc,圖示顯示也是word,但它的真實后綴是scr(屏保),它其實是利用了一種技術,在檔案名里插入翻轉字符,然后將翻轉字符之后的其他字符進行了翻轉,它的完整檔案名應該是“5月TW行lmcod.scr”,這也是一種欺騙性很強的攻擊手法,

再補充一個通過可移動存盤設備傳播的非感染式病毒,即Autorun.inf,右圖顯示了Autorun.inf檔案,如果檔案存在U盤根目錄,當我們雙擊這個U盤時,它就會觸發對應的病毒,如果選擇U盤盤符右鍵打開或打開資源管理器,這是進入的也是病毒程式,當然下面的演示是計算器程式,
[AutoRun]
open=mspaint.exe
shell\open=打開(&O)
shell\open\Command=calc.exe
shell\open\Default=1
shell\explore=資源管理器(&X)
shell\explore\Command=calc.exe

還有一類是偽裝的檔案夾,如下圖所示photo.exe檔案,當Windows作業系統默認不顯示“.exe”時,它就能偽裝成檔案夾,當我們雙擊之后就會運行病毒,同時可以打開某個檔案夾進行隱蔽,

最后,補充“擺渡”知識點,這種攻擊行為經常發生在一些具有特殊目的病毒程式身上,期望通過可移動的媒介來滲透一些平時不聯網的電腦中,并從中獲取資料,利用擺渡的方式植入病毒或木馬到內網,比較典型的案例就是Stuxnet,

下圖展示了Stuxnet震網事件的漏洞利用程序和啟動方式,傳統的Autorun方式很容易被禁止掉,而Stuxnet利用的是lnk漏洞(MS10-046),它會在目標U盤下放入lnk快捷方式及病毒程式(如DLL檔案),不管通過什么方式進入U盤,lnk檔案會被決議從而觸發漏洞,導致U盤中的病毒程式被執行,

六.總結
寫到這里,這篇文章就介紹完畢,通過這些PE病毒原理、分類及感染方式的講解,有利于大家去做一些拓展和思考,也體現出當下的網路形式,存在很多安全隱患,安全防御是非常必要的,
- PE病毒概念
- PE病毒的分類
- 傳統檔案感染型
感染思路
PE病毒典型案例
關鍵技術 - 捆綁釋放型
- 系統感染型
控制權再次獲取
病毒的傳播方式
學安全一年,認識了很多安全大佬和朋友,希望大家一起進步,這篇文章中如果存在一些不足,還請海涵,作者作為網路安全和系統安全初學者的慢慢成長路吧!希望未來能更透徹撰寫相關文章,同時非常感謝參考文獻中的安全大佬們的文章分享,感謝師傅、實驗室小伙伴的教導,深知自己很菜,得努力前行,編程沒有捷徑,逆向也沒有捷徑,它們都是搬磚活,少琢磨技巧,干就對了,什么時候你把攻擊對手按在地上摩擦,你就贏了,也會慢慢形成了自己的安全經驗和技巧,加油吧,少年希望這個路線對你有所幫助,共勉,
歡迎大家討論,是否覺得這系列文章幫助到您!如果存在不足之處,還請海涵,任何建議都可以評論告知讀者,共勉~
- 逆向分析:https://github.com/eastmountyxz/SystemSecurity-ReverseAnalysis
- 網路安全:https://github.com/eastmountyxz/NetworkSecuritySelf-study
2020年8月18新開的“娜璋AI安全之家”,主要圍繞Python大資料分析、網路空間安全、人工智能、Web滲透及攻防技術進行講解,同時分享CCF、SCI、南核北核論文的演算法實作,娜璋之家會更加系統,并重構作者的所有文章,從零講解Python和安全,寫了近十年文章,真心想把自己所學所感所做分享出來,還請各位多多指教,真誠邀請您的關注!謝謝,
(By:Eastmount 2021-02-01 星期一 夜于貴陽 http://blog.csdn.net/eastmount/ )
參考文獻:
[1] 武大《軟體安全》課程
[2] MOOC《軟體安全之惡意代碼機理與防護》
[3] PE檔案格式分析 - Erio
[4] 第二章PE檔案結構決議 - 百度文庫
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/255639.html
標籤:其他
