(1).MS08067漏洞描述
MS08-067漏洞的全称为“Windows Server服务RPC请求缓冲区溢出漏洞”,
如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码。
在 Microsoft Windows 2000、Windows XP 和 Windows Server 2003 系统上,
攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,
目前已经有利用该漏洞的蠕虫病毒。防火墙最佳做法和标准的默认防火墙配置
有助于保护网络资源免受从企业外部发起的攻击,默认情况下能建立空连接。
(2)漏洞的利用
此次实验在局域网的实验,征得的电脑主人的同意仅进行的检测。目标系统为windows server 2003 。
首先,要对目标进行一下信息收集。使用nmap扫描工具,nmap是一个强大的扫描工具,可以检测到目标上的危险漏洞。
我们在Metasploit中调用了nmap的插件 --script=smb-check-vulns 。扫描参数: -sS 是指隐秘的TCP Syn扫描(-sT 是隐秘的TCP连接扫描,用这个参数枚举端口最可靠) , -A 是高级系统探测功能,提示对一个特定服务进行更深的旗标和指纹攫取,能为我们提供更多的信息。
namap扫描的结果里报告发现MS08-067:VULNERABLE 。 这是在暗示我们或许能够对这台主机进行渗透攻击,然后我们在Metasloit里面找到此漏洞的攻击模块,并尝试攻击目标机器。MS08-067是一个对操作系统版本依赖非常高的漏洞,所以在这里,我们只需要手动指定一下目标就可以确保触发正确的溢出代码。
使用windows下的ms80067漏洞,设定攻击载荷,这里以反弹命令行shell作为攻击载荷,这种载荷在攻击成功后,会从目标主机发起一个反弹连接,连接到LHOST中制定的IP地址,这种反弹连接可以让你绕过入站防火墙的入站流量保护,或者穿透NAT网关。
设置远程目标和本地监听的ip地址,攻击参数配置完成后执行溢出
舞台搭好之后,真正的好戏马上就要上演了!
好戏出场!在溢出成功后我们得到了一个shell会话,我们可以进入目标的CMD执行相关的命令
到这里,我们的渗透溢出已经完成了!
攻击是否成功取决于目标主机的操作系统的版本,安装的服务包(Server Pack)版本以及语言类型。同时还依赖于是否成功的绕过了数据执行保护(DEP:Date Excution Prevention)。DEP是为了防御缓冲区溢出而设计的,它将堆栈程序渲染为只读,以防止shellcode被恶意放置在堆栈区并执行。但是,我没呢可以通过一些复杂的堆栈操作来绕过DEP保护。(如何绕过DEP的技术细节可以查阅http://www.unindormed.org/?v=2&a=4)
--------------------------------------------------------------------------------------------------------------------------------------------------------------
windows 系统安全加固
使用Windows update安装最新补丁;
更改密码长度最小值、密码最长存留期、密码最短存留期、帐号锁定计数器、帐户锁定时间、帐户锁定阀值,保障帐号以及口令的安全;
将默认Administrator用户和组改名,禁用Guests并将Guest改名;
开启安全审核策略;
卸载不需要的服务;
将暂时不需要开放的服务停止;
限制特定执行文件的权限;
调整事件日志的大小、覆盖策略;
禁止匿名用户连接;
删除主机管理共享;
安装防病毒软件、个人防火墙。
本文转自Tar0 51CTO博客,原文链接:http://blog.51cto.com/tar0cissp/1273062,如需转载请自行联系原作者