安基網 首頁 編程 軟件學院 查看內容

十大進程注入(一) DLL遠程線程劫持注入技術解析

2019-12-2 12:50| 投稿: xiaotiger |來自: 互聯網


免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

摘要: 進程注入是一種廣泛應用于惡意軟件或無文件攻擊中的躲避檢測的技術。其需要在另一個進程的地址空間內運行特制代碼,進程注入改善了不可見性、同時一些技術也實現了持久化。而所謂的DLL注入是諸多進程注入方法中最常用的技術。惡意軟件將惡意的動態鏈接庫的路徑寫入另一個進程的虛擬地址空間內,通過在 ...

進程注入是一種廣泛應用于惡意軟件或無文件攻擊中的躲避檢測的技術。其需要在另一個進程的地址空間內運行特制代碼,進程注入改善了不可見性、同時一些技術也實現了持久化。

而所謂的DLL注入是諸多進程注入方法中最常用的技術。惡意軟件將惡意的動態鏈接庫的路徑寫入另一個進程的虛擬地址空間內,通過在目標進程中創建遠程線程來確保遠程進程加載它。而因為DLL本身是由感染后的進程加載的同時PE文件也并沒有對系統進行過多的敏感操作,所以這種技術具有相當強的一種隱蔽性。

01

注入原理

關鍵函數:CreateRemoteThread()

利用Windows遠程線程機制,需要在本地進程中通過CreateRemoteThread函數在其他進程中開啟并運行一個線程。因此,把LoadLibrary 函數作為 CreateRemoteThread開啟的線程函數,把要加載的DLL路徑作為線程函數的參數即可。

為了使遠程進程執行LoadLibrary函數加載DLL文件,卻面臨著兩個棘手的問題:

如何向遠程進程傳遞需要加載的DLL路徑? ------①

如何獲得遠程進程中LoadLibrary函數的地址?----②

為了解決這些問題,我們在后面會一一給出解決方案

02

注入過程

為了解決問題①,我們可以通過Windows API函數把路徑寫入遠程進程中,主要包括:OpenProcess(),VirtualAllowEx(),WriteProcessMemory(),VirtualFreeEx()等把DLL路徑加載到遠程進程中。具體流程如下

1、獲取目標進程句柄

使用OpenProcess()函數打開遠程進程的句柄。

2、在目標進程分配內存空間

使用VirtualAllowEx()函數在目標進程中分配足夠的內存空間,用于保存要加載DLL的路徑。

3、寫入DLL路徑至目標進程

使用WriteProcessMemory()函數把需要加載的DLL路徑寫入到遠程進程分配的內存空間。

4、獲取LoadLibraryW地址

為了解決問題②,我們需要明確Kernel32.dll是系統基本庫,且Windows系統中,所有進程加載Kernel32.dll模塊基址是固定且一致的,所以只需獲取本地進程中LoadLibrary地址。同理LoadLibraryW函數位于kernel32.dll中,并且系統核心DLL會加載到固定地址,所以系統中所有進程的LoadLibraryW函數地址是相通的。用GetProcAddress函數獲取本地進程LoadLibraryW地址即可。

5、在目標進程中運行遠程線程

用 CreateRemoteThread 函數在遠程進程中創建一個線程,讓新線程調用正確的LoadLibrary函數并在參數中傳入第2步分配的內存地址。這時,DLL已經被注入到遠程進程的地址空間中,DLL的DllMain函數會收到DLL_PROCESS_ATTACH 通知并且可以執行我們想要執行的代碼。當DllMain返回的時候,遠程線程會從LoadLibraryW/A調用返回到BaseThreadStart函數。BaseThreadStart函數然后調用ExitThread,使遠程線程終止。

03

防御方法

  1. 加固本身程序,遍歷路徑下的dll文件,確定MD5和數字簽名安全后再進行后續加載。
  2. 安裝木馬查殺工具,實時監控遠程線程調用情況
  3. 查看是否有不明端口開放以及對端口通信進行監控。
  4. 攔截自身LoadLibraryExW函數,防止遠程線程在自身程序加載DLL


小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里 注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

本文出自:https://www.toutiao.com/a6739797717570028035/

免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!


鮮花

握手

雷人

路過

雞蛋

相關閱讀

最新評論

 最新
返回頂部
洗衣店赚钱联系澳洁 海南环岛自行车赛路线 安微11选5直选走试图 捕鱼来了弹头怎么交易 玩捕鱼达人有什么技巧 山西太行麻将下载 香港1861图库最全图库35图库 幸运飞艇最快开奖官网 浙江快乐彩12选5规则 江西多乐彩 北京赛车走势图