史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 應用軟體使用技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2005-06-05, 07:04 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 電腦病毒樣本的提取(一次性加/解密的病毒樣本)

電腦病毒樣本的提取(一次性加/解密的病毒樣本)

By 殺毒防馬研究組,QQ群:1938484

再次宣告,研究病毒技術是為了更好的做好反病毒工作。我們反對一切形式的破壞,我們要致力於反病毒事業。

在這裡我會簡單的介紹病毒樣本的獲取與分析方法。

個人如何獲取病毒樣本呢?
對於我們個人用戶來說,當然沒有反病毒公司截獲病毒的那種條件。不過,要找一些病毒樣本來分析也不是一件難事情。
我們可以設定自己的蜜罐。
首先要準備一個虛擬機,在虛擬機裡面安裝win2k+SP1,再安裝IIS6.0和SQL Server 2000,能開啟的服務都開啟,最好再安裝NAV(防止重複獲得已知的病毒樣本),並安裝ISA防火牆來監控網路流,在用SNIFFER XP來做地層包的截獲,最後安裝文件變化記錄器(主要用於CRC32校驗比較以判斷文件是否發生變化,我們僅監視幾種病毒經常感染的檔案類型就可以了)。在用虛擬機的抓圖 功能制作備份虛擬機中的系統。
這樣我們就準備好了自己的DIY型蜜罐,現在到HOTMAIL註冊一個E-MAIL,然後加入多個國外的新聞組等熱鬧的地方,這樣就會有更多的機會得當樣本。接下來就是等待了,經常檢視信箱的郵件,等到SNIFFER XP監視出現流量異常或NAV被關閉或失效,此時應該多開啟幾次一些PROGRAM FILES目錄下的程序以保證病毒的感染,一般來說IPC$和IIS進來的病毒或者懦蟲會開一些新的工作,我們可以用CTRL+ALT+DEL把他們查出來,知道那些文件--複製到儲存樣本的介質上~~然後把文件變化器中發現的檔案拷貝出來,這樣就得到疑似樣本了。

VBS指令碼病毒樣本的提取
當獲得了VBS指令碼病毒樣本後,其提取方法是比較簡單的。對於獲取的VBS指令碼病毒樣本,我們可以直接用文本編輯器開啟樣本文件檢視其中的原程式碼。對於有加密的病毒,樣本提取的工作其實到這裡就已經結束了。

一次性加/解密的病毒樣本
這樣的病毒比較普遍,但是弱點也比較明顯。因為他們是對加密病毒程式碼一次性解密後直接執行的,我們便可以在其解密之後、執行之前將病毒程式碼提取出來,或者乾脆移除其程式碼,寫入我們自己的病毒提取程式碼。

這裡我以大家比較熟悉的「新歡樂時光」為例子,說明這種方法提出的方法。
感染這個病毒後,會發現在每個目錄下都有兩個隱藏文件: desktop.ini folder.htt
用ultraEdit開啟 folder.htt ,會發現這個文件總共才93行,第一行為<body onload="vbscript:KJ_start()">,幾行註釋後,以<html>開始,</html>結束,很顯然這是一個HTM格式的文件(folder.htt摸板就是採用了樣式表和html標記).

第87行到91行的語句如下:
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2005-06-05, 01:53 PM   #2 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

