日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对进程的隐藏技术

發布時間:2023/12/18 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对进程的隐藏技术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

進程的隱藏

  • 隱藏進程并不被查殺
    • 一、進程的偽裝
    • 二、基于系統服務的進程隱藏技術
    • 三、基于API HOOK的進程隱藏技術
    • 四、基于 DLL 的進程隱藏技術:遠程注入Dll技術
    • 五、基于遠程線程注入代碼的進程隱藏技術
    • 六、Rootkit方式
    • 七、比較

隱藏進程并不被查殺

工作接到的第一個任務(如何讓一個進程隱藏,并且不被殺毒軟件查殺掉,并且是在64位的操作系統上)
典型的進程隱藏的技術有:

  • 進程的偽裝
  • 基于系統服務的進程隱藏技術
  • 基于API HOOK的進程隱藏技術
  • 基于 DLL 的進程隱藏技術:遠程注入Dll技術
  • 基于遠程線程注入代碼的進程隱藏技術
  • Rootkit方式

一、進程的偽裝

對病毒木馬來說,最簡單的進程偽裝方式就是修改進程名,例如將本地文件名修改成services.exe等系統進程名,從而不被用戶發現。進程偽裝指的是可以修改任意指定進程信息,即該進程信息再系統中顯示的是另一個進程的信息。這樣指定進程和偽裝進程相同,但實際,執行的操作是不同的。

二、基于系統服務的進程隱藏技術

在win9x系列操作系統中,系統進程列表中不能看到任何系統服務進程, 因此只需要將指定進程注冊為系統服務就能夠使該進程從系統進程列表中隱形。(Windows 9x是指對Windows 95及Windows 98、Windows ME等以Windows 95作基礎的微軟操作系統的通稱。)

三、基于API HOOK的進程隱藏技術

API HOOK指的是通過特殊的編程手段截獲WINDOWS系統調用的API函數,并將其丟棄或者進行替換。 通過API HOOK編程方法,截獲系統遍歷進程函數并對其進行替換,可以實現對任意進程的隱藏。(SSDT HOOK也是其中的一種)

四、基于 DLL 的進程隱藏技術:遠程注入Dll技術

DLL文件沒有程序邏輯,不能獨立運行,由進程加載并調用,所以在進程列表中不會出現DLL文件。如果是一個以DLL形式存在的程序,通過某個已有進程進行加載, 即可實現程序的進程隱藏。
在windows系統中, 每個進程都有自己的私有地址空間, 進程不能創建屬于另一個進程的內存指針。而遠程線程技術正是通過特殊的內核編程手段, 打破進程界限來訪問另一進程的地址空間, 以達到對自身進行隱藏的目的。
遠程線程注入DLL技術指的是通過在某進程中創建遠程線程的方法進入該進程的內存空間, 然后在其內存空間中加載啟動DLL程序。
(http://www.cnblogs.com/BoyXiao/archive/2011/08/11/2134367.html)參考文章鏈接

五、基于遠程線程注入代碼的進程隱藏技術

這種方法與遠程線程注入 DLL 的原理一樣,都是通過在某進程中創建遠程線程來共享該進程的內存空間。所不同的是,遠程線程注入代碼通過直接拷貝程序代碼到某進程的內存空間來達到注入的目的。因為程序代碼存在于內存中, 不僅進程列表中無法檢測, 即使遍歷進程加載的內存模塊也無法找到被隱藏程序的蹤跡。

六、Rootkit方式

Intel CPU 有4 個特權級別: Ring 0, Ring 1, Ring 2, Ring 3。Windows 只使用了其中的 Ring 0 和 Ring 3 兩個級別。(RING0層擁有最高的權限,RING3層擁有最低的權限。按照Intel原有的構想,應用程序工作在RING3層,只能訪問RING3層的數據,操作系統工作在RING0層,可以訪問所有層的數據,而其他驅動程序位于RING1、RING2層,每一層只能訪問本層以及權限更低層的數據。如果普通應用程序企圖執行RING0指令,則Windows會顯示“非法指令”錯誤信息。)
Rootkit 是攻擊者用來隱藏自己的蹤跡和保留 root 訪問權限的工具,它能使攻擊者一直保持對目標機器的訪問,以實施對目標計算機的控制。從 Rootkit 運行的環境來看,可將其分為用戶級 Rootkit 和內核級Rootkit。
用戶態下,應用程序會調用 Win32子系統動態庫(包括Kernel32.dll, User32.dll, Gdi32.dll等)提供的Win32 API函數,
它們是 Windows 提供給應用程序與操作系統的接口,運行在Ring 3 級。用戶級 Rootkit 通常就是通過攔截 Win32 API,建立系統鉤子,插入自己的代碼,從而控制檢測工具對進程或服務的遍歷調用,實現隱藏功能。
內核級Rootkit是指利用驅動程序技術或其它相關技術進入Windows 操作系統內核,通過對 Windows 操作系統內核相關的數據結構或對象進行篡改,以實現隱藏功能。
由于Rootkit 運行在 Ring 0 級別,甚至進入內核空間,因而可以對內核指令進行修改,而用戶級檢測卻無法發現內核操作被攔截。
下面介紹兩種使用 Rootkit 技術來實現進程隱藏的方法。注冊表來實現啟動,因而易于被檢測出來。顯然,要增強進程的隱蔽性,關鍵在于增強加載程序文件的隱藏性。

  • SSDT Hook(參照下面的鏈接)
    https://www.cnblogs.com/BoyXiao/archive/2011/09/03/2164574.html
  • DKOM (Direct Kernel Object Manipulation,直接內核對象操作)
    使用DKOM方法進行進程隱藏。在Windows操作系統中,系統會為每一個活動進程創建一個進程對象EPROCESS,為進程中的每一個線程創建一個線程對象 ETHREAD。
    在 EPROCESS 進程結構中有個雙向鏈表 LIST_ENTRY,LIST_ENTRY結構中有FLINK 和BLINK 兩個成員指針,分別指向當前進程的前驅進程和后繼進程。
    如果要隱藏當前進程,只需把當前進程的前驅進程的BLINK 修改為當前進程的BLINK,再把當前進程的后繼進程的FLINK修改為當前進程的FLINK。
  • 七、比較

    進程隱藏方法隱蔽性健壯性實現難度加載方式進程存在方式操作系統
    注冊系統服務較差很好簡單簡單存在于系統服務win9x 系列
    API HOOK很好很好較難簡單仍以進程存在winNT及以上
    注冊表注入DLL一般很差簡單簡單以DLL形式存在于所有加載user32.dll的進程中winNT及以上
    Rundll32加載DLL一般簡單簡單以DLL形式存在于Rundll32.exe進程中winNT及以上
    遠程線程注入DLL較好很好較難較復雜以DLL形式存在于任一進程中,包括系統進程winNT及以上
    遠程線程注入代碼很好較好很難很復雜存在于任一進程的內存空間中,包括系統進程winNT及以上

    參考文獻:

  • 肖道舉,左佳,陳曉蘇. 進程隱藏的相關問題研究 [J]. 微處理機. 2008 (02)
  • Windows環境木馬進程隱藏技術研究
  • 總結

    以上是生活随笔為你收集整理的对进程的隐藏技术的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。