木馬的隱藏方式


refer http://xema.zz.mu/%e6%9c%a8%e9%a9%ac/%e6%9c%a8%e9%a9%ac%e7%9a%84%e9%9a%90%e8%97%8f%e6%96%b9%e5%bc%8f/

 

木馬是一種基於遠程控制的病毒程序,該程序具有很強的隱蔽性和危害性,它可以在人不知鬼不覺的狀態下控制你或者監視你。有人說,既然木馬這么厲害,那我離它遠一點不就可以了!然而這個木馬實在是“淘氣”,它可不管你是否歡迎,只要它高興,它就會想法設法地闖到你“家”中來的!哎呀,那還了得,趕快看看自己的電腦中有沒有木馬,說不定正在“家”中興風作浪呢!那我怎么知道木馬在哪里呢,相信不熟悉木馬的菜鳥們肯定想知道這樣的問題。下面就是木馬潛伏的詭招,看了以后不要忘記采取絕招來對付這些損招喲!

 

1、集成到程序中木

其實木馬也是一個服務器-客戶端程序,它為了不讓用戶能輕易地把它刪除,就常常集成到程序里,一旦用戶激活木馬程序,那么木馬文件和某一應用程序捆綁在一起,然后上傳到服務端覆蓋原文件,這樣即使木馬被刪除了,只要運行捆綁了木馬的應用程序,木馬又會被安裝上去了。綁定到某一應用程序中,如綁定到系統文件,那么每一次Windows啟動均會啟動木馬。

2、隱藏在配置文件中

木馬實在是太狡猾,知道菜鳥們平時使用的是圖形化界面的操作系統,對於那些已經不太重要的配置文件大多數是不聞不問了,這正好給木馬提供了一個藏身之處。而且利用配置文件的特殊作用,木馬很容易就能在大家的計算機中運行、發作,從而偷窺或者監視大家。不過,現在這種方式不是很隱蔽,容易被發現,所以在 Autoexec.bat和Config.sys中加載木馬程序的並不多見,但也不能因此而掉以輕心哦。

3、潛伏在Win.ini中

木馬要想達到控制或者監視計算機的目的,必須要運行,然而沒有人會傻到自己在自己的計算機中運行這個該死的木馬。當然,木馬也早有心理准備,知道人類是高智商的動物,不會幫助它工作的,因此它必須找一個既安全又能在系統啟動時自動運行的地方,於是潛伏在Win.ini中是木馬感覺比較愜意的地方。大家不妨打開Win.ini來看看,在它的[windows]字段中有啟動命令“load=”和“run=”,在一般情況下“=”后面是空白的,如果有后跟程序,比方說是這個樣子:run=c:\windows\file.exe load=c:\windows\file.exe

這時你就要小心了,這個file.exe很可能是木馬哦。

4、偽裝在普通文件中
這個方法出現的比較晚,不過現在很流行,對於不熟練的windows操作者,很容易上當。具體方法是把可執行文件偽裝成圖片或文本—-在程序中把圖標改成Windows的默認圖片圖標, 再把文件名改為*.jpg.exe, 由於Win98默認設置是”不顯示已知的文件后綴名”,文件將會顯示為 *.jpg, 不注意的人一點這個圖標就中木馬了(如果你在程序中嵌一張圖片就更完美了)。

5、內置到注冊表中

上面的方法讓木馬着實舒服了一陣,既沒有人能找到它,又能自動運行,真是快哉!然而好景不長,人類很快就把它的馬腳揪了出來,並對它進行了嚴厲的懲罰!但是它還心有不甘,總結了失敗教訓后,認為上面的藏身之處很容易找,現在必須躲在不容易被人發現的地方,於是它想到了注冊表!的確注冊表由於比較復雜,木馬常常喜歡藏在這里快活,趕快檢查一下,有什么程序在其下,睜大眼睛仔細看了,別放過木馬哦:HKEY_LOCAL_MACHINE\ Software\Microsoft\Windows\CurrentVersion下所有以“run”開頭的鍵值; HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion下所有以“run”開頭的鍵值;HKEY-USERS\.Default\Software\Microsoft\Windows\CurrentVersion下所有以“run” 開頭的鍵值。電+腦*維+修-知.識_網(w_ww*dnw_xzs*co_m)

6、在System.ini中藏身

木馬真是無處不在呀!什么地方有空子,它就往哪里鑽!這不,Windows安裝目錄下的System.ini也是木馬喜歡隱蔽的地方。還是小心點,打開這個文件看看,它與正常文件有什么不同,在該文件的[boot]字段中,是不是有這樣的內容,那就是shell= Explorer.exe file.exe,如果確實有這樣的內容,那你就不幸了,因為這里的file.exe就是木馬服務端程序!另外,在 System.ini中的[386Enh]字段,要注意檢查在此段內的“driver=路徑\程序名”,這里也有可能被木馬所利用。再有,在 System.ini中的[mic]、[drivers]、[drivers32]這三個字段,這些段也是起到加載驅動程序的作用,但也是增添木馬程序的好場所,現在你該知道也要注意這里嘍。

7、隱形於啟動組中

有時木馬並不在乎自己的行蹤,它更注意的是能否自動加載到系統中,因為一旦木馬加載到系統中,任你用什么方法你都無法將它趕跑(哎,這木馬臉皮也真是太厚),因此按照這個邏輯,啟動組也是木馬可以藏身的好地方,因為這里的確是自動加載運行的好場所。動組對應的文件夾為:C:\windows\ start menu\programs\startup,在注冊表中的位置:HKEY_CURRENT_USER\Software\ Microsoft\Windows\CurrentVersionExplorer\ShellFolders Startup=”C:\windows \start menu\programs\startup”。要注意經常檢查啟動組哦!