--------------------
87:<script language=vbscript>
88:ExeString="Afi FkSeboa)EqiiQbtq)S^pQbtq)AadobaPfdj)>mlibL^gb\p).......省略太長了
89:Execute("Dim KeyArr(3),ThisText"&vbCrLf&"KeyArr(0)=3"&vbCrLf&"KeyArr(1)=3"&vbCrLf&"KeyArr(2)=3"&vbCrLf&"KeyArr(3)=4"&vbCrLf&"for i=1 to Len(ExeString)"&vbCrLf&"TempNum=asc(mid(ExeString,i,1))"&vbCrLf&"IF TempNum=18 then"&vbCrLf&"TempNum=34"&vbCrLf&"End If"&vbCrLf&"TempChar=Chr(TempNum+KeyArr(iMod4))"&vbCrLf&"If TempChar=Chr(28) then"&vbCrLf&"TempChar=vbCr"&vbCrLf&"ElseIf TempChar=Chr(29) then"&vbCrLf&"TempChar=vbLf"&vbCrLf&"End If"&vbCrLf&"ThisText=ThisText&TempChar"&vbCrLf&"Next")
90:Execute(ThisText)
91:</script>
--------------------
第87和91行這裡就不解釋了,第88行是一個字元串的賦值,很明顯這是被加密過的病毒程式碼。看看89行最後的一段程式碼ThisText=ThisText&TempChar,再加上下面那一行,我們肯定能夠猜出ThisText裡面放的就是病毒解密後的程式碼,第90行是執行剛才ThisText中的那段程式碼
現在我們知道ThisText字元串變數中存放的就是病毒程式碼。那麼下一步該怎麼辦呢?很簡單,我們只要在病毒程式碼解密後,將ThisText的內容輸出到一個文本文件中就可以了。由於上面幾行是vbscript,於是用以下方法新增一個.vbs文件。
首先將第88,89兩行拷貝到剛才建立的.vbs文件,然後在下面輸入一行新增文件和將ThisText寫入文件vbs程式碼,整個文件所顯示:
-----
ExeString="Afi... '第88行的程式碼,這裡省略了
Execute("Dim KeyAr.. '第89行程式碼,這裡省略了
Set fso=CreateObject("scripting.filesystemobject")
Set bingdu=fso.createTextfile("resource.log",true)
'新增一個新文件用來存放解密後的病毒程式碼
bingdu.writeline(ThisText)
-------------------------
87:<script language=vbscript>
88:ExeString="Afi FkSeboa)EqiiQbtq)S^pQbtq)AadobaPfdj)>mlibL^gb\p).......省略太長了
89:Execute("Dim KeyArr(3),ThisText"&vbCrLf&"KeyArr(0)=3"&vbCrLf&"KeyArr(1)=3"&vbCrLf&"KeyArr(2)=3"&vbCrLf&"KeyArr(3)=4"&vbCrLf&"for i=1 to Len(ExeString)"&vbCrLf&"TempNum=asc(mid(ExeString,i,1))"&vbCrLf&"IF TempNum=18 then"&vbCrLf&"TempNum=34"&vbCrLf&"End If"&vbCrLf&"TempChar=Chr(TempNum+KeyArr(iMod4))"&vbCrLf&"If TempChar=Chr(28) then"&vbCrLf&"TempChar=vbCr"&vbCrLf&"ElseIf TempChar=Chr(29) then"&vbCrLf&"TempChar=vbLf"&vbCrLf&"End If"&vbCrLf&"ThisText=ThisText&TempChar"&vbCrLf&"Next")
90:Execute(ThisText)
91:</script>
--------------------
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2005-06-05, 01:59 PM   #3 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

第87和91行這裡就不解釋了,第88行是一個字元串的賦值,很明顯這是被加密過的病毒程式碼。看看89行最後的一段程式碼ThisText=ThisText&TempChar,再加上下面那一行,我們肯定能夠猜出ThisText裡面放的就是病毒解密後的程式碼,第90行是執行剛才ThisText中的那段程式碼
現在我們知道ThisText字元串變數中存放的就是病毒程式碼。那麼下一步該怎麼辦呢?很簡單,我們只要在病毒程式碼解密後,將ThisText的內容輸出到一個文本文件中就可以了。由於上面幾行是vbscript,於是用以下方法新增一個.vbs文件。
首先將第88,89兩行拷貝到剛才建立的.vbs文件,然後在下面輸入一行新增文件和將ThisText寫入文件vbs程式碼,整個文件所顯示:
-----
ExeString="Afi... '第88行的程式碼,這裡省略了
Execute("Dim KeyAr.. '第89行程式碼,這裡省略了
Set fso=CreateObject("scripting.filesystemobject")
Set bingdu=fso.createTextfile("resource.log",true)
'新增一個新文件用來存放解密後的病毒程式碼
bingdu.writeline(ThisText)
-----
然後儲存文件,執行它你就會發現 resource.log裡面就是病毒的原程式碼了。

如果你看到了這裡證明你已經很有耐性了,請堅持~~~

轉載要註明「殺毒防馬研究組
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2005-06-06, 08:11 AM   #4 (permalink)
chiaching
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

這種技術性的好文章,難得一見啊!
謝謝大大無私的分享!!
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 06:30 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1