linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > 软件开发 >
栏目导栏
资料搜索
热门文章
·Linux 下 C 语言编程
·Linux下的通用线程池创建
·C++字符串转换篇
·linux C 进程操作篇
·linux上的C/C++编译器gcc/egcs
·linux C 文件权限控制篇
·GCC使用手册
·linux C 接口处理篇
·在Redhat Linux上安装 GCC 编译
·fopen()函数的参数说明
·C语言运算符
·GCC使用指南
·Linux下C开发环境的构成和安装
·GCC使用手册与常用命令
·Linux常用C函数-日期时间篇
最新文章
·epoll入门
·在Linux下发布程序需要注意版本
·Suse Linux系统下JAVA AWT界面
·Vim编译器配合ctags实现函数原
·在Ubuntu Linux 8.04上构建GCC
·Linux操作系统下Socket编程地址
·将VC程序移植到Linux系统的几点
·Linux下malloc/free与new/dele
·Linux下用GTK和socket实现简单
·Linux操作系统下让Tomcat启动在
·Linux操作系统中如何编译C程序
·几种常被人们忽略的Linux系统下
·Eclipse编程工具 在Ubuntu下的
·Linux操作系统下的网络地址转换
·老手经验谈:Linux驱动程序开发
Google
 
在Linux操作系统下手动分析病毒样本技巧
[ 作者:  加入时间:2008-04-07 09:48:33  来自:Linux联盟收集整理 ]
 

原理:利用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值是成双成对出现(一个+和一个-),那那一行一般不是,如果前面没有任何标记,那说明也不是。咱们把没用的删除,只留下有单个+或者单个-的,最好看文件路径,即得到了病毒的产生文件或者是感染文件。

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·Linux下JBoss不能显示JasperReport报表  (2008-04-07 09:47:43)
 ·在Linux上解决用Swing出现中文方块问题  (2008-04-07 09:46:55)
 ·Fedora Linux操作系统中TFTP的配置技巧  (2008-04-07 09:46:07)
 ·Ubuntu Linux系统启动速度慢的问题解决  (2008-04-07 09:45:26)
 ·Ubuntu Linux操作系统安装配置Samba服务  (2008-04-07 09:44:16)
 ·SUSE Linux系统下VNC远程控制  (2008-04-07 09:43:31)
 ·VMware虚拟机Linux系统用户数据存放技巧  (2008-04-03 10:23:14)
 ·Linux技巧:清除代理服务器上cache记录  (2008-04-03 10:22:22)
 ·Linux操作系统上SSH远程访问工具的设置  (2008-04-03 10:20:31)
 ·Linux系统下拨号上网方法介绍  (2008-04-03 10:13:45)