冰河淺析 - 揭開木馬的神秘面紗(下)

轉自INTERNET

四、破解篇(魔高一尺、道高一丈)

  本文主要是探討木馬的基本原理, 木馬的破解並非是本文的重點(也不是我的長處),具體的破解請大家期待yagami的《特洛伊木馬看過來》(我都期待一年了,大家和我一起繼續期待吧,嘿嘿),本文只是對通用的木馬防禦、卸載方法做一個小小的總結:
  1.端口掃瞄
  端口掃瞄是檢查遠程機器有無木馬的最好辦法, 端口掃瞄的原理非常簡單, 掃瞄程序嘗試連接某個端口, 如果成功, 則說明端口開放, 如果失敗或超過某個特定的時間(超時), 則說明端口關閉。(關於端口掃瞄,Oliver有一篇關於「半連接掃瞄」的文章,很精彩,那種掃瞄的原理不太一樣,不過不在本文討論的範圍之中)

  但是值得說明的是, 對於驅動程序/動態鏈接木馬, 掃瞄端口是不起作用的。

  2.查看連接
  查看連接和端口掃瞄的原理基本相同,不過是在本地機上通過netstat -a(或某個第三方的程序)查看所有的TCP/UDP連接,查看連接要比端口掃瞄快,缺點同樣是無法查出驅動程序/動態鏈接木馬,而且僅僅能在本地使用。

  3.檢查註冊表
  上面在討論木馬的啟動方式時已經提到,木馬可以通過註冊表啟動(好像現在大部分的木馬都是通過註冊表啟動的,至少也把註冊表作為一個自我保護的方式),那麼,我們同樣可以通過檢查註冊表來發現"馬蹄印",冰河在註冊表裡留下的痕跡請參照《潛行篇》。

  4.查找文件
  查找木馬特定的文件也是一個常用的方法(這個我知道,冰河的特徵文件是G_Server.exe吧? 笨蛋!哪會這麼簡單,冰河是狡猾狡猾的......)冰河的一個特徵文件是kernl32.exe(靠,偽裝成Windows的內核呀),另一個更隱蔽,是sysexlpr.exe(什麼什麼,不是超級解霸嗎?)對!冰河之所以給這兩個文件取這樣的名字就是為了更好的偽裝自己, 只要刪除了這兩個文件,冰河就已經不起作用了。其他的木馬也是一樣(廢話,Server端程序都沒了,還能幹嘛?)
  黃鑫:"咳咳,不是那麼簡單哦......"(狡猾地笑)
  是的, 如果你只是刪除了sysexlpr.exe而沒有做掃尾工作的話,可能會遇到一些麻煩-就是你的文本文件打不開了,因為前面說了,sysexplr.exe是和文本文件關聯的,你還必須把文本文件跟notepad關聯上,方法有三種:
  a.更改註冊表(我就不說了,有能力自己改的想來也不要我說,否則還是不要亂動的好)
  b.在<我的電腦>-查看-文件夾選項-文件類型中編輯
  c.按住SHIFT鍵的同時鼠標右擊任何一個TXT文件,選擇打開方式,選中<始終用該程序打開......>,然後找到notepad,點一下就OK了。(這個最簡單,推薦使用)
  黃鑫:"我...我笑不起來了 🙁 "
  提醒一下,對於木馬這種狡猾的東西,一定要小心又小心,冰河是和txt文件關聯的,txt打不開沒什麼大不了,如果木馬是和exe文件關聯而你貿然地刪了它......你苦了!連regedit都不能運行了!

  5.殺病毒軟件
  之所以把殺病毒軟件放在最後是因為它實在沒有太大的用,包括一些號稱專殺木馬的軟件也同樣是如此, 不過對於過時的木馬以及菜鳥安裝的木馬(沒有配置服務端)還是有點用處的, 值得一提的是最近新出來的ip armor在這一方面可以稱得上是比較領先的,它採用了監視動態鏈接庫的技術,可以監視所有調用Winsock的程序,並可以動態殺除進程,是一個個人防禦的好工具(雖然我對傳說中「該軟件可以查殺未來十年木馬」的說法表示懷疑,嘿嘿,兩年後的事都說不清,誰知道十年後木馬會「進化」到什麼程度?甚至十年後的操作系統是什麼樣的我都想像不出來)

  另外,對於驅動程序/動態鏈接庫木馬,有一種方法可以試試,使用Windows的"系統文件檢查器",通過"開始菜單"-"程序"-"附件"-"系統工具"-"系統信息"-"工具"可以運行"系統文件檢查器"(這麼詳細,不會找不到吧? 什麼,你找不到! 吐血! 找一張98安裝盤補裝一下吧), 用「系統文件檢查器」可檢測操作系統文件的完整性,如果這些文件損壞,檢查器可以將其還原,檢查器還可以從安裝盤中解壓縮已壓縮的文件(如驅動程序)。如果你的驅動程序或動態鏈接庫在你沒有升級它們的情況下被改動了,就有可能是木馬(或者損壞了),提取改動過的文件可以保證你的系統安全和穩定。(注意,這個操作需要熟悉系統的操作者完成,由於安裝某些程序可能會自動升級驅動程序或動態鏈接庫,在這種情況下恢復"損壞的"文件可能會導致系統崩潰或程序不可用!)


