dll劫持破壞360

2021-09-18 07:17:33 字數 3051 閱讀 5341

說起dll劫持技術,相信大家都不會陌生,因為這種技術的應用比較廣泛,比如

木馬後門的啟動

、破解程式的記憶體補丁

、外掛程式外掛程式的注入以及加密狗的模擬

等。之所以dll劫持技術深受黑客們的喜愛,主要是因為該技術可以有效的躲過大部分殺軟,並且實現起來技術難度不大。

dll劫持技術也不是什麼新技術,記得在《

windows

核心程式設計》中也有提及相關技術。可是對我們廣大初學者來說,dll劫持技術就顯得很神秘了,本系列教程將向大家詳細講解什麼是

dll劫持、

dll劫持的形成原因及原理、最後還會以例項向大家講解如何通過程式設計實現

dll劫持。

首先我們要了解

windows

為什麼可以dll劫持呢?主要是因為

windows

的資源共享機制。為了盡可能多得安排資源共享,微軟建議多個應用程式共享的任何模組應該放在

windows

的系統目錄中,如kernel32.dll,這樣能夠方便找到。但是隨著時間的推移,安裝程式會用舊檔案或者未向後相容的新檔案來替換系統目錄下的檔案,這樣會使一些其他的應用程式無法正確執行,因此,微軟改變了策略,建議應用程式將所有檔案放到自己的目錄中去,而不要去碰系統目錄下的任何東西。

為了提供這樣的功能,

在window2000開始,微軟加了乙個特性,強制作業系統的引導程式首先從應用程式目錄中載入模組,只有當引導程式無法在應用程式目錄中找到檔案,才搜尋其他目錄。利用系統的這個特性,就可以使應用程式強制載入我們指定的

dll做一些特殊的工作。

舉個例子來說吧,

windows

的系統目錄下有乙個名為lpk.dll的系統檔案,程式執行時會在

c:\windows\system32

資料夾下找到這個

dll檔案並載入它。

我們也可以在cmd中使用

tasklist /m |more

檢視執行的程式呼叫的

dll檔案

根據前面說的

windows

資源共享機制,作業系統引導程式首先從應用程式目錄中載入模組。這一特性在登錄檔中也有體現:hklm\system\currentcontrolset\control\session manager\safedllsearchmode,如果為

1,搜尋的順序為:應用程式所在目錄

->

系統目錄(用

getsystemdirectory

獲取)->16

位系統目錄

->

windows

目錄(用getwindowsdirectory獲取)

->

執行程式的當前目錄

->path

環境變數,如果為

0,搜尋順序為:應用程式所在目錄

->

執行程式的當前目錄

->

系統目錄(用

getsystemdirectory

獲取)->16

位系統目錄

->

windows

目錄(用getwindowsdirectory獲取)

->path

環境變數。

windows server 2003預設值為1,

windows xp/2000預設值為

0或者沒有這個鍵值。

但是不管是哪種情況,第乙個搜尋的肯定是應用程式的所在目錄,這樣就有機會讓應用程式去載入我們的dll。如果這個dll和系統目錄下的某個

dll同名,匯出表也相同,功能就是載入系統目錄下的那個

dll,並且將匯出表**到那個真實的

dll。這時

dll劫持就發生了。可以看出,構造乙個符合上面要求的

dll,再將其放在可執行檔案的目錄即可輕鬆實現

dll劫持了。

實驗環境:windows7

360版本:360安全衛士11

首先生成乙個dll

這裡生成的惡意dll會呼叫

cmd執行

calc.exe(

計算器)

,當然執行的程式也可以是木馬程式。

我們使用procmon來觀察360缺少的dll(procmon是微軟出品用於監視windows系統裡程式的運**況,監視內容包括該程式對登錄檔的讀寫對檔案的讀寫網路的連線程序和執行緒的呼叫情況,procmon 是一款超強的系統監視軟體。)

新增以上規則,注意規則的型別。

執行360,可以看到呼叫的

dll以及

dll具體路徑

可以看到呼叫了系統的dll

修改msf生成的dll名為api-ms-win-core-synch-l1-2-0,扔進c:\windows\system32資料夾裡

重新執行360

卿先生 閱讀(

...)

編輯收藏

DLL劫持原理

系統有一套標準的搜尋dll路徑的規則,這套規則又分為兩種搜尋模式,安全搜尋模式,非安全搜尋模式。預設情況下啟用安全dll搜尋模式。要禁用此功能,需建立hkey local machine system currentcontrolset control session manager safedll...

DLL補丁劫持製作

dll 由於輸入表中只包含 dll 名而沒有它的路徑名,因此引導程式必須在磁碟上搜尋 dll 檔案。首先會嘗試從當前程式所在的目錄載入 dll,如果沒找到,則在windows 系統目錄中查詢,最後是在環境變數中列出的各個目錄下查詢。利用這個特點,先偽造乙個系統同名的 dll,提供同樣的輸出表,每個輸...

DLL載入順序劫持

動態鏈結庫搜尋順序 win32應用 微軟文件 技術分享 dll劫持 老樹開新花 dll劫持漏洞新玩法 h2z 深入解析dll劫持漏洞 wooyun知識庫 一種通用dll劫持技術研究 程式語言區 吾愛破解 lcg lsg 安卓破解 病毒分析 破解軟體 www.52pojie.cn 這個鏈結裡的內容沒看...