在Linux操作系统下手动分析病毒样本技巧

来源:赛迪网 作者:skid
   

原理:利用md5值的不同进行文件的对比。

 

操作背景:

 

1. XP安装光盘;

 

2. 病毒样本;

 

3. U盘;

 

4. Ubuntu 7.10 LiveCD

 

5.所需的几个对比md5和转化二进制文件格式的程序

 

操作过程:

 

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

 

2. 在刚装好的Windows下,导出注册表。将导出文件放入C盘根目录下。这里我命名为1.reg

 

3. 进入Ubuntu系统,注意,进入前f2选择简体中文模式

 

4. 挂载C盘:

 

mkdir /mnt/hdd1 (生产系统C盘挂载点)

 

mount -t ntfs -o iocharset=cp936 /dev/hdd1 /mnt/hdd1 (将系统C盘挂载到/mnt/hdd1下,注意文件格式和设备号视具体情况而定)

 

5. 挂载U盘:

 

mkdir /mnt/usb (生成U盘挂载点)

 

mount -t vfat /dev/sda1 /mnt/usb (将U盘挂载到/mnt/usb下,同样注意文件格式和设备号)

 

6. 将导出的注册表信息放入U盘:

 

假设U盘上已经有test目录,同时,在test目录下有parse.sh,parseWinReg,ShowList 三个程序

 

cp /mnt/hdd1/1.reg /mnt/usb/test (将导出注册表拷贝至/mnt/usb/test目录下)

 

cd /mnt/usb/test (进入U盘test 目录)

 

./parseWinReg 1.reg origreg (将导出注册表进行格式转换,生成origreg)

 

7. 计算C盘所有文件md5值:

 

rm /mnt/hdd1/pagefile.sys (这个文件太大影响计算速度,删除)

 

/mnt/usb/test/parse.sh /mnt/hdd1/ > /mnt/usb/origfile (计算磁盘文件md5值,并将结果导出至U盘test目录下origfile)

 

8. 重新进入Windows,同时,激发病毒文件

 

注意:先将病毒文件放入磁盘,拔掉U盘,拔掉网线,再激发!

 

9. 重复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 (这里假设导出的注册表是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. 至此,我们得到了原始的系统信息:origreg, origfile,中病毒之后的信息:newreg, newfile

 

11. 比较文件不同之处:diff -Nur origfile newfile > filediff

 

12. 比较注册表不同之处:diff -Nur origreg newreg > regdiff

 

13. 分析filediff 和 regdiff,得到结论

 

分析小技巧:一般情况下前面出现+的就是病毒释放的,-就是有过改动的(感染的),如果是md5值是成双成对出现(一个+和一个-),那那一行一般不是,如果前面没有任何标记,那说明也不是。咱们把没用的删除,只留下有单个+或者单个-的,最好看文件路径,即得到了病毒的产生文件或者是感染文件。

(责任编辑:A6)


时间:2008-04-07 15:23 来源:赛迪网 作者:skid 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量