學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux如何手動分析病毒樣本

Linux如何手動分析病毒樣本

時間: 若木635 分享

Linux如何手動分析病毒樣本

  歡迎大家來到學(xué)習(xí)啦,本文教你Linux六大誤區(qū),歡迎大家閱讀。

  原理:利用md5值的不同進行文件的對比。

  操作背景:

  XP安裝光盤;

  病毒樣本;

  U盤;

  Ubuntu 7.10 LiveCD

  所需的幾個對比md5和轉(zhuǎn)化二進制文件格式的程序

  操作過程:

  1. 全盤格式化,同時安裝Windows(也可采用ghost回去,但是一定注意其他磁盤可能的病毒感染)

  2. 在剛裝好的Windows下,導(dǎo)出注冊表。將導(dǎo)出文件放入C盤根目錄下。這里我命名為1.reg

  3. 進入Ubuntu系統(tǒng),注意,進入前f2選擇簡體中文模式

  4. 掛載C盤:

  mkdir /mnt/hdd1 (生產(chǎn)系統(tǒng)C盤掛載點)

  mount -t ntfs -o iocharset=cp936 /dev/hdd1 /mnt/hdd1 (將系統(tǒng)C盤掛載到/mnt/hdd1下,注意文件格式和設(shè)備號視具體情況而定)

  5. 掛載U盤:

  mkdir /mnt/usb (生成U盤掛載點)

  mount -t vfat /dev/sda1 /mnt/usb (將U盤掛載到/mnt/usb下,同樣注意文件格式和設(shè)備號)

  6. 將導(dǎo)出的注冊表信息放入U盤:

  假設(shè)U盤上已經(jīng)有test目錄,同時,在test目錄下有parse.sh,parseWinReg,ShowList 三個程序

  cp /mnt/hdd1/1.reg /mnt/usb/test (將導(dǎo)出注冊表拷貝至/mnt/usb/test目錄下)

  cd /mnt/usb/test (進入U盤test 目錄)

  ./parseWinReg 1.reg origreg (將導(dǎo)出注冊表進行格式轉(zhuǎn)換,生成origreg)

  7. 計算C盤所有文件md5值:

  rm /mnt/hdd1/pagefile.sys (這個文件太大影響計算速度,刪除)

  /mnt/usb/test/parse.sh /mnt/hdd1/ > /mnt/usb/origfile (計算磁盤文件md5值,并將結(jié)果導(dǎo)出至U盤test目錄下origfile)

  8. 重新進入Windows,同時,激發(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)出的注冊表是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. 比較注冊表不同之處:diff -Nur origreg newreg > regdiff

  13. 分析filediff 和 regdiff,得到結(jié)論

  分析小技巧:

  一般情況下前面出現(xiàn)+的就是病毒釋放的,-就是有過改動的(感染的),如果是md5值是成雙成對出現(xiàn)(一個+和一個-),那那一行一般不是,如果前面沒有任何標記,那說明也不是。咱們把沒用的刪除,只留下有單個+或者單個-的,最好看文件路徑,即得到了病毒的產(chǎn)生文件或者是感染文件。

118965