缓冲区溢出攻击与防范实验报告.docx
《缓冲区溢出攻击与防范实验报告.docx》由会员分享,可在线阅读,更多相关《缓冲区溢出攻击与防范实验报告.docx(21页珍藏版)》请在冰豆网上搜索。
缓冲区溢出攻击与防范实验报告
实验六报告
课程名称
网络安全
实验
成绩
实验名称
缓冲区溢出攻击与防范实验
学号
20
姓名
郑明毅
班级
网络工程2班
日期
2018/6/7
实验报告
一、实验目的及要求:
1.实验目的
通过实验掌握缓冲区溢出的原理;
理解缓冲区溢出危险性;
理解防范和避免缓冲区溢出攻击的措施。
2.实验要求
(1)利用缓冲区溢出工具或者利用一个简单的溢出C程序进行溢出漏洞攻击
(2)分析缓冲区溢出攻击原理和危害
(3)给出防范和避免缓冲区溢出攻击的措施
二、实验过程及要点:
实验过程:
MS08-067(WindowsServer服务RPC请求缓冲区溢出漏洞)远程缓冲区溢出攻击测试
1 网络测试环境构建
首先需要先配置好一个渗透测试用的网络环境,包括如图1所示的运行win10系统的计算机,如图2所示的Windows2000系统(虚拟机环境下)的计算机。
显然这2台计算机处于同一个网段中,可以相互通讯,win10系统用作攻击机,下面将在此系统上运行Metasploit进行渗透测试,而Windows2000系统都是本次任务中需要进行渗透入侵的靶机,保持安装后的默认状态,没有打额外的系统安全补丁。
图1win10攻击机
图2Windows2000靶机
2、扫描靶机
在正式开始渗透之前,应该对靶机进行扫描探测工作,搞清楚渗透目标的系统类型、开放的端口服务、可能存在的安全漏洞等。
在win10攻击机上运行metasploitconsole,即可进入Metasploit环境。
现在可以利用MSF框架中集成的Nmap扫描器对渗透测试目标进行扫描,如图3所示,获取了靶机的开放服务和操作系统类型等信息。
图3windows2000扫描结果
利用扫描器的脚步插件,还有可能直接探测出目标系统的安全漏洞,例如如图4所示,Nmap利用smb-check-vulns插件扫描探测出了Windows 2000靶机存在MS08_067漏洞,命令执行如下:
nmap-script=。
namap扫描的结果里报告发现MS08-067:
DISABLED。
这是在暗示我们或许能够对这台主机进行渗透攻击,然后我们在Metasloit里面找到此漏洞的攻击模块,并尝试攻击目标机器。
MS08-067是一个对操作系统版本依赖非常高的漏洞,所以在这里,我们只自动payload指定一下目标就可以确保触发正确的溢出代码。
图4漏洞扫描结果
3利用MS08_067漏洞渗透入侵
MS08-067漏洞的全称为“WindowsServer服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的RPC请求,则该漏洞可能允许远程执行代码。
在MicrosoftWindows2000WindowsXP和WindowsServer2003系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,目前已经有利用该漏洞的蠕虫病毒。
防火墙最佳做法和标准的默认防火墙配置,有助于保护网络资源免受从企业外部发起的攻击,默认情况下能建立空连接。
既然已经知道Windows 2000靶机存在MS08_067漏洞,下面就在Metasploit环境中利用它进行渗透入侵。
首先,输入searchms08-067查找与其相关的漏洞攻击程序,并启用该渗透攻击模块查看基本信息,然后,输入useexploit/Windows/smb/ms08_067_netapi命令表示选择利用这个漏洞,如图5所示。
图5选择漏洞
如上我们已经驾驭了(ms08_067_netapi)这个漏洞攻击程序,哈哈!
接下来我们要找一找metasploit下的有效攻击荷载(payload),那就使用命令:
showpayloads来查找一下吧!
然后用set命令选择一旦利用漏洞渗透进去使用什么攻击载荷,这里使用MSF框架里功能强大的Meterpreter攻击模块下的反向连接shell载荷,使用命令:
setpayloadwindows/meterpreter/reverse_tcp,执行如图6所示。
图6选择攻击载荷
完成渗透攻击模块与攻击载荷模块的选择之后,需要查看配置渗透攻击所需的配置选项,具体命令如下:
showoptions
用show options命令查看还有哪些参数需要配置,根据目标情况配置渗透攻击的选项。
如图7所示:
图7需要配置的参数
now,现在我们需要设置ip咯,设置命令:
setRHOSTsetLHOST配置本地攻击机和远程靶机的IP地址,如图8所示
图8配置参数
现在呢,我们基本已设置完成,接下来我们show一下看看自己的配置都在不确认一下信息:
(看到了吧,我们的配置没问题吧!
Ip都有了啊!
!
!
)
图9检查配置参数
所有需要的参数配置好了以后,在进行exploit渗透攻击时,会出现一些状况,有可能渗透不成功,需要在这时候谨慎。
用exploit或run命令发动攻击,如图10所示,渗透成功后,设置的回连主机就是Metasploit攻击主机,攻击主机会获得一个meterpreter控制会话session。
图10成功获取session
吼吼!
!
!
成功了!
!
!
已成功拿下对方主机,那么现在你要做什么呢好的,告诉你一句话:
好戏开锣咯···是时候让你体验一下当黑客的感觉了!
Hello,hacker还等什么呢好吧,废话少说,第一个“破坏”玩起!
哈哈!
实例1从靶机拿到的ipconfig/all,如图11
图11从靶机拿到的ipconfig/all
实例2获得系统当前的进程列表,如图12:
图12windows2000进程列表
实例3:
获得当前的工作目录和用户id,如图13:
图13windows2000的工作目录和用户id
实例4:
获得目标系统的password hash,如图14:
图14windows2000的passwordhash
实例5:
获得目标系统的DOSshell,用了meterpreter的session后,即可用各种命令对远程靶机进行操作,如图15所示。
图15获得windows2000的DOSshell
实例6:
那我就和靶机简单比较一下命令:
ipconfig/all吧!
!
!
图16shell拿到的windows2000的ipconfig/all
从靶机拿到的ipconfig/all,如图17:
图17靶机拿到的ipconfig/all
实例7在目标靶机上新建了一个账号zmy和密码479(这里用的是我的姓名‘郑明毅’学号‘479’),并将其加入到管理员组。
为后续的远程控制提供方便,如图18、19、20所示:
(简单解释一下啊win10截图中所有问号问题:
那是因为汉字编码问题:
可能是UTF-8的缘故吧!
!
!
)
图18查看账号
图19新建账号
图20账号加入管理员组
实例8查看3389端口是否打开(这里已经打开了)如图21,然后用mstsc远程桌面连接(因为windows2000专业版没有3389远程端口,所以我这里又安装了一个windows2000服务器版的系统,ip地址为用户名zmy密码479)
图21查看3389是否打开
图22添加用户名zmy密码479并设置为Administrators组
启动mstsc远程桌面连接,如图23:
图23远程桌面连接
4.防范Ms08-067远程溢出攻击
由于这个漏洞是致命的,所以一旦被入侵后果将不堪设想,因此我们可以微软的官方站点,下载编号为KB958644的补丁,对其漏洞进行修补。
再则通过关闭Computerbrowser、server、workstation这三个服务关闭,也可防止黑客远程溢出攻击,当然安装防火墙将安全级别设置为高级,也是一种防止黑客入侵的不错选择。
实验总结
总结:
实验结束了,所有的东西总是不会尽善尽美,一些诸如木马,后门之类的功能我并没有实现,原因是本人也是渣渣,望理解,我也继续努力希望有一天可以呈现更高级的漏洞攻击!
指导老师评语:
签名:
年月日