进程隐藏技术系列之简介
什么是進程隱藏?
對 Windows系統可以用自帶的任務管理器,查看進程列表, 找出可疑進程。
惡意代碼為了保護自己的進程不被發現,所以就有了進程隱藏技術,用來對抗進程檢測。
為什么需要進程隱藏?
進程隱藏是病毒和木馬確保自己不被查殺所要做的最重要的事,而分析檢測隱藏進程和發現木馬病毒是反病毒工作者的一個重要任務。
為了對抗病毒檢測,病毒開發者也在一直尋找更有效的進程隱藏的技術。
進程隱藏的方法
1.基于API HOOK的進程隱藏技術
API HOOK指的是通過特殊的編程手段截獲WINDOWS系統調用的API函數,并將其丟棄或者進行替換。 通過API HOOK編程方法,截獲系統遍歷進程函數并對其進行替換,可以實現對任意進程的隱藏。
進程隱藏:通過HOOK函數ZwQuerySystemInfornation實現進程隱藏
2.基于DLL 的進程隱藏技術:遠程注入Dll技術
DLL文件沒有程序邏輯,不能獨立運行,由進程加載并調用,所以在進程列表中不會出現DLL文件。如果是一個以DLL形式存在的程序,通過某個已有進程進行加載, 即可實現程序的進程隱藏。
在windows系統中, 每個進程都有自己的私有地址空間, 進程不能創建屬于另一個進程的內存指針。而遠程線程技術正是通過特殊的內核編程手段, 打破進程界限來訪問另一進程的地址空間, 以達到對自身 進行隱藏的目的。
遠程線程注入DLL技術指的是通過在某進程中創建遠程線程的方法進入該進程的內存空間, 然后在其內存空間中加載啟動DLL程序。
3.基于遠程線程注入代碼的進程隱藏技術
這種方法與遠程線程注入 DLL 的原理一樣,都是通過在某進程中創建遠程線程來共享該進程的內存空間。
所不同的是,遠程線程注入代碼通過直接拷貝程序代碼到某進程的內存空間來達到注入的目的。因為程序代碼存在于內存中, 不僅進程列表中無法檢測,即使遍歷進程加載的內存模塊也無法找到被隱藏程序的蹤跡。
下列是現在幾種比較常用的方法:
進程偽裝:通過修改指定進程PEB中的路徑和命令行信息實現偽裝。
傀儡進程:通過進程掛起,替換內存數據再恢復執行,從而實現創建傀儡進程
進程隱藏:通過HOOK函數ZwQuerySystemInfornation實現進程隱藏
DLL劫持:通過#pragma comment指令直接轉發DLL導出函數或者通過LoadLibrary和GetProcAddress函數獲取DLL導出函數并調用
參考:
《黑客技術Windows編程詳解》
《Windows 木馬的各種進程隱藏技術及應對策略》
總結
以上是生活随笔為你收集整理的进程隐藏技术系列之简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python可以下载百度文库_pytho
- 下一篇: 敬业签电脑桌面便签软件怎么绑定手机号码?