當(dāng)電腦被黑客入侵后,通常會留下后門程序,方便下一次入侵。下面以一些常見的后門程序創(chuàng)建為例,介紹后門程序的功能與防范措施。
放大鏡后門

放大鏡(magnifty.exe)是Window系統(tǒng)集成的一個小工具,它是為方便視力障礙用戶而設(shè)計的。在用戶登錄系統(tǒng)前可以通過快捷鍵Win+U調(diào)用該工具,攻擊者用精心構(gòu)建的magnify.exe同名文件替換放大鏡程序,從而達到控制服務(wù)器的目的。
通常情況下,攻擊者通過構(gòu)造的magnify .exe程序創(chuàng)建一個管理員賬戶, 然后登錄系統(tǒng)。有時會通過其直接調(diào)用命令提示符( cmd.exe)或者系統(tǒng)shell (explorer.exe )創(chuàng)建。需要說明的是,這樣調(diào)用的程序都是system權(quán)限,即系統(tǒng)最高權(quán)限。不過,為防止管理員在運行放大鏡程序時發(fā)現(xiàn)破綻,攻擊者一般通過該構(gòu)造程序完成所需的操作后,會運行真正的放大鏡程序,以蒙騙管理員。
1.構(gòu)造批處理腳本
@echoof
Net user bdtest$ test /add
Net localgroup administrator bdtest /add
%Windir%system32nagnify.exe
exit
將上面的腳本程序保存為magnify.bat,其作用是創(chuàng)建一個密碼為test的管理員賬戶bdtest$,最后運行改名后的放大鏡程序nagnify.exe
2.文件格式轉(zhuǎn)換
因為批處理文件magnify bat的后綴是bat,必須要將其轉(zhuǎn)換為同名的exe文件才可以通過快捷鍵Win+U調(diào)用。攻擊者般可以利用WinRar構(gòu)造一個自動解壓的exe壓縮文件, 當(dāng)然也可以利用bat2com.、com2exe進行文件格式的轉(zhuǎn)換。
打開命令行,進入bat2com、com2exe工具所在的目錄,然后運行命令bat2commagnify.bat將magnify. bat轉(zhuǎn)換成magnify.com,繼續(xù)運行命令com2exemagnifty com將magnify .com轉(zhuǎn)換成magnify. exe,這樣就把批處理文件轉(zhuǎn)換成和放大鏡程序同名的程序文件了。
3.放大鏡文件替換
下面用構(gòu)造的magnify exe替換同名的放大鏡程序文件。由于windows對系統(tǒng)文件的自我保護,因此不能直接替換,不過Windows提供了一個命令replace.exe,通過它可以替換系統(tǒng)文件。另外,由于系統(tǒng)文件在%Windir%system32llcache中有備份,為了防止文件替換后又重新還原,首先要替換該目錄下的magnify.exe文件。假設(shè)構(gòu)造的magnify.exe文件在%Windir%目錄下,可以通過一個批處理實現(xiàn)文件的替換。
@echooff
Copy %Windir%system32 d11cache magnify.exe nagnify.exe
Copy %Windir%system32 magnify.exe nagnify.exe
replace.exe %Windir% magnify.exe %Windir%system32 dllcache
replace.exe %Windir%magnify.exe %Windir%system32
exit
在上面的批處理文件中,首先將放大鏡程序備份為nagnify.exe,然后用同名的構(gòu)造程序?qū)⑵涮鎿Q。
4.攻擊利用
當(dāng)完成上述操作后,一個放大鏡后門就做成了。攻擊者通過遠(yuǎn)程桌面連接服務(wù)器,在登錄界面窗口按下快捷鍵Win+U,選擇運行其中的"放大鏡",即可在服務(wù)器上創(chuàng)建一個管理員用戶bdtest并打開放大鏡工具,然后攻擊者就通過該帳戶登錄服務(wù)器。當(dāng)然,攻擊者在斷開登錄前會刪除所有與該賬戶相關(guān)的信息,以防被管理員發(fā)現(xiàn)。
5.防范措施:
進入%Windir%system32l查看magnify.exe的文件圖標(biāo)是否是原來的放大鏡程序的圖標(biāo),如果不是的話,極有可能被植入了放大鏡后門。當(dāng)然,有的時候攻擊者也會將其文件圖標(biāo)更改為和原放大鏡程序的圖標(biāo)一樣。此時可以查看magnify .exe文件的大小和修改時間。如果這兩項有一項不符,就需要慎重檢查了。可以先運行magnify .exe,然后運行l(wèi)usrmgr.msc,查看是否有可疑的用戶。如果確定服務(wù)器被放置了放大鏡后門,首先要刪除該文件,然后恢復(fù)正常的放大鏡程序。當(dāng)然,也可以做得更徹底一些,用一個無關(guān)緊要的程序替換放大鏡程序。
與放大鏡后門類似的還有"粘滯鍵" 后門,按Shit鍵五次可以啟動粘滯鍵功能,其利用和防范措施與放大鏡后門類似,只是將magnity .exe換成了sethc exe。
組策略后門
相對來說,組策略后門更加隱蔽。向注冊表中添加相應(yīng)鍵值以實現(xiàn)隨系統(tǒng)啟動而運行時木馬常用的伎倆,也為大家熟知。其實,在組策略中也可以實現(xiàn)該功能,還可以實現(xiàn)在系統(tǒng)關(guān)機時進行某些操作。這是通過組策略的" 腳本(啟動/關(guān)機)"項來實現(xiàn)。具體位置在"計算機配置——Windows設(shè)置"項下。因為其極具隱蔽性,常常被攻擊者用來做服務(wù)器后門。
只要攻擊者獲得了電腦的控制權(quán),就可以通過這個后門實施對主機的長期控制。它可以通過這個后門運行某些程序或者腳本,比如創(chuàng)建一個管理員用戶。

