基本介紹
- 中文名:廣外女生木馬
- 外文名:Trojan.GWGirls10a.192000
- 病毒類型:木馬病毒
- 行為:遠程監控,記錄鍵盤,修改註冊表
- 出處:廣東外語外貿大學
- 影響系統:Win2000等
清除方法,查殺教程,序言,所需工具,分析步驟,查殺,深入研究,總結,
清除方法
具體手工清除方法如下:
1、由於該木馬程式運行時無法刪除該檔案,因此啟動到純DOS模式下,找到System目錄下的Diagcfg.exe,刪除它;
2、由於Diagcfg.exe檔案已經被刪除了,因此在Windows環境下任何EXE檔案都將無法運行。我們找到Windows目錄中的註冊表編輯器“Regedit.exe”,將它改名為“Regedit. com”;
3、回到Windows模式下,運行Windows目錄下的Regedit. com程式(就是我們剛才改名的檔案);
4、找到HKEY_CLASSES_ROOT\exefile\shell\open\command,將其默認鍵值改成"%1" %*;
5、找到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current-Version\RunServices,刪除其中名稱為“Diagnostic Configuration”的鍵值;
6、關掉註冊表編輯器,回到Windows目錄,將“Regedit. com”改回“Regedit.exe"。
7、完成。
及時更新軟體
及時更新防毒軟體
查殺教程
序言
由於“廣外女生”這個木馬的駐留、啟動的方法比較具有典型性,下面就通過對這種新型木馬的詳細分析過程來向大家闡述對一般木馬的研究方法。下面的測試環境為Windows2000中文版。
所需工具
1.RegSnap v2.80 監視註冊表以及系統檔案變化的最好工具
2.fport v1.33 查看程式所打開的連線埠的工具
3.FileInfo v2.45a 查看檔案類型的工具
4.ProcDump v1.6.2 脫殼工具
5.IDA v4.0.4 反彙編工具
分析步驟
一切工具準備就緒了,開始分析這個木馬。一般的木馬的伺服器端一旦運行之後都會對註冊表以及系統檔案做一些手腳,所以我們在分析之前就要先對註冊表以及系統檔案做一個備份。
首先打開RegSnap,從file選單選new,然後點OK。這樣就對當前的註冊表以及系統檔案做了一個記錄,一會兒如果木馬修改了其中某項,我們就可以分析出來了。備份完成之後把它存為Regsnp1.rgs。
從RegSnap的file選單選擇Compare,在First snapshot中選擇打開Regsnp1.rgs,在Second snapshot中選擇打開Regsnp2.rgs,並在下面的單選框中選中Show modifiedkey names and key values。然後按OK按鈕,這樣RegSnap就開始比較兩次記錄又什麼區別了,當比較完成時會自動打開分析結果檔案Regsnp1-Regsnp2.htm。
看一下Regsnp1-Regsnp2.htm,注意其中的:
Summary info:
Deleted keys: 0
Modified keys: 15
New keys : 1
意思就是兩次記錄中,沒有刪除註冊表鍵,修改了15處註冊表,新增加了一處註冊表。再看看後邊的:
File list in C:\WINNT\System32\*.*
Summary info:
Deleted files: 0
Modified files: 0
New files : 1
New files
diagcfg.exe Size: 97 792 , Date/Time: 2001年07月01日 23:00:12
--------------
Total positions: 1
這一段話的意思就是,在C:\WINNT\System32\目錄下面新增加了一個檔案diagcfg.exe,這個檔案非常可疑,因為我們在比較兩次系統信息之間只運行了“廣外女生”這個木馬,所以我們有理由相信diagcfg.exe就是木馬留在系統中的後門程式。不信的話你打開任務管理器看一下,會發現其中有一個DIAGCFG.EXE的進程,這就是木馬的原身。但這個時候千萬不要刪除DIAGCFG.EXE,否則系統就無法正常運行了。
木馬一般都會在註冊表中設定一些鍵值以便以後在系統每次重新啟動時能夠自動運行。我們再來看看Regsnp1-Regsnp2.htm中哪些註冊表項發生了變化,憑藉經驗應該注意到下面這條了:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\open\command\@
Old value: String: ""%1" %*"
New value: String: "C:\WINNT\System32\DIAGCFG.EXE "%1" %*"
這個鍵值由原來的"%1" %*被修改為了C:\WINNT\System32\DIAGCFG.EXE "%1" %*,因為其中包含了木馬程式DIAGCFG.EXE所以最為可疑。那么這個註冊表項有什麼作用呢?
它就是運行執行檔的格式,被改成C:\WINNT\System32\DIAGCFG.EXE "%1" %*之後每次再運行任何執行檔時都要先運行C:\WINNT\System32\DIAGCFG.EXE這個程式。
原來這個木馬就是通過這裡做了手腳,使自己能夠自動運行,它的啟動方法與一般普通木馬不太一樣,一般的木馬是在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run*
鍵里增加一個鍵值,使自己能夠自啟動,但這種方法被防毒軟體所熟知了,所以很容易被查殺。而“廣外女生”這個木馬就比較狡猾,它把啟動項設在了另外的位置。
現在已經掌握了這個木馬的駐留位置以及在註冊表中的啟動項,還有重要的一點就是還要找出它到底監聽了哪個連線埠。使用fport可以輕鬆的實現這一點。在命令行中運行fport.exe,可以看到:
1176 DIAGCFG -> 6267 TCP C:\WINNT\System32\DIAGCFG.EXE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 注意這行!!!
可以清楚的看到,木馬程式監聽在TCP的6267號連線埠上了。我們到目前為止就可以說掌握了“廣外女生”這個木馬在我們系統中的全部動作了,現在我們可以輕而易舉的查殺它了。
查殺
經過前面的分析已經了解了“廣外女生”這種木馬的工作方式,現在我們就來清除它。下面就是徹底清除“廣外女生”的方法,注意:這個步驟的次序不能顛倒,否則可能無法完全清除掉此木馬。
1.按“開始”選單,選擇“運行”,輸入regedit,按確定。打開下面鍵值:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\open\command\,但是先不要修改,因為如果這時就修改註冊表的話,DIAGCFG.EXE進程仍然會立刻把它改回來的。
2.打開“任務管理器”,找到DIAGCFG.EXE這個進程,選中它,按“結束進程”來關掉這個進程。注意,一定不要先關進程再打開註冊表管理器,否則執行regedit.exe時就又會啟動DIAGCFG.EXE。
3.把HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\open\command\的鍵值由原來的C:\WINNT\System32\DIAGCFG.EXE "%1" %*改為"%1" %*。
4.這時就可以刪除C:\WINNT\System32\目錄下的DIAGCFG.EXE了。切記萬萬不可首先刪除這個檔案,否則的話就無法再系統中運行任何執行檔了。由於我們下面還打算進一步深入分析這個木馬,所以現在不刪除它,而是把它拷貝到其他的目錄以便研究。
深入研究
已經知道了“廣外女生”的基本工作原理、啟動流程以及如何徹底清除它了,但是還有一點我們沒有徹底弄清楚,那就是它是如何對付防毒軟體的。要深入了解這一點,我們必須要去看“廣外女生”的代碼,這個木馬並沒有公布原始碼,但是我們仍然可以通過反彙編它來看個究竟。
“廣外女生”的伺服器端只有96K,顯然是使用了壓縮軟體進行了加殼的,我們首先就要確定它到底加了什麼殼。通過使用FileInfo這個小工具就可以偵測出來。現在我們就把前面分析過的那個DIAGCFG.EXE複製到FileInfo的目錄下,然後在命令行下fi.exe,然後按回車,就會顯示:
FileInfo就已經檢測出DIAGCFG.EXE是使用了ASPack v1.06b進行加殼。知道了它的加密方法我們就可以使用ProcDump來把它脫殼了。
運行ProcDump,點擊Unpack按鈕,因為我們要脫ASPack v1.06b的殼,所以就在其中選中Aspack<108,然後按OK。這時它會讓你打開要脫殼的檔案,我們就選DIAGCFG.EXE,打開。然後稍微等幾秒種後按“確定”,ProcDump就會把DIAGCFG.EXE脫殼,然後會出個對話框要你把脫殼過的檔案存檔,我們就把它存為gwns.exe。
注意:這時候,木馬又在你的系統上運行了一次,所以必須按照前面的清除步驟重新把它清除掉。由於前面已經寫過清除方法,這裡就不再贅述了。
好了,現在已經得到了這個木馬加殼前的原始檔案了,看看脫殼過的gwns.exe,有194k之大,比原來的程式大了一倍還多,這就是加殼軟體的功勞了。現在就可以使用反彙編程式對其進行反彙編,然後看它的彙編程式代碼了。
就用IDA來反彙編它,順便說一句,這個IDA是個超強的反彙編工具,是cracker以及Windows hacker所必備的工具。下面我們就來看看部分反彙編過的代碼:
木馬首先載入了kernel32.dll,然後利用GetProcAddress來得到RegisterServiceProcess這個API的地址,木馬首先需要把自己註冊為系統服務,這樣在Win9x下運行時就不容易被任務管理器發現。然後它會GetCommandLineA來得到運行參數,如果參數是執行檔的話就調用Winexec來運行。
然後木馬會查找snfw.exe和kav9x.exe的進程,也就是防毒軟體的進程,然後將其殺掉。
下面就是修改木馬的註冊表啟動項,即HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\open\command\項,使其能夠在每次系統重新啟動時能夠自行啟動。接下來木馬就會初始化Winsock dll,綁定連線埠,等待木馬客戶端的連線。
總結
截止目前為止,我們已經完成了對“廣外女生”這個木馬程式的全部分析過程,了解了木馬的啟動、運行機制。當然,我寫本文的目的並不是簡單的介紹“廣外女生”這一種木馬,而是通過對這個具有典型意義的木馬的詳細分析,來向大家介紹對一般木馬的分析方法。利用本文的分析方法,你完全對任何一種未知的木馬品種進行分析。最後我們再來總結一下對木馬分析的方法及步驟:
首先對系統註冊表以及系統檔案進行備份,然後運行木馬伺服器端,再對運行過木馬的註冊表以及系統檔案進行記錄,利用註冊表分析工具對兩次記錄結果進行比較,這樣就可以了解木馬在系統中做了哪些手腳。利用fport來查看木馬監聽連線埠。然後利用所獲取的信息做出木馬的清除方法。
如果想要對木馬進行深入的分析,還應該對木馬伺服器端進行脫殼、反彙編。這樣就可以完全掌握木馬的任何動作,當然,這需要你對彙編語言有相當的掌握程度以及一定的耐心,因為冗長的彙編代碼不是一般的新手所能完全閱讀的。