CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > CIO子站 > Linux与开源

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

作者: ,  出处:《首席信息官》, 责任编辑: 徐蕊, 
2007-09-04 11:47
  写这篇文章的目的主要是对最近写的一个Linux病毒原型代码做一个总结,同时向对这方面有兴趣的朋友做一个简单的介绍。

  * 定位到文本段,将病毒的代码接到文本段的尾部。这个过程的关键是要熟悉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:nt
  push $0xAABBCCDDnt /* push ret_addr */
  retn
  ::);
  其中0xAABBCCDD处存放的是真正的程序入口地址,这个值在插入病毒代码时由感染程序来填写。
共8页。 9 1 2 3 4 5 6 7 8 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i