1.創(chuàng)建腳本
創(chuàng)建一個批處理文件add.bat,名為bdtest$ ,密碼為test。
@echo off & net user bdtest$ test /add && netlocalgroup administratrators gbtes$t /add & exit
2.后門利用
在"運行"對話框中輸入gpedit.msc,定位到"計算機配置——Windows設(shè)置——腳本(啟動/關(guān)機)",雙擊右邊窗口的"關(guān)機",在其中添加add bat,可在系統(tǒng)關(guān)機時創(chuàng)建bdtest用戶。一般的用戶根本不知道系統(tǒng)中有一個隱藏用戶,就算看見并且刪除了該帳戶,當(dāng)系統(tǒng)關(guān)機時又會創(chuàng)建該帳戶。所以說,如果用戶不知道組策略中的這個地方,那一定會感到莫名其妙。
其實,對于組策略中的這個"后門"還有很多利用方法。攻擊者通過它來運行腳本或者程序,嗅探管理員密碼等。當(dāng)獲取了管理員的密碼后,就不用在系統(tǒng)中創(chuàng)建帳戶了,可以直接利用管理員帳戶遠(yuǎn)程登錄系統(tǒng)。因此它也是"雙刃劍"。當(dāng)用戶因被攻擊而莫名其妙時,說不定攻擊者就是通過它實現(xiàn)的。
后門防范操作是很重要的,使用組策略后門的攻擊者利用了管理員的疏忽心理,因為組策略中的"(啟動/關(guān)機)腳本"項往往被大家忽略,有些管理員甚至不知道組策略中的這個選項。防范這類后門,也非常簡單,只需打開組策略工具,定位到"腳本(啟動/關(guān)機)"項下進行檢查。當(dāng)然也可以進入system32GroupPolicymachineScriptsStartup和GroupPolicyMachineScriptsShutdown目錄檢查是否有可疑的腳本。
Rookit后門
Rootkit是一個或者多個用于隱藏、控制系統(tǒng)的工具包,該技術(shù)被越來越多地應(yīng)用于一些惡意軟件中,當(dāng)然攻擊者也往往通過它來制作后門。

