查看完整版本: FTP服务器攻防实战

有无定律 2007-12-4 22:55

FTP服务器攻防实战

通过[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url]站点下载文件是目前最常用的传输文件方法之一,特别是对于企业用户来说,公司建立一个专门的FTP[url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]提供给员工,让他们通过这个服务器共享资源是最便利的办法。不过作为[url=http://www.it-waibao.com/it-waibao/termCommentate/HUB/100_151_1338.html][color=#3300ff]网络管理[/color][/url]员的你是否真正了解FTP的安全呢?不要以为设置个复杂的管理员帐户密码就可以万事无忧了,也不要以为将系统安装上最新的补丁或者选择最新版SERV-U等FTP搭建工具就可以万无一失了。今天就由笔者带领为大家介绍在默认情况下FTP站点传输[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14215.html][color=#3300ff]数据[/color][/url]方面的漏洞,当然在文中还会为读者介绍如何弥补这些漏洞。

  一、破解[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url]用户名和密码

  首先我们要知道默认情况下[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url]站点信息是用明文进行传输的,没有进行任何的加密。也就是说当用户登录FTP站点输入用户名和密码时,这些信息是没有加密的。非法用户可以通过[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9453.html][color=#3300ff]sniffer[/color][/url]等工具将这些信息还原成本来面目。

  实战:通过[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9453.html][color=#3300ff]sniffer[/color][/url]将[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url]站点的用户名和密码还原成明文

  环境描述:

  公司网络中AB两台计算机通过交换机相互连接到同一个子网,B是员工计算机,一名员工通过他访问公司的[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url][url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url],登录FTP时使用自己的用户名和密码。A是我们安装了[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9453.html][color=#3300ff]sniffer[/color][/url]的计算机,通过sniffer我们可以监测出使用B计算机的员工访问FTP服务器的用户名和密码。

  实现方法:

  第一步:首先在A计算机上安装强大的[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9453.html][color=#3300ff]sniffer[/color][/url]工具,并启动该[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14144.html][color=#3300ff]程序[/color][/url]。

  第二步:在[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9453.html][color=#3300ff]sniffer[/color][/url][url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14207.html][color=#3300ff]软件[/color][/url]中通过上方的“matrix”按钮启动监测界面。

  第三步:打开监测界面后我们就可以开始监测网络中的[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14215.html][color=#3300ff]数据[/color][/url]包了,通过菜单栏的“capture->start”启动。

  第四步:在检测[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14215.html][color=#3300ff]数据[/color][/url]包窗口中我们点左下角的objects标签,然后选择station,这样将把当前网络中所有通信都显示在窗口中。

  第五步:这时候如果B计算机的员工使用电脑登录了[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url][url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url],那么我们在[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9453.html][color=#3300ff]sniffer[/color][/url]中点菜单的“capture->stop and display”。

  第六步:这里假设我们[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url][url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]的[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_12643.html][color=#3300ff]IP地址[/color][/url]为211.154.80.30,那么我们从显示的地址列表中找到关于211.154.80.30这个IP的[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14215.html][color=#3300ff]数据[/color][/url]包,然后点下方的“DECODE”按钮进行数据包再分析。
第七步:在“DECODE”(反编码)界面中我们就可以对关于211.154.80.30的所有[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14215.html][color=#3300ff]数据[/color][/url]包进行分析了。我们一个一个的分析数据包,分析到大概第十二个数据包时出现用户名信息,我们可以从界面中看到用户名为softer。

  第八步:继续往下看,到了第十四个[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14215.html][color=#3300ff]数据[/color][/url]包的时候就可以看到密码了,密码以明文的形式显示在[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9453.html][color=#3300ff]sniffer[/color][/url]中,密码为pacino。

  至此我们就通过[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9453.html][color=#3300ff]sniffer[/color][/url]工具将员工在FTP[url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]上的用户名和密码破解出来,该方法在员工和安装了sniffer的计算机处在同一个子网的情况下有效。

  二、[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14186.html][color=#3300ff]加密[/color][/url][url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url]站点信息的传输

  既然知道了[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url][url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]是以明文方式传输数据的,特别是用户名和密码传输的[url=http://www.it-waibao.com/it-waibao/termCommentate/networkshejijaeijijhte/100_562_11412.html][color=#3300ff]安全性[/color][/url]极差,信息很容易被盗,虽然FTP提供了[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]加密的[url=http://www.it-waibao.com/it-waibao/termCommentate/qichedianzhi/yingjidianyuan/100_603_12883.html][color=#3300ff]功能[/color][/url],不过默认情况下是没有启用的,如大家常用的Serv-U FTP服务器(简称Serv-U)。所以说为了保证传输的数据信息不被随意窃取,有必要启用SSL功能,提高服务器数据传输的安全性。我们以Serv-u为例进行介绍来弥补这个安全缺陷。

  小提示:什么是[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]加密协议?SSL协议(Secure Socket Layer,安全套接层)是由网景(Netscape)公司推出的一种安全通信协议,它能够对信用卡和个人信息提供较强的保护。SSL是对计算机之间整个会话进行加密的协议。在SSL中,采用了公开密钥和私有密钥两种加密方法。所以使用SSL协议后我们就可以保证网络中传输的[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14215.html][color=#3300ff]数据[/color][/url]不被非法用户窃取到了。

  (1)安装Serv-U[url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]

  由于安装Serv-U的文章比较多,所以本文就不详细介绍了。(如图6)安装完毕后我们要建立一个[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url][url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]的域并设置相应的用户名和密码。

  (2)创建[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]证书

  要想使用Serv-U的[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]功能,需要SSL证书的支持才行。虽然Serv-U在安装之时就已经自动生成了一个SSL证书,但这个默认生成的SSL证书在所有的Serv-U[url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]中都是一样的,非常不安全,所以我 们需要手工创建一个自己独特的SSL证书。

  第一步:在“Serv-U管理员”窗口中,展开“本地[url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]->设置”选项,然后切换到“[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]证书”标签页。

  第二步:创建一个新的[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]证书。首先在“普通名称”栏中输入FTP服务器的[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_12643.html][color=#3300ff]IP地址[/color][/url],接着其它栏目的内容,如[url=http://www.it-waibao.com/it-waibao/termCommentate/tongxunchangping/mobile%20phone/100_624_13229.html][color=#3300ff]电子邮件[/color][/url]、组织和单位等,根据用户的情况进行填写。

  第三步:完成[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]证书标签页中所有内容的填写后,点击下方的“应用”按钮即可,这时Serv-U就会生成一个新的SSL证书。

  (3)启用[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url][url=http://www.it-waibao.com/it-waibao/termCommentate/qichedianzhi/yingjidianyuan/100_603_12883.html][color=#3300ff]功能[/color][/url]

  虽然为Serv-U[url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]创建了新的[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]证书,但默认情况下,Serv-U是没有启用SSL[url=http://www.it-waibao.com/it-waibao/termCommentate/qichedianzhi/yingjidianyuan/100_603_12883.html][color=#3300ff]功能[/color][/url]的,要想利用该SSL证书,首先要启用Serv-U的SSL功能才行。

  第一步:要启用Serv-U[url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]中域名为“softer”的[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url][url=http://www.it-waibao.com/it-waibao/termCommentate/qichedianzhi/yingjidianyuan/100_603_12883.html][color=#3300ff]功能[/color][/url]。在“Serv-U管理员”窗口中,依次展开“本地服务器->域->softer”选项。

  第二步:在右侧的“域”管理框中找到“[url=http://www.it-waibao.com/it-waibao/termCommentate/networkshejijaeijijhte/100_562_11412.html][color=#3300ff]安全性[/color][/url]”下拉列表选项。这里Serv-U提供了3种选项,分别是“仅仅规则FTP,无[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]/TLS进程”、“允许SSL/TLS和规则进程”、“只允许SSL/TLS进程”,默认情况下,Serv-U使用的是“仅仅规则FTP,无SSL/TLS进程”,因此是没有启用SSL加密[url=http://www.it-waibao.com/it-waibao/termCommentate/qichedianzhi/yingjidianyuan/100_603_12883.html][color=#3300ff]功能[/color][/url]的。

  第三步:在“[url=http://www.it-waibao.com/it-waibao/termCommentate/networkshejijaeijijhte/100_562_11412.html][color=#3300ff]安全性[/color][/url]”下拉选项框种选择“只允许[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]/TLS进程”选项,然后点击“应用”按钮,即可启用softer域的SSL[url=http://www.it-waibao.com/it-waibao/termCommentate/qichedianzhi/yingjidianyuan/100_603_12883.html][color=#3300ff]功能[/color][/url]。

  小提示:启用了[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]功能后,Serv-U[url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]使用的默认端口号就不再是“21”了,而是“990”了,这点在登录[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url]的时候一定要留意,否则就会无法成功连接FTP服务器。

  (4)使用[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]加密连接[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url]

  启用Serv-U[url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]的[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]功能后,就可以利用此功能安全传输数据了,但FTP客户端程序必须支持SSL功能才行。如果我们直接使用IE[url=http://www.it-waibao.com/IToutsourcing/termCommentate/software/explorer/index.html][color=#3300ff]浏览器[/color][/url]进行登录则会出现图9显示的错误信息,一方面是以为没有修改默认的端口21为990,另外IE浏览器不支持SSL[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14237.html][color=#3300ff]协议[/color][/url]传输。

  当然支持[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]的FTP客户端程序现在也比较多,笔者以“Flash FXP”程序为例,介绍如何成功连接到启用了SSL功能的Serv-U[url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]。

  第一步:运行“FlashFXP”[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14144.html][color=#3300ff]程序[/color][/url]后,点击“会话->[url=http://www.it-waibao.com/it-waibao/termCommentate/waijiepeijian/modem/100_507_10229.html][color=#3300ff]快速连接[/color][/url]”选项,弹出“快速连接”对话框,在“服务器或URL”栏中输入Serv-U服务器的[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_12643.html][color=#3300ff]IP地址[/color][/url],在“端口”栏中一定要输入“990”,这是因为Serv-U服务器启用[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url][url=http://www.it-waibao.com/it-waibao/termCommentate/qichedianzhi/yingjidianyuan/100_603_12883.html][color=#3300ff]功能[/color][/url]后,端口号就从“21”变为“990”。

  第二步:输入可以正常登录[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url][url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]的“用户名”和“密码”。

  第三步:切换到“[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]”标签页,选中“绝对SSL”选项,这一步骤是非常关键的,如果不选中“绝对SSL”,就无法成功连接到Serv-U[url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]。最后点击“连接”按钮。 根据实际传输情况在绝对SSL下方的四个选项进行选择即可。

  第四步:当用户第一次连接到Serv-U[url=http://www.it-waibao.com/IToutsourcing/termCommentate/fwq/index.html][color=#3300ff]服务器[/color][/url]时,Flash FXP会弹出一个“证书”对话框,(如图12)这时用户只要点击“接受并保存”按钮,将[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]证书下载到本地后,就能成功连接到Serv-U服务器,以后和Serv-U服务器间的数据传送就会受到SSL功能的保护,不再是以明文形式传送,这样就不用再担心[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url]账号被盗,敏感信息被窃取的问题了。在Flash FXP的下方我们也会看到一个小锁的标志了,他代表当前传输是[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14186.html][color=#3300ff]加密[/color][/url]安全的传输。

  小提示:如果我们仅仅选择接受则每次登录[url=http://www.it-waibao.com/it-waibao/termCommentate/systemCommand/DOSCommand/100_461_9634.html][color=#3300ff]FTP[/color][/url]时都会弹出这个证书对话框。

  总结:通过设置使用[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9450.html][color=#3300ff]SSL[/color][/url]进行加密传输的FTP站点就可以有效的保护自己服务器上的资源不被别人随意偷窥了,只有通过认证的用户才能下载到自己中意的文件资源。而且传输过程中的所有数据都是进行加密的,网络中的其他用户使用类似[url=http://www.it-waibao.com/it-waibao/termCommentate/network/100_451_9453.html][color=#3300ff]sniffer[/color][/url]的[url=http://www.it-waibao.com/it-waibao/termCommentate/100_124_14207.html][color=#3300ff]软件[/color][/url]是无法将登录信息还原成明文的,即使能够获得传输数据也是经过加密的,一点价值也没有。
页: [1]
查看完整版本: FTP服务器攻防实战