Fuzz war ftp1.65(科普1)

弄个简单的,漏洞很早的,当时找这个软件搭建平台可是花了不少时间啊,老的软件好难找的,所以这个过程也只为各位提供一个大概的思路,在现在按部就班地去 寻找漏洞或者利用肯定是不行了,变通一下的话,老夫想应该还是有一些远程服务软件存在类似的漏洞的。好了,闲话不多说了,这次就拿FTP下手吧。

目标软件是一个FTPServer软件——War FTP Daemon 1.65。

这个软件是由Jarle Aase用MSVC4++开发出来的一款FTP服务软件,大家可以自己去搜一下找找这个版本,愿意的话,就自己按这里说的实验一下,有什么问题或者新的见解,可以共同交流一下。

这款软件由于采用了类C语言进行开发,作者在处理FTP命令时,如果没有对过长的用户数据进行安全检查,就很可能造成缓冲区溢出漏洞的发生。

91ri.org:

先用FTPFuzz来测试一下这个软件是不是真的如同猜测的那样存在缓冲区溢出漏洞。FTPFuzz这个在这里就不多介绍了,不知道网上有没有相应的介 绍,但在这里不是重点。涉及到的很多软件都不是重点,相信如果各位能够找到这些软件后,看到界面就会用了。主要是一个思路,至于软件,各位自己去搜一下 吧!

首先运行OllyICE程序,在其中打开War FTP Daemon 1.65(以下简称WFD)的主程序war-ftpd.exe,让OllyICE加载war-ftpd.exe文件,然后F9运行。其中多次的中断不用 管,一直F9,直到WFD程序界面出现为止。

此刻,可以看到WFD处于Offline状态,也就是只是正常运行,但没有启动FTP服务功能。现在单击WFD界面左上角的那个闪电图标,使得WFD的FTP功能启动。

不要关闭OllyICE,打开Infigo FTPStress Fuzzer程序(以下简称IFF),这是一款由www.infigo.hr开发的针对FTP服务软件进行安全评估的自动化测试软件。在左下角选择“Deselect All”选项。

这样,IFF程序将会取消所有测试FTP命令前面的小勾,我们单独选择“USER”命令作为被测试FTP命令即可(这是在知道已经存在漏洞的情况下,为了 节省时间,在未知情况下,还是需要都选择的)。同时,要将“Fuzz this FTP command”前面的小勾打上,不然IFF程序将不会测试USER命令。

单击“Config”,在“Configuration”窗口中需要修改“Fuzz Options”选项卡中的配置。将“Retrieve files(data connections) from FTP server”前面的勾打上。

一切准备完毕,在IFF程序主界面上的“Host”一栏中填上被测试的WFD软件所在的IP地址,这里是本地测试,填127.0.0.1,接下来开始“Start”。

在这里插一句,之前的OllyICE需要设置为实时调试器。

过了一会就可以看到OllyICE程序界面跳出来了,并且有一个对话框弹出:“不知如何继续,因为内存地址41414141不可读,请尝试更改EIP或忽 略程序异常”,毫无疑问,这就可以说明测试出了WFD处理USER命令时存在缓冲区溢出漏洞。这是因为EIP寄存器的值被改成了41414141,而41 就是IFF进行测试的字母A的ASCII码。

既然存在缓冲区溢出,那么就得找出到底多长的USER命令能够触发这个漏洞。

重新打开IFF,还是只选择USER命令作为被测试的命令,然后单击“Config”,在“Fuzzing data”选项卡中选择“520”(这个值看各位的粗略估计范围,一般来说,开始选择大一点,后面使用二分法进行测试,逐渐精确)。也就是测试520个字 母A作为USER命令的数据时能不能触发WFD的缓冲区溢出漏洞。

再次利用OllyICE运行WFD软件,用IFF测试,发现还是41414141不可读,说明520个字节已经能够触发,那我们再减小数值。这里不加赘述了,相信各位玩过入侵的都知道二分法的用法,如果不知道,还是先去学一些基础,别看这些了。

经过测试,发现当发送字节为489个字节的时候,恰好能够触发漏洞。现在,要想利用这个漏洞,就可以将第486到489这4个字节的数据替换为一个jmp esp或者call esp指令的地址,然后在489字节后面加上ShellCode代码,结合USER命令将这段数据发送给WFD处理,就可以成功利用了。这个攻击的数据结 构如下:

USER XXXXXXX…(485个任意字符)+jmpesp指令或者callesp指令地址+ShellCode代码

额,时间不早了,老夫得先吃饭去了,晚上还得上晚自习。在这篇里面大概的过程已经介绍了一下(由于是本地测试,自然不会有什么恶意代码了,ShellCode的编 写只要参照老夫之前的一些文章就行了,各自发挥自己的编程能力吧,老夫在编程方面说好听叫菜鸟,说不好听就是一坨X)以及最终的攻击测试结果(无截图,让 大家失望了,大家谅解一下吧)。

91ri.org:一篇不错的FUZZ科普文,有兴趣学习漏洞挖掘的文章可以期待它的后续篇,下午发出。

link:Fuzz war ftp1.65(科普2)

本文转自太子博客由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理,转载请注明出处。