1.創(chuàng)建一般帳戶
在命令提示符( cmd.exe )下輸入命令net user bdtest$ test /add。
通過上面的命令建立了一個用戶名為bdtest$,密碼為test的普通用戶。為了實現(xiàn)初步隱藏,在用戶名的后面加了$符號,這樣在命令提示符下通過netuser是看不到該用戶的,當(dāng)然在"本地用戶和組"及其注冊表的SAM項下可以看到。
2.帳戶非常規(guī)提權(quán)
下面通過注冊表對bdtest$帳戶進行提權(quán),使其成為一個比較隱蔽(在命令行和" 本地用戶和組"中看不到)的管理員用戶。
打開注冊表編輯器,定位到HKEY_ LOCAL_ MACHINESAMSAM項。由于默認(rèn)情況下管理員組對SAM項是沒有操作權(quán)限的,因此要賦權(quán)。右擊該鍵值,在彈出的快捷菜單中執(zhí)行"權(quán)限"命令,然后添加administrators組,賦予其"完全控制"權(quán)限,最后刷新注冊表,就能進入SAM項下的相關(guān)鍵值了。
定位到注冊表HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers項,單擊000001F4注冊表項,雙擊其右鍵的F鍵值,復(fù)制其值,然后單擊00000404注冊表項(該項不一定相同),雙擊其右側(cè)的F鍵值,用剛才復(fù)制的鍵值進行替換鍵值。
分別導(dǎo)出bdtest$、00000404注冊表項為1.reg和2.reg。在命令行下輸入命令net user bdtest$/del刪除bdtes$用戶,然后分別雙擊1.reg和2.reg導(dǎo)入注冊表,最后取消administrators對SAM注冊表項的訪問權(quán)限。這樣就把bdtest$用戶提升為管理員,并且該用戶非常隱蔽,除了注冊表,在命令下及"本地用戶和組"是看不到的。這樣隱藏的超級管理員用戶是入侵者經(jīng)常使用的,對于一個水平不是很高的管理員來說,很難發(fā)現(xiàn)這樣的用戶。這樣的用戶不屬于任何組,但有管理員權(quán)限,是可以進行登錄的。
3.高級隱藏賬戶
前面創(chuàng)建的botest$用戶雖然比較隱蔽,但是通過注冊表可以看見。下面利用RootKit工具進行高級隱藏,即在注冊表中隱藏該用戶。