8、隱蔽在Winstart.bat中

按照上面的邏輯理論,凡是利於木馬能自動加載的地方,木馬都喜歡呆。這不,Winstart.bat也是一個能自動被Windows加載運行的文件,它多數情況下為應用程序及Windows自動生成,在執行了Win.com並加載了多數驅動程序之后開始執行(這一點可通過啟動時按F8鍵再選擇逐步跟蹤啟動過程的啟動方式可得知)。由於Autoexec.bat的功能可以由Winstart.bat代替完成,因此木馬完全可以像在 Autoexec.bat中那樣被加載運行,危險由此而來。

9、捆綁在啟動文件中

即應用程序的啟動配置文件,控制端利用這些文件能啟動程序的特點,將制作好的帶有木馬啟動命令的同名文件上傳到服務端覆蓋這同名文件,這樣就可以達到啟動木馬的目的了。

10、設置在超級連接中

木馬的主人在網頁上放置惡意代碼,引誘用戶點擊,用戶點擊的結果不言而喻:開門揖盜!奉勸不要隨便點擊網頁上的鏈接,除非你了解它,信任它,為它死了也願意等等。(w_ww*dnw_xzs*co_m)

木馬程序是如何實現隱藏的

近年來,黑客技術不斷成熟起來,對網絡安全造成了極大的威脅,黑客的主要攻擊手段之一,就是使用木馬技術,滲透到對方的主機系統里,從而實現對遠程操作目標主機。 其破壞力之大,是絕不容忽視的,黑客到底是如何制造了這種種具有破壞力的木馬程序呢,下面,讓我們對木馬的開發技術做一次徹底的透視,從了解木馬技術開始,更加安全的管理好自己的計算機。

木馬程序的服務器端,為了避免被發現,多數都要進行隱藏處理,下面讓我們來看看木馬是如何實現隱藏的。

說到隱藏,首先得先了解三個相關的概念:進程,線程和服務。我簡單的解釋一下。電

進程:一個正常的Windows應用程序,在運行之后,都會在系統之中產生一個進程,同時,每個進程,分別對應了一個不同的PID (Progress ID, 進程標識符)這個進程會被系統分配一個虛擬的內存空間地址段,一切相關的程序操作,都會在這個虛擬的空間中進行。

線程:一個進程,可以存在一個或多個線程,線程之間同步執行多種操作,一般地,線程之間是相互獨立的,當一個線程發生錯誤的時候,並不一定會導致整個進程的崩潰。

服務:一個進程當以服務的方式工作的時候,它將會在后台工作,不會出現在任務列表中,但是,在Windows NT/2000下,你仍然可以通過服務管理器檢查任何的服務程序是否被啟動運行。

想要隱藏木馬的服務器端,可以偽隱藏,也可以是真隱藏。偽隱藏,就是指程序的進程仍然存在,只不過是讓他消失在進程列表里。真隱藏則是讓程序徹底的消失,不以一個進程或者服務的方式工作。

偽隱藏的方法,是比較容易實現的,只要把木馬服務器端的程序注冊為一個服務就可以了,這樣,程序就會從任務列表中消失了,因為系統不認為他是一個進程,當按下Ctrl+Alt+Delete的時候,也就看不到這個程序。但是,這種方法只適用於Windows9x的系統,對於Windows NT, Windows 2000等,通過服務管理器,一樣會發現你在系統中注冊過的服務。難道偽隱藏的方法就真的不能用在Windows NT/2000下了嗎?當然還有辦法,那就是API的攔截技術,通過建立一個后台的系統鈎子,攔截PSAPI的EnumProcessModules等相關的函數來實現對進程和服務的遍歷調用的控制,當檢測到進程ID(PID)為木馬程序的服務器端進程的時候直接跳過,這樣就實現了進程的隱藏,金山詞霸等軟件,就是使用了類似的方法,攔截了TextOutA,TextOutW函數,來截獲屏幕輸出,實現即時翻譯的。同樣,這種方法也可以用在進程隱藏上。

當進程為真隱藏的時候,那么這個木馬的服務器部分程序運行之后,就不應該具備一般進程,也不應該具備服務的,也就是說,完全的溶進了系統的內核。也許你會覺得奇怪,剛剛不是說一個應用程序運行之后,一定會產生一個進程嗎?的確,所以我們可以不把他做成一個應用程序,而把他做為一個線程,一個其他應用程序的線程,把自身注入其他應用程序的地址空間。而這個應用程序對於系統來說,是一個絕對安全的程序,這樣,就達到了徹底隱藏的效果,這樣的結果,導致了查殺黑客程序難度的增加。

出於安全考慮,我只給出一種通過注冊服務程序,實現進程偽隱藏的方法,對於更復雜,高級的隱藏方法,比如遠程線程插入其他進程的方法,請參閱ShotGun的文章《NT系統下木馬進程的隱藏與檢測》:

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
DWORD dwVersion = GetVersion();  //取得Windows的版本號
if (dwVersion >= 0x80000000)   // Windows 9x隱藏任務列表
{
int (CALLBACK *rsp)(DWORD,DWORD);
HINSTANCE dll=LoadLibrary(“KERNEL32.DLL”);  //裝入KERNEL32.DLL
rsp=(int(CALLBACK *)(DWORD,DWORD))GetProcAddress(dll,”RegisterServiceProcess”);  //找到RegisterServiceProcess的入口
rsp(NULL,1);  //注冊服務
FreeLibrary(dll);  //釋放DLL模塊
}
}
catch (Exception &exception)  //處理異常事件
{
//處理異常事件
}
return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM