原理:利用md5值的不同進(jìn)行文件的對(duì)比。
操作背景:
- XP安裝光盤;
- 病毒樣本;
- U盤;
- Ubuntu 7.10 LiveCD
- 所需的幾個(gè)對(duì)比md5和轉(zhuǎn)化二進(jìn)制文件格式的程序
操作過程:
1. 全盤格式化,同時(shí)安裝Windows(也可采用ghost回去,但是一定注意其他磁盤可能的病毒感染)
2. 在剛裝好的Windows下,導(dǎo)出注冊(cè)表。將導(dǎo)出文件放入C盤根目錄下。這里我命名為1.reg
3. 進(jìn)入U(xiǎn)buntu系統(tǒng),注意,進(jìn)入前f2選擇簡(jiǎn)體中文模式
4. 掛載C盤:
mkdir /mnt/hdd1 (生產(chǎn)系統(tǒng)C盤掛載點(diǎn))
mount -t ntfs -o iocharset=cp936 /dev/hdd1 /mnt/hdd1 (將系統(tǒng)C盤掛載到/mnt/hdd1下,注意文件格式和設(shè)備號(hào)視具體情況而定)
5. 掛載U盤:
mkdir /mnt/usb (生成U盤掛載點(diǎn))
mount -t vfat /dev/sda1 /mnt/usb (將U盤掛載到/mnt/usb下,同樣注意文件格式和設(shè)備號(hào))
6. 將導(dǎo)出的注冊(cè)表信息放入U(xiǎn)盤:
假設(shè)U盤上已經(jīng)有test目錄,同時(shí),在test目錄下有parse.sh,parseWinReg,ShowList 三個(gè)程序
cp /mnt/hdd1/1.reg /mnt/usb/test (將導(dǎo)出注冊(cè)表拷貝至/mnt/usb/test目錄下)
cd /mnt/usb/test (進(jìn)入U(xiǎn)盤test 目錄)
./parseWinReg 1.reg origreg (將導(dǎo)出注冊(cè)表進(jìn)行格式轉(zhuǎn)換,生成origreg)
7. 計(jì)算C盤所有文件md5值:
rm /mnt/hdd1/pagefile.sys (這個(gè)文件太大影響計(jì)算速度,刪除)
/mnt/usb/test/parse.sh /mnt/hdd1/ > /mnt/usb/origfile (計(jì)算磁盤文件md5值,并將結(jié)果導(dǎo)出至U盤test目錄下origfile)
8. 重新進(jìn)入Windows,同時(shí),激發(fā)病毒文件
注意:先將病毒文件放入磁盤,拔掉U盤,拔掉網(wǎng)線,再激發(fā)!
9. 重復(fù)3,4,5,6,7步驟
mkdir /mnt/hdd1
mount -t ntfs -o iocharset=cp936 /dev/hdd1 /mnt/hdd1
mkdir /mnt/usb
mount -t vfat /dev/sda1 /mnt/usb
cp /mnt/hdd1/2.reg /mnt/usb/test (這里假設(shè)導(dǎo)出的注冊(cè)表是2.reg)
cd /mnt/usb/test
./parseWinReg 2.reg newreg
rm /mnt/hdd1/pagefile.sys
/mnt/usb/test/parse.sh /mnt/hdd1/ > /mnt/usb/newfile
10. 至此,我們得到了原始的系統(tǒng)信息:origreg, origfile,中病毒之后的信息:newreg, newfile
11. 比較文件不同之處:diff -Nur origfile newfile > filediff
12. 比較注冊(cè)表不同之處:diff -Nur origreg newreg > regdiff
13. 分析filediff 和 regdiff,得到結(jié)論
分析小技巧:
一般情況下前面出現(xiàn)+的就是病毒釋放的,-就是有過改動(dòng)的(感染的),如果是md5值是成雙成對(duì)出現(xiàn)(一個(gè)+和一個(gè)-),那那一行一般不是,如果前面沒有任何標(biāo)記,那說明也不是。咱們把沒用的刪除,只留下有單個(gè)+或者單個(gè)-的,最好看文件路徑,即得到了病毒的產(chǎn)生文件或者是感染文件。
本文鏈接:http://www.95time.cn/computer/server/2008/5642.asp
出處:賽迪網(wǎng)
責(zé)任編輯:bluehearts
◎進(jìn)入論壇計(jì)算機(jī)技術(shù)版塊參加討論
|