可用的RootKit工具非常多。以Hackerdefende為例進行演示,它是個工具包,其中包含很多工具,隱藏注冊表鍵值只需其中的兩個文件: hxdef100.exe和hxdef100.ini其中hxdef100.ini是配置文件,hxde100 exe是程序文件。打開hxdef100.in文件, 定位到[HiddenRegKeys]項下,添加要隱藏的注冊表鍵值bdtest$和00000404即用戶在注冊表的項,然后保存退出。
運行hxdef100. exe,可以看到bdtest$用戶在注冊表中的鍵值"消失"了,同時這兩個文件也"不見"了。這樣就利用RootKit實現(xiàn)了高級管理員用戶的徹底隱藏,管理員是無從知曉在系統(tǒng)中存在一個管理員用戶的。
4.防范措施:
通過RootKit創(chuàng)建的后門是極其隱蔽的,除非清除RootKit,不然用其創(chuàng)建的管理員用戶永遠(yuǎn)不可能被管理員發(fā)現(xiàn)。下面以清除上面的Hackerdefende為例介紹防范措施。
(1)驅(qū)動級的掃描
RootKit往往是驅(qū)動級別的,因此它比一般的應(yīng)用程序更加靠近底層,清除起來更加棘手。清除該進程時掃描是必要的。RootKitHookAnalyzer是一款Rookit分析查詢工具, 利用它可以掃描分析出系統(tǒng)中存在的RooKit程序。該工具是英文程序,安裝并運行,單擊界面下方的Analyze按鈕進行掃描分析,列出系統(tǒng)中的RooKit程序,勾選Showhookedservicesonly復(fù)選框,可以篩選出RooKitservices。當(dāng)然,類似的工具還有很多,用戶可以根據(jù)自己的需要進行選擇。
(2)查看隱藏進程
RootKit的程序進程往往是隱藏或者嵌入的,通過Windows的"任務(wù)管理器"是無法看到的。可以利用強大的進程工具lceSword (冰刃)查看。運行l(wèi)ceSword,單擊"進程" 按鈕,就可以列出當(dāng)前系統(tǒng)中的進程,其中紅色顯示的是可疑進程,包括hxdef100.exe, 這是剛才運行的RootKit。 在該進程上右擊,在彈出的快捷菜單中執(zhí)行"結(jié)束"命令。這時hxdef100 exe和hxdef100.ini文件出現(xiàn)了,再刷新并查看注冊表,剛才消失的兩個鍵值又重現(xiàn)了。
(3)專業(yè)工具查殺
利用lceSword對RooKit進行分析并結(jié)束其進程是反RooKit的一種有效方法,但有的時候冰刃并不能分析出RootKit,因此需要比較專業(yè)的工具,如卡巴斯基、超級巡警等。
TeInet后門
TeInet是命令行下的遠(yuǎn)程登錄工具,不過在服務(wù)器管理時使用不多,也常為管理員所忽視。攻擊者在控制一臺服務(wù)器后,如果開啟"遠(yuǎn)程桌面"進行遠(yuǎn)程控制,非常容易被管理員察覺,但是啟動TeInet進行遠(yuǎn)程控制卻不容易被察覺。TeInet的默認(rèn)端口是23,如果開啟,很容易被掃描到,因此攻擊者會更改TeInet端口,從而獨享該服務(wù)器的控制權(quán)。
1.修改端口
本地修改電腦telnet端口的方法是:執(zhí)行"開始運行"命令,輸入cmd,打開命令提示符,然后運行命令tintadmn config port=800 ( 800是修改后的telnet端口,為了避免端口沖突不用設(shè)置成已知服務(wù)的端口)。當(dāng)然,也可以遠(yuǎn)程修改服務(wù)器的Telnet端口,在命令提示符下輸入命令:
tlntadmn config \ 192.168.1.10 port=800 -u bdtest$ -P test
\192. 168.1.10對方IP,port=800要修改為的telnet端口,-u指定對方的用戶名,-D指定對方用戶的密碼。
2.遠(yuǎn)程登錄
攻擊者在本地運行命令提示符(cemd.exe),輸入命令telnet 192.168.1.10 800,然后輸入用戶名及其密碼,記錄Telnet到服務(wù)器。
3.防范措施:
防范Telnet后門的方法非常簡單,可以通過tlntadmn config port=n命令更改其端口。更徹底的措施是: 運行services.msc,打開服務(wù)管理器,禁用Telnet服務(wù)。
嗅探后門
這類后門是攻擊者在控制了服務(wù)器之后,并不創(chuàng)建新的帳戶,而是在服務(wù)器上安裝嗅探工具以竊取管理員的密碼。由于此類后門并不創(chuàng)建新的帳戶,而是通過嗅探獲取的管理員密碼登錄系統(tǒng),因此隱蔽性極高。如果管理員的安全意識不高并缺乏足夠的安全技能,根本發(fā)現(xiàn)不了。

1.安裝嗅探工具
攻擊者將相應(yīng)的嗅探工具上傳或者下載到對方電腦,然后安裝即可。需要說明的是,這些嗅探工具的體積一般很小,并且功能單一,但是往往被做成驅(qū)動形式的,所以隱蔽性極高,很難發(fā)現(xiàn),也不易清除。
2.獲取管理員密碼
嗅探工具對系統(tǒng)進行實時監(jiān)控。當(dāng)管理員登錄服務(wù)器時,其密碼也就被竊取,然后嗅探工具會將管理員密碼保存到一個txt文件中。當(dāng)攻擊者下一次登錄服務(wù)器后,就可以打開該txt文件并獲取管理員密碼。此后如果登錄服務(wù)器,就不用重新創(chuàng)建帳戶,而是直接用合法的管理員帳戶登錄服務(wù)器。如果服務(wù)器是一個Web,攻擊者就會將該txt文件放置到某個Web目錄下,然后在本地就可以瀏覽查看該文件了。
3.防范措施:
嗅探后門攻擊者以正常的管理員帳戶登錄服務(wù)器,因此很難發(fā)現(xiàn)。不過,任何入侵都會留下蛛絲馬跡,可以啟用組策略中的"審核策略",對用戶的登錄情況進行記錄,然后通過事件查看器查看是否有可疑的非法登錄。一個高明的攻擊者通常會刪除或者修改系統(tǒng)日志,因此最徹底的措施是:清除安裝在服務(wù)器上的嗅探工具,然后更改管理員密碼。