惡意代碼啟動手法匯總

一、開始菜單啟動目錄

“開始——程序——啟動菜單“,其中的程序和快捷方式都會在系統(tǒng)啟動時自動運行。
最常見的啟動位置如下:

當前用戶

**<C:\Documents and Settings\用戶名\「開始」菜單\程序\啟動> **
C:\Users\Current user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

所有用戶

**<C:\Documents and Settings\All Users\「開始」菜單\程序\啟動> **
C:\Users\All Users\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

二、注冊表啟動

注冊表是啟動程序藏身之處最多的地方,主要有以下幾項:

1.Run鍵

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]
其下的所有程序在每次啟動登錄時都會按順序自動執(zhí)行。

2.RunOnce鍵

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]
與Run鍵不同的是,RunOnce下的程序僅會被自動執(zhí)行一次。

3.RunServicesOnce鍵

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]
鍵值下的程序會在系統(tǒng)加載時自動啟動執(zhí)行一次。

4.RunServices鍵

RunServices繼RunServicesOnce之后啟動的程序,位于:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices]

5.RunOnceEx鍵

該鍵是Windows XP/2003特有的自啟動注冊表項,位于:
[HKEY_CURRENT_USER\\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ RunOnceEx]

6.load鍵

[HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows]
load鍵值下的程序也可以自啟動。

7.Winlogon鍵

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
注意下面的Notify、Userinit、Shell鍵值也會有自啟動的程序,而且其鍵值可以用逗號分隔,從而實現(xiàn)登錄的時候啟動多個程序。

8.其他注冊表位置

還有一些其他鍵值,經(jīng)常會有一些程序在這里自動運行,如:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad]
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts]
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System\Scripts]

9.注冊表注入啟動

更改AppInit_DLLs和LoadAppInit_DLLs注冊表鍵值,User32.dll被加載到進程時,會獲取AppInit_DLLs注冊表項,若有值,則調(diào)用LoadLibrary() API加載用戶DLL。所以,DLL注冊表注入,并不會影響所有進程,只會影響加載了user32.dll的進程。該鍵值位于:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]

10.創(chuàng)建服務

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services]
該鍵值下關(guān)聯(lián)本機啟動的服務進程,通過創(chuàng)建相應的服務去關(guān)聯(lián)惡意樣本實現(xiàn)啟動。

注冊表的[HKEY_LOCAL_MACHINE][HKEY_CURRENT_USER]鍵的區(qū)別:
前者對所有用戶有效,后者只對當前用戶有效。

32位和64位的在注冊表中的區(qū)別會多了一個Wow6432Node.

三、自動批處理文件

autoexec.bat(位于系統(tǒng)盤根目錄)這個自動批處理文件,它會在電腦啟動時自動運行,早期許多病毒利用它,使用deltree、format等危險命令來破壞硬盤數(shù)據(jù)。如“C盤殺手”就是用一句“deltree /y c:\*.*”命令,讓電腦一啟動就自動刪除C盤所有文件。在Windows 98中,Winstart.bat文件,winstart.bat位于Windows文件夾,也會在啟動時自動執(zhí)行。
在Windows Me/2000/XP中,上述兩個批處理文件默認都不會被執(zhí)行

四、常用的啟動——系統(tǒng)配置文件

在Windows的配置文件(包括Win.ini、System.ini和wininit.ini文件)也會加載一些自動運行的程序。

1.Win.ini文件

打開Win.ini文件,在[windows]段下的“Run=”和“LOAD=”語句后面就可以直接加可執(zhí)行程序,只要程序名稱及路徑寫在“=”后面即可?!發(fā)oad=”后面的程序在自啟動后最小化運行,而“run=”后程序則會正常運行。

2.System.ini文件

打開System.ini文件,找到[boot]段下“shell=”語句,該語句默認為“shell= Explorer.exe”,啟動的時候運行Windows外殼程序explorer.exe。如將該句變成“shell=Explorer.exe 惡意程序名”。

3.wininit.ini

