史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   資訊系統安全備援防護技術文件 (http://forum.slime.com.tw/f139.html)
-   -   灰鴿子的執行原理 (http://forum.slime.com.tw/thread175720.html)

psac 2006-05-30 01:13 PM

灰鴿子的執行原理
 
灰鴿子遠端監控軟件分兩部分:客戶端和服務端。黑客(姑且這麼稱呼吧)操縱著客戶端,利用客戶端配置產生出一個服務端程式。服務端文件的名字預定為G_Server.exe,然後黑客通過各種渠道傳播這個服務端(俗稱種木馬)。種木馬的手段有很多,比如,黑客可以將它與一張圖片綁定,然後假冒成一個羞澀的MM通過QQ把木馬傳給你,誘騙你執行;也可以建立一個個人網頁,誘騙你點擊,利用IE漏洞把木馬下載到你的機器上並執行;還可以將文件上傳到某個軟件下載站點,冒充成一個有趣的軟件誘騙用戶下載……,這正違背了我們開發灰鴿子的目的,所以本文適用於那些讓人非法安裝灰鴿子服務端的用戶,幫助用戶刪除灰鴿子 Vip 2005 的服務端程式。本文大部分內容摘自互連網。

G_Server.exe執行後將自己拷貝到Windows目錄下(98/xp下為系統盤的windows目錄,2k/NT下為系統盤的Winnt目錄),然後再從體內釋放G_Server.dll和G_Server_Hook.dll到windows目錄下。G_Server.exe、G_Server.dll和G_Server_Hook.dll三個文件相互配合組成了灰鴿子服務端,有些灰鴿子會多釋放出一個名為G_ServerKey.dll的文件用來記錄鍵盤操作。注意,G_Server.exe這個名稱並不固定,它是可以定制的,比如當定制服務端文件名為A.exe時,產生的文件就是A.exe、A.dll和A_Hook.dll。

Windows目錄下的G_Server.exe文件將自己註冊成服務(9X系統寫註冊表啟動項),每次開機都能自動執行,執行後啟動G_Server.dll和G_Server_Hook.dll並自動退出。G_Server.dll文件實現後門功能,與控制端客戶端進行通信;G_Server_Hook.dll則通過攔截API調用來隱藏病毒。因此,中毒後,我們看不到病毒文件,也看不到病毒註冊的服務項。隨著灰鴿子服務端文件的設置不同,G_Server_Hook.dll有時候附在Explorer.exe的工作行程空間中,有時候則是附在所有工作行程中。

 灰鴿子的手工檢測

由於灰鴿子攔截了API調用,在正常模式下服務端程式文件和它註冊的服務項均被隱藏,也就是說你即使設置了「顯示所有隱藏文件」也看不到它們。此外,灰鴿子服務端的文件名也是可以自定義的,這都給手工檢測帶來了一定的困難。

但是,通過仔細觀察我們發現,對於灰鴿子的檢測仍然是有規律可循的。從上面的執行原理分析可以看出,無論自定義的服務器端文件名是什麼,一般都會在操作系統的安裝目錄下產生一個以「_hook.dll」結尾的文件。通過這一點,我們可以較為準確手工檢測出灰鴿子 服務端。

由於正常模式下灰鴿子會隱藏自身,因此檢測灰鴿子的操作一定要在安全模式下進行。進入安全模式的方法是:啟動電腦,在系統進入Windows啟動畫面前,按下F8鍵(或者在啟動電腦時按住Ctrl鍵不放),在出現的啟動選項表菜單中,選擇「Safe Mode」或「安全模式」。

 1、由於灰鴿子的文件本身具有隱藏內容,因此要設置Windows顯示所有文件。打開「我的電腦」,選擇表菜單「工具」—》「資料夾選項」,點擊「檢視」,取消「隱藏受保護的操作系統文件」前的對勾,並在「隱藏文件和資料夾」項中選擇「顯示所有文件和資料夾」,然後點擊「確定」。
 2、打開Windows的「搜索文件」,文件名稱輸入「_hook.dll」,搜索位置選擇Windows的安裝目錄(預定98/xp為C:\windows,2k/NT為C:\Winnt)。

3、經過搜索,我們在Windows目錄(不包含子目錄)下發現了一個名為Game_Hook.dll的文件

4、根據灰鴿子原理分析我們知道,如果Game_Hook.DLL是灰鴿子的文件,則在操作系統安裝目錄下還會有Game.exe和Game.dll文件。打開Windows目錄,果然有這兩個文件,同時還有一個用於記錄鍵盤操作的GameKey.dll文件。

經過這幾步操作我們基本就可以確定這些文件是灰鴿子 服務端了,下面就可以進行手動清除。
 灰鴿子的手工清除

經過上面的分析,清除灰鴿子就很容易了。清除灰鴿子仍然要在安全模式下操作,主要有兩步:1、清除灰鴿子的服務;2刪除灰鴿子程式文件。

 注意:為防止誤操作,清除前一定要做好備份。

 一、清除灰鴿子的服務

 2000/XP系統:

 1、打開註冊表編輯器(點擊「開始」-》「執行」,輸入「Regedit.exe」,確定。),打開 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services註冊表項。

 2、點擊表菜單「編輯」-》「查找」,「查找目標」輸入「game.exe」,點擊確定,我們就可以找到灰鴿子的服務項(此例為Game_Server)。


 3、刪除整個Game_Server項。

 98/me系統:

在9X下,灰鴿子啟動項只有一個,因此清除更為簡單。執行註冊表編輯器,打開HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run項,我們立即看到名為Game.exe的一項,將Game.exe項刪除即可。

 

 二、刪除灰鴿子程式文件

刪除灰鴿子程式文件非常簡單,只需要在安全模式下刪除Windows目錄下的Game.exe、Game.dll、Game_Hook.dll以及Gamekey.dll文件,然後重新啟動電腦。至此,灰鴿子VIP 2005 服務端已經被清除乾淨。

psac 2006-09-10 08:47 PM

木馬高招:灰鴿子註冊成系統服務的方法
前幾天下了個鴿子來研究下註冊成系統服務的方法(我不用鴿子),發現它是用rundll32匯入一個inf來實現的,這個應該是加了註冊表鎖(禁用reg腳本,禁用regedit)都有效的吧? 例子如下: 增加一個服務: [Version] Signature=$WINDOWS NT$ [DefaultInstall.Services] AddService=inetsvr,,My_AddService_Name [My_AddService_Name] DisplayName=Windows Internet Service Description=提供對 Internet 訊息服務管理的支持。 ServiceType=0x10 StartType=2 ErrorControl=0 ServiceBinary=%11%\inetsvr.exe 儲存為inetsvr.inf,然後: rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:\path\inetsvr.inf 這個例子增加一個名為inetsvr的服務(是不是很像系統自帶的服務,呵呵)。


· 行動點亮財富  商搜

· 投入1萬  自己做老闆


· 18歲她一夜暴富靠什麼

· 做別人沒想到的好生意


· 國際品牌女鞋一折供貨

· 全棉新概念輕鬆賺大錢




幾點說明:

1.最後四項分別是 服務類型:0x10為獨立工作行程服務,0x20為共享工作行程服務(比如svchost); 啟動類型:0 系統啟始時載入,1 OS初始化時載入,2 由SCM(服務控制管理器)自動啟動,3 手動啟動,4 禁用。 (注意,0和1只能用於驅動程式)


錯誤控制:0 忽略,1 繼續並警告,2 切換到LastKnownGood的設置,3 藍底白字畫面。 服務程式位置:%11%表示system32目錄,%10%表示系統目錄(WINNT或Windows),%12%為驅動目錄system32\drivers。其他取值參見DDK。你也可以不用變數,直接使用全路徑。 這四項是必須要有的。

2.除例子中的六個專案,還有LoadOrderGroup、Dependencies等。不常用所以不介紹了。

3.inetsvr後面有兩個逗號,因為中間省略了一個不常用的參數flags。 刪除一個服務: [Version] Signature=$WINDOWS NT$ [DefaultInstall.Services] DelService=inetsvr 很簡單,不是嗎? 當然,你也可以通過匯入註冊表達到目的。


但inf自有其優勢。

1.匯出一個系統自帶服務的註冊表項,你會發現其執行路徑是這樣的: ImagePath=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ 74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,74,\ 00,6c,00,6e,00,74,00,73,00,76,00,72,00,2e,00,65,00,78,00,65,00,00,00 可讀性太差。其實它就是%SystemRoot%\system32\tlntsvr.exe,但資料類型是REG_EXPAND_SZ。當手動匯入註冊表以增加服務時,這樣定義ImagePath顯然很不方便。而使用inf文件就完全沒有這個問題,ServiceBinary(即ImagePath)自動成為REG_EXPAND_SZ。

2.最關鍵的是,和用SC等工具一樣,inf文件的效果是即時起效的,而匯入reg後必須重啟才有效。

3.inf文件會自動為服務的註冊表項新增一個Security子鍵,使它看起來更像系統自帶的服務。


另外,AddService和DelService以及AddReg、DelReg可以同時且重複使用。即可以同時增加和刪除多個服務和註冊表項。 我就是這樣手工把黑洞註冊成服務了,呵呵。 安靜的補充: 不錯... 我是用把黑洞感染進別的服務文件以達到以服務方式啟動的.... 特點是隱蔽性好!~..還有點自我保護功能呵呵..就算他刪了.重新啟動又會再產生 由於是感染進去的所以不會影響原文件。


所有時間均為台北時間。現在的時間是 10:08 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1