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的相关信息
  • 得到相应模块名之后,我们使用该模块,使用show payloads命令确定我们需要的攻击载荷
  • 阅读每一个payload的功能描述,选择自己需要的payload,这里我选择generic/shell_reverse_tcp来获取漏洞主机的shell(选择我们之前用的windows/meterpreter/reverse_tcp也是可以的,只是步骤和最后效果可能有些许不同)
  • set payload generic/shell_reverse_tcp选择payload,并查看相关信息
  • 按照上述信息,我们需要设置好监听ip,监听端口以及攻击Ip(这里需要利用RPC请求发起攻击,所以RPORT设置为445不需要修改)
  • 我们可以通过修改target的值,来选择我们具体想要攻击的计算机系统(通常可以采用自动选取,即target设置为0)
  • 设置完成后,使用exploit命令发起渗透攻击,结果如下

三 问题

  • 很多同学看了上述步骤也许早就开始动手实践起来,感觉自己像电影里的黑客高手一样,流畅而优雅的对目标主机进行攻击,输入exploit命令成功的界面似乎下一秒就要跳出来,但是你却遇到了一些意料之外的事情
  • 可能是它
  • 或者是它
  • 什么,这和说好的不一样!!不要心急,我们可以从错误信息来慢慢分析
  • 首先第一种情况,错误报告为connectionRefused我们的连接被拒绝了,第一时间我们可以对目标机进行ping命令尝试,发现可以ping通,这时候我们就要慢慢从渗透工作的开始重新来过
  • 第一步,我们要先搜集关于目标机的信息,我们可以使用Nmap来探测有关于目标机的端口以及其他信息
  • 我们找到了真正原因,目标的445端口是关闭的
  • 这时候我们可以通过目标机的计算机管理中,启动server服务,将445端口打开
  • 或者打开注册表管理,依次点击注册表选项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters,进入NetBT这个服务,将SMBDeviceEnabled值修改
  • 之后有了上面的经验我们来分析第二个错误,同样我们依照上述思路对目标机进行收集,此外这里就不得不提nmap的强大功能,这次我们将使用到nmap的script模块,脚本功能,我们使用的vuln脚本将会扫描目标机存在的漏洞
  • 我们注意到HOST SCRIPT RESULT块的信息,发现其中并没有我们想要的结果MS08_067
  • 这时候我们可以在目标主机中输入systeminfo命令
  • 看到第123条,KB958644,正是漏洞MS08_067的安全公告编号(看来刘老师拷给我们的靶机实在是固若金汤,居然早已经下好了补丁),我们已经找到原因了,目标主机居然是安全的!!这时我们只有选择将这个补丁卸载(貌似会导致其他服务也无法启动),可是我们已经学到了如何利用MS08_067漏洞进行渗透的思路和手法,不如青山不改绿水长流,去渗透其他具有漏洞的主机吧

四 其他

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

