windows 如何手動添加服務

windows 手動添加服務
方法一:修改註冊表

在註冊表編輯器,展開分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services",在右側窗格中顯示的就是本機安裝的服務項。如果要新建服務,只須點擊"編輯→新建→項" ,然後爲此項命名,如"test";然後右擊該項,選擇"新建→字符串值"或"新建→Dword值"即可。添加一個服務項目具體需要添加的鍵值如下:        "DisplayName",字符串值,對應服務名稱;

       "Description",字符串值,對應服務描述;

        "ImagePath",字符串值,對應該服務程序所在的路徑;

        "ObjectName",字符串值,值爲"LocalSystem",表示本地登錄;

        "ErrorControl",Dword值,值爲"1";

        "Start",Dword值,值爲2表示自動運行,值爲3表示手動運行,值爲4表示禁止;

        "Type",Dword值,應用程序對應10,其它對應20。

        另外,還要在"test"項下新建一個"Enum"項。如果有些必須通過srvany來加載的還必須 添加另外的Parameters子項在該項中提供詳細的要加爲服務的程序所在的路徑。而上面的那個 路徑就需要指到srvany所在的路徑。 

方法二:腳本操作

   sc   create   myserver   binpath=   c:\windows\Sc\myserver.exe

   sc   config   myservers   tart=   auto

   sc   start   myserver

方法三: 寫註冊表文件

現在很多的木馬、後門、蠕蟲病毒都是通過修改註冊表中的RUN鍵值來實現自啓動。

但是這種自啓動模式不是很隱蔽的,稍微懂點安全的人,一般發現電腦被黑,都會查看RUN鍵值的。

於是系統服務便成爲了一種相對隱蔽的自啓動模式。比如衝擊波殺手就採用系統服務來自啓動病毒程序。

現在添加系統服務的工具很多,最典型的就是netservice。但是我們這裏講的是手工添加系統服務,所以工具的使用不在本文的討論範圍之內。

WINDOWS裏的很多東西都是跟註冊表息息相關的,系統服務也不例外。

系統服務跟以下的註冊表幾個項目相關:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services
我們完全可以找到在系統服務中已註冊的服務的鍵值來依樣畫葫蘆。

在以上任何註冊表列中添加一個新項:

名字是你想要添加系統服務的名字,比如Backdoor。

在BACKDOOR項下新建一個字符串,數值名稱Displayname 數值數據爲要添加服務的

名稱Backdoor。
下面列出一個表,會直觀一些:

名稱 類型 數據 備註

Displayname REG_SZ 想要添加服務的名稱 想要添加服務的名稱
Description REG_SZ 服務的描述 服務的描述
ImagePath REG EXPAND SZ 程序的路徑
Start REG_DWORD 0,2,3,4 2代表自動啓動,3代表手動啓動服務.4代表禁用服務,0代表系統對底層設備驅動(一般不需要這個)
ErrorControl REG_DWORD 1
Type REG_DWORD 10 or 20 一般應用程序都是10,其他的對應20
ObjectName REG_SZ LocalSystem 顯示本地登陸

注意:在XP/2003下可以完全手工來添加REG EXPAND SZ類型。在XP/2003下直接修改ImagePath 鍵值就可以了。但是在WIN2000下卻不可以。原因我也不清楚:(。但是在WIN2000下我們寫一個REG來直接註冊系統服務,這樣WIN2000下添加系統也能很輕鬆了。這裏同樣需要注意的是註冊表文件裏的ImagePath的數值類型必須是HEX(16進制)。可以拿WINHEX來把程序的絕對路徑轉換成16進制的。每一個數值用逗號擱開。比如我的ImagePath鍵值是C:\winnt\nukegroup.exe那就應該轉換成:
63,3A,5C,77,69,6E,6E,74,5C,6E,75,6B,65,2E,65,78,65(無空格)

打開記事本,敲入以下內容:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\"want to create the name of service"]

"Type"=dword:00000010

"Start"=dword:00000002

"ErrorControl"=dword:00000001

"ImagePath"=hex(2):63,3A,5C,77,69,6E,6E,74,5C,6E,75,6B,65,2E,65,78,65

"DisplayName"="SRVTEST"

"ObjectName"="LocalSystem"

"Description"="系統服務測試"

把以上信息保存爲addsrv.reg,我們就可以依靠命令來導入註冊表,從而達到添加系統服務的目的。

我們在命令控制檯輸入regedit /s addsrv.reg,等機器重新啓動,這個服務就被成功添加了。

但是我在真正實驗的時候就遇到困難了。ImagePath的數值是亂碼(圖1)(圖2),


怎麼想也不明白。但是這時可以把亂碼修改成絕對路徑了。如果直接把REG信息寫成這樣
"ImagePath"=hex(2):C:\WINNT\NUKEGROUP.EXE

其他的鍵值都可以添加,這個鍵值就不可以了?總之我們可以先添加亂碼的ImagePath,然後再修改成C:\winnt\nukegroup.exe 這樣也不是不可能的。就是在命令行下來添加就很麻煩了。(圖3)

以上是Windows 2000手工添加系統服務的方法,對於Windows 98 註冊表結構是不一樣的,但是Windows 98仍然可以通過註冊表來實現添加系統服務,而且還要更簡單一些。

在項目“HKLM/SOFTWARE/Microsoft/WindowsCurrentVersion/RunServices”下添加一個新字符串數值。

比如,如果程序的名字叫做“BACKDOOR”,就建立一個名爲“BACKDOOR”的字符串數值,然後在數據域中輸入執行程序的完整路徑。

手工添加一個系統服務就這麼簡單,手工刪除系統也是一個道理。通過註冊表來實現,這裏就不多說了。



[http://www.idcs.cn/support/html/network/20090702/397.html]

發佈了40 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章