20145319 《网络渗透》MS08_067安全漏洞

20145319 《网络渗透》MS08_067安全漏洞

一 实验内容

  • 了解掌握metasploit平台的一些基本操作,能学会利用已知信息完成简单的渗透操作
  • 了解漏洞MS08_067的相关知识
    • 安全公告:KB958644
    • 时间:2008年底
    • 原理:攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC请求,通过MSRPC接口调用serve服务函数NetPathCanonicalize函数对进行远程访问的路径规范化,而此函数中存在栈缓冲区内存漏洞,可被利用实施远程代码执行
    • 详细原理说明:在规范化路径操作中,就是将路径字符串中'/'置换成''以及出去相对路径(例如:'\.'),而服务程序在这部分的地址空间检查存在逻辑漏洞,攻击者可以在函数除去“\..”字符串时,将路径字符串中的内容复制到路径串之前的地址空间中,覆盖掉返回地址执行shellcode(原理类似我们之前所做的缓冲区溢出攻击)
    • 受影响的操作系统:windows 2000/xp/server 2003/server 2008/vista/7 Beta
    • 影响:能远程主动发起对漏洞主机端口的扫描,并且能直接获得漏洞主机的系统权限,属于最高严重级别的漏洞
  • 本次实验渗透对象: Windows 2003 SP3

二 实验步骤

  • 进入控制台之后,首先,我们可以使用search命令搜寻一下有关于漏洞MS08_067的相关信息
  • 20145319 《网络渗透》MS08_067安全漏洞

  • 得到相应模块名之后,我们使用该模块,使用show payloads命令确定我们需要的攻击载荷
  • 20145319 《网络渗透》MS08_067安全漏洞

  • 阅读每一个payload的功能描述,选择自己需要的payload,这里我选择generic/shell_reverse_tcp来获取漏洞主机的shell(选择我们之前用的windows/meterpreter/reverse_tcp也是可以的,只是步骤和最后效果可能有些许不同)
  • set payload generic/shell_reverse_tcp选择payload,并查看相关信息
  • 20145319 《网络渗透》MS08_067安全漏洞

  • 按照上述信息,我们需要设置好监听ip,监听端口以及攻击Ip(这里需要利用RPC请求发起攻击,所以RPORT设置为445不需要修改)
  • 20145319 《网络渗透》MS08_067安全漏洞

  • 我们可以通过修改target的值,来选择我们具体想要攻击的计算机系统(通常可以采用自动选取,即target设置为0)
  • 20145319 《网络渗透》MS08_067安全漏洞

  • 设置完成后,使用exploit命令发起渗透攻击,结果如下
  • 20145319 《网络渗透》MS08_067安全漏洞

  • 20145319 《网络渗透》MS08_067安全漏洞

三 问题

  • 很多同学看了上述步骤也许早就开始动手实践起来,感觉自己像电影里的黑客高手一样,流畅而优雅的对目标主机进行攻击,输入exploit命令成功的界面似乎下一秒就要跳出来,但是你却遇到了一些意料之外的事情
  • 可能是它
  • 20145319 《网络渗透》MS08_067安全漏洞

  • 或者是它
  • 20145319 《网络渗透》MS08_067安全漏洞

  • 什么,这和说好的不一样!!不要心急,我们可以从错误信息来慢慢分析
  • 首先第一种情况,错误报告为connectionRefused我们的连接被拒绝了,第一时间我们可以对目标机进行ping命令尝试,发现可以ping通,这时候我们就要慢慢从渗透工作的开始重新来过
  • 第一步,我们要先搜集关于目标机的信息,我们可以使用Nmap来探测有关于目标机的端口以及其他信息
  • 20145319 《网络渗透》MS08_067安全漏洞

  • 我们找到了真正原因,目标的445端口是关闭的
  • 这时候我们可以通过目标机的计算机管理中,启动server服务,将445端口打开
  • 20145319 《网络渗透》MS08_067安全漏洞

  • 或者打开注册表管理,依次点击注册表选项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters,进入NetBT这个服务,将SMBDeviceEnabled值修改
  • 之后有了上面的经验我们来分析第二个错误,同样我们依照上述思路对目标机进行收集,此外这里就不得不提nmap的强大功能,这次我们将使用到nmap的script模块,脚本功能,我们使用的vuln脚本将会扫描目标机存在的漏洞
  • 20145319 《网络渗透》MS08_067安全漏洞

  • 我们注意到HOST SCRIPT RESULT块的信息,发现其中并没有我们想要的结果MS08_067
  • 这时候我们可以在目标主机中输入systeminfo命令
  • 20145319 《网络渗透》MS08_067安全漏洞

  • 看到第123条,KB958644,正是漏洞MS08_067的安全公告编号(看来刘老师拷给我们的靶机实在是固若金汤,居然早已经下好了补丁),我们已经找到原因了,目标主机居然是安全的!!这时我们只有选择将这个补丁卸载(貌似会导致其他服务也无法启动),可是我们已经学到了如何利用MS08_067漏洞进行渗透的思路和手法,不如青山不改绿水长流,去渗透其他具有漏洞的主机吧

四 其他

  • 这次ms08_067漏洞渗透的原理其实是与我们之前的缓冲区溢出攻击类似的,因此也受到数据执行保护,和地址随机化的影响,但是我们现在的计算机操作系统多半都有DEP机制(数据执行保护),所以实验不成功的伙伴们可以考虑关闭掉这个机制
  • xp系统下,找到系统文件boot.ini修改最后一行将/noexecute=optin/execute
上一篇:TCP面向连接网络编程


下一篇:20145319 《网络渗透》MSF基础应用