20145319 《网络渗透》MS08_067安全漏洞的更多相关文章

  1. 20145319 《网络渗透》MS11-050漏洞渗透

    20145319 <网络渗透>MS11-050漏洞渗透 一 实验内容 初步掌握平台matesploit的使用 有了初步完成渗透操作的思路 了解MS11_050相关知识: - 安全公告:KB ...

  2. 20145211《网络渗透》MS12-004漏洞渗透

    20145211<网络渗透>MS12-004漏洞渗透 一 实验原理 初步掌握平台matesploit的使用 有了初步完成渗透操作的思路 在这里我选择对的不是老师推荐的MS11_050,而是 ...

  3. 20145319 《网络渗透》MS12_020安全漏洞

    20145319 <网络渗透>MS12_020安全漏洞 一 实验内容 初步掌握平台matesploit辅助模块aux的使用 辅助模块包括扫描等众多辅助功能 本次展示DOS攻击的实现 有了初 ...

  4. 20145211 《网络渗透》MS08_067安全漏洞

    20145211 <网络渗透>MS08_067安全漏洞 一.实验原理 ms08_067是服务器服务中一个秘密报告的漏洞,于2008年被发现.攻击者利用靶机默认开放的SMB服务的445端口, ...

  5. 20145319 《网络渗透》MSF基础应用

    20145319 <网络渗透>MSF基础应用 一 实验链接 渗透实验一:MS08_067渗透实验 渗透实验二:MS11_050渗透实验 渗透实验三:Adobe阅读器渗透实验 渗透实验四:M ...

  6. 20145319 《网络渗透》web基础

    20145319 <网络渗透>web基础 实验要求 掌握网页编程的基本知识 html语法 javascript php 前端,后台,数据库之间如何建立连接 掌握数据库的使用 mysql的启 ...

  7. 20145319 《网络渗透》免考—API拦截技术

    20145319 <网络渗透>免考-API拦截技术 概述 本次实验在window环境下进行,主要通过编写hook代码和注入程序,将我们的hook代码通过dll文件的形式注入到目标中,拦截其 ...

  8. 20145319 《网络渗透》web安全基础实践

    20145319 <网络渗透>web安全基础实践 问题回答 Sql注入攻击原理,如何防御 攻击原理:由于对于用户输入并没做出相应限制,因此可以通过构造特定的sql语句,达到自身的一些非法目 ...

  9. 20145319 《网络渗透》DNS欺骗

    20145319 <网络渗透>DNS欺骗 实验内容 dns欺骗实质上就是一种通过修改dns文件来改变目标想访问的域名和对应ip的攻击,使得目标在访问自己常用域名时不知不觉落入我们的圈套(可 ...

随机推荐

  1. mybatis_generator合并xml mapper文件

    一.问题 用的mybatis.generator 1.3.6版本,版本没啥大关系. 目前的xml输出有两个主要的问题: 1.xml追加而不是覆盖 这样就导致一个xml mapper文件每个node都重 ...

  2. Jquery("#form_content").validationEngine()失效原因分析

    使用validationEngine()函数对表单进行各种校验,由于多个页面都引用了相关js文件,后面子页面的validationEngine()始终不生效:....: 测试后发现重复引用了JQuer ...

  3. 常用 blas 函数

    Y=alpha * X +beta*Y template <> void caffe_cpu_axpby<float>(const int N, const float alp ...

  4. 【协议逆向工程】Part 1 概述

    1 协议逆向工程概述 1.1 协议 协议是计算机网络与分布式系统中各种通信实体键相互交互信息时必须遵守的一组规则和约定,这些规则明确规定了所交换的数据格式以及有段的同步问题,从而保证了双方通信有条不紊 ...

  5. libdl.so 动态库加载、查找

    使用libdl.so库 动态库加载原理   动态库中函数的查找已经封装成 libdl.so,有4个函数: dlopen  : 打开一个动态库 dlsym   : 在打开的动态库里找一个函数 dlclo ...

  6. day33-python阶段性复习七

    rc脚本练习 #!/usr/bin/env python #coding:utf8 import sys import os from subprocess import Popen, PIPE cl ...

  7. [Oracle][RAC]Oracle RAC环境里打OCW上的个别Patch,然后Rollback,发现OCW也被Rollback掉了

    对于Oracle RAC来说,存在着DB层面的Patch,也存在着GI层面的Patch. 本文介绍的是,GI层面,打Patch----> rollback 的动作之后,原来的OCW被Rollba ...

  8. cocos2d-x js 中创建node的方法

    1.精灵Sprite 一共4种创建方式 (1) 根据图片资源路径创建 1 2 3 4 //参数1:图片资源路径 var sprite1 = cc.Sprite.create("res/zif ...

  9. Hadoop学习笔记05_HA

    ################# HA 即 High Available 高可用.# 其作用是为了减少主从结构的单点故障,而设置备用节点,既然学习了Hadoop生态圈,那么HA配置也是必须要掌握的. ...

  10. Task使用

    Task task1 = Task.Factory.StartNew(() => { Console.WriteLine("Hello,task started by task fac ...