五、狡詐篇(只要你的一點點疏忽......)

  只要你有一點點的疏忽,就有可能被人安裝了木馬,知道一些給人種植木馬的常見伎倆對於保證自己的安全不無裨益。
1.網上「幫」人種植木馬的伎倆主要有以下的幾條
   a.軟哄硬騙法;
   這個方法很多啦, 而且跟技術無關的, 有的是裝成大蝦, 有的是裝成PLMM, 有的態度謙恭, 有的......反正目的都一樣,就是讓你去運行一個木馬的服務端。
   b.組裝合成法
   就是所謂的221(Two To One二合一)把一個合法的程序和一個木馬綁定,合法程序的功能不受影響,但當你運行合法程序時,木馬就自動加載了,同時,由於綁定後程序的代碼發生了變化,根據特徵碼掃瞄的殺毒軟件很難查找出來。
   c.改名換姓法
   這個方法出現的比較晚,不過現在很流行,對於不熟練的windows操作者,很容易上當。具體方法是把可執行文件偽裝成圖片或文本----在程序中把圖標改成Windows的默認圖片圖標, 再把文件名改為*.jpg.exe, 由於Win98默認設置是"不顯示已知的文件後綴名",文件將會顯示為*.jpg, 不注意的人一點這個圖標就中木馬了(如果你在程序中嵌一張圖片就更完美了)
   d.願者上鉤法
   木馬的主人在網頁上放置惡意代碼,引誘用戶點擊,用戶點擊的結果不言而喻:開門揖盜;奉勸:不要隨便點擊網頁上的鏈接,除非你瞭解它,信任它,為它死了也願意...(什麼亂七八糟呀)  

2. 幾點注意(一些陳詞濫調)
  a.不要隨便從網站上下載軟件,要下也要到比較有名、比較有信譽的站點,這些站點一般都有專人殺馬殺毒;
  b.不要過於相信別人,不能隨便運行別人給的軟件;
(特別是認識的,不要以為認識了就安全了,就是認識的人才會給你裝木馬,哈哈,挑撥離間......)
  c.經常檢查自己的系統文件、註冊表、端口什麼的,經常去安全站點查看最新的木馬公告;
  d.改掉windows關於隱藏文件後綴名的默認設置(我是只有看見文件的後綴名才會放心地點它的)
  e.如果上網時發現莫名奇妙地硬盤亂響或貓上的數據燈亂閃,要小心;
 (我常常會突然關掉所有連接,然後盯著我的貓,你也可以試試,要是這時數據傳送燈還在拚命閃,恭喜,你中木馬了,快逃吧!)

六、後 記

  這篇文章的問世首先要感謝冰河的作者-黃鑫,我對他說:「我要寫篇關於冰河的文章」,他說:「寫唄」,然後就有了這篇文章的初稿(黃鑫:「不是吧,你答應要用稿費請我吃飯的,不要賴哦」),隨後,黃鑫給我提了很多建議並提供了不少資料,謝謝冰河。
  其次是西祠的yagami,他是公認的木馬專家,在我寫作期間,他不僅在木馬的檢測、殺除方面提出了不少自己的看法,還給我找來了幾個木馬的源代碼作為參考,不過這個傢伙實在太忙,所以想看《特洛伊木馬看過來》的朋友就只有耐心地等待了。
  第三個值得一提的傢伙是武漢人,我的初稿一出來,他就忙不迭地貼出去了,當時我很狼狽,只能加緊寫,爭取早日完成,趕快把漏洞百出的初稿換下來,要不然,嘿嘿,估計大家也要等個一年半載的才能看到這篇文章了。
  這篇文章的初稿出來以後,有很多朋友問:為什麼不用C++,而要用VB來寫木馬的源碼說明呢?呵呵,其一是我很懶,VB比 VC要容易多了,還不會把windows搞死機(我用VC寫程序曾經把系統搞崩潰過的:P);其二,本文中能用API的,我基本上都用了,VB只是很小的一塊, WINAPI嘛,移植起來是很容易的;其三,正如我前面強調的,本文只是對木馬的結構和原理進行一番討論,並非教人如何編寫木馬程序,要知道,公安部已經正式下文:在他人計算機內下毒的要處以刑事處分。相比而言,VB代碼的危害性要小很多的(如果完全用VB做一個冰河,大概要一兆多,還不連那些控件和動態鏈接庫文件,呵呵,這麼龐大的程序,能 悄 悄 地在別人的機子裡搗鬼嗎?)
  最後,作為冰河的朋友,我希望大家能抱著學術的態度來看這篇文章,同樣能抱著學術的態度來看待冰河木馬,不要用冰河做壞事,我替黃鑫先謝謝你了!(監視自己的女朋友不算,不過冰河不會對因為使用冰河導致和女友吵架直至分手負任何責任

點閱: 56

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料