wininit.ini文件是很容易被許多電腦用戶忽視的系統(tǒng)配置文件,因為該文件在Windows啟動時自動執(zhí)后會被自動刪除,這就是說該文件中的命令只會自動執(zhí)行一次。該配置文件主要由軟件的安裝程序生成,對那些在Windows圖形界面啟動后就不能進行刪除、更新和重命名的文件進行操作。

五、組策略編輯器啟動——開/關(guān)機/登錄/注銷腳本

在Windows 2000/XP中,單擊“開始→運行”,輸入gpedit.msc回車可以打開“組策略編輯器”,在左側(cè)窗格展開“本地計算機策略→用戶配置→管理模板→ 系統(tǒng)→登錄”,然后在右窗格中雙擊“在用戶登錄時運行這些程序”,單擊“顯示”按鈕,在“登錄時運行的項目”下就顯示了自啟動的程序。

六、定時啟動——任務計劃

在默認情況下,“任務計劃”程序隨Windows一起啟動并在后臺運行。如果把某個程序添加到計劃任務文件夾,并將計劃任務設(shè)置為“系統(tǒng)啟動時”或“登錄時”,這樣也可以實現(xiàn)程序自啟動。通過“計劃任務”加載的程序一般會在任務欄系統(tǒng)托盤區(qū)里有它們的圖標。大家也可以雙擊“控制面板”中的“計劃任務”圖標查看其中的項目。

“任務計劃”也是一個特殊的系統(tǒng)文件夾,單擊“開始→程序→附件→系統(tǒng)工具→任務計劃”即可打開該文件夾,從而方便進行查看和管理。

七、白加黑——服務進程加載被替換過的惡意dll模塊

利用系統(tǒng)本身自啟服務進程,通過替換其服務所加載的dll,實現(xiàn)自啟動。

八、dll劫持

因為WIndows上的Dll加載有一個默認的加載順序,就是先在主程序當前目錄下查找dll,如果沒有就在系統(tǒng)路徑下找,如果還沒有,就去環(huán)境變量路徑里找,就因為這個我們可以優(yōu)先級高的位置放入我們準備好的惡意dll,這個就可以優(yōu)先加載惡意dll,實現(xiàn)啟動。

九、Bootkit

1.通過感染MBR(磁盤主引記錄)

實現(xiàn)繞過內(nèi)核檢查和隱藏啟動。

2.修改固件系統(tǒng)

通過修改固件系統(tǒng)實現(xiàn)自啟動。例如方程式(EQUATION)組織的攻擊組件,通過修改硬盤固件,不依靠文件載體,而是完整的存在于注冊表中,依靠bootkit在操作系統(tǒng)啟動時執(zhí)行,這一機制穿透了安全產(chǎn)品以文件為檢測對象的機制,也穿透了相關(guān)基于白名單和可信計算的解決方案。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 這篇文章幾乎幾乎原封不動的搬過來了這位博主的內(nèi)容,作為自己以后查詢方便用~ reference:http://bl...
    DeamoV閱讀 20,777評論 3 33
  • 一.清理垃圾 在Windows在安裝和使用過程中都會產(chǎn)生相當多的垃圾文件,包括臨時文件(如:*.tmp、*._mp...
    灰斗兒閱讀 851評論 3 16
  • dos 批處理 一:windows的命令行模式(win+R)在里面寫CMD就可以進入windows的命令行模式了二...
    chenchao981閱讀 840評論 0 6
  • 身體和靈魂,總有一個在路上!不知這句話是從什么時候開始流行的,但卻給了每個不安分的靈魂一個出口。如果你是看到這個標...
    婧婧的糖糖閱讀 909評論 3 6
  • 窗外下雨,滴答滴答。在租的房子里面關(guān)了燈,安靜的坐在電腦前。本打算撤掉電腦安靜的在書桌前練練字毛筆字靜靜心,但發(fā)現(xiàn)...
    夢鹿是一只貓閱讀 163評論 0 0

友情鏈接更多精彩內(nèi)容