Multiple Buffer Overflows in IglooFTP PRO

From: Peter Winter-Smith (peter4020at_private)
Date: Mon Jul 07 2003 - 14:53:23 PDT

  • Next message: Matt Zimmerman: "[SECURITY] [DSA-341-1] New liece packages fix insecure temporary file creation"

    
     ('binary' encoding is not supported, stored as-is)
    Multiple Buffer Overflows in IglooFTP PRO
    
    Url: http://www.iglooftp.com
    
    IglooFTP PRO is an extremely powerful, easy to use and well designed
    FTP client. Perhaps my personal favourite.
    It is extremely easy to use, but doesn't lack the configurability
    needed for advanced users.
    It it this award winning combination which makes IglooFTP PRO one of
    the best choices for all your FTP needs.
    
    I have noticed that IglooFTP PRO 3.8 (and possibly earlier versions)
    are vulnerable to a buffer overflow in the FTP banner and other areas.
    These can be replicated as follows:
    
    FTP Banner:
    ===========
    (IglooFTP PRO connected...)
         PADDING EBP  EIP
    220 [1020xA][4xB][4xX] // Totalling 1028 Bytes
    (Access violation when executing 0x58585858) // 4xX
    
    Username:
    =========
    (IglooFTP PRO Sends 'USER username')
         PADDING EBP  EIP
    331 [1020xA][4xB][4xX] // Totalling 1028 Bytes
    (Access violation when executing 0x58585858) // 4xX
    
    Password:
    =========
    (IglooFTP PRO Sends 'PASS password')
         PADDING EBP  EIP
    331 [1020xA][4xB][4xX] // Totalling 1028 Bytes
    (Access violation when executing 0x58585858) // 4xX
    
    Account:
    =========
    (IglooFTP PRO Sends 'ACCT account')
         PADDING EBP  EIP
    530 [1020xA][4xB][4xX] // Totalling 1028 Bytes
    (Access violation when executing 0x58585858) // 4xX
    
    And quite possibly other functions relating to the same buffer...
    
    This would mean that an attacker could set up a malicious server to
    send and execute arbitrary code, as I was able to for part of the
    vulnerability assessment performed.
    
    I managed to cause my 'shell code' to execute using the following
    method:
    
    220 [1020 bytes 'A'][4 bytes EBP][4 bytes EIP to 'Call ESP'*][41 bytes 
    ShellCode]
    
    * My 'Call ESP' is located in 'rpcrt4.dll' exact version
    5.1.2600.1106 at 0x78070690.
    
    Please note that if you choose to tack the 'shell code' on to the
    end of the string in this fashion, then you will need to limit
    the size of the code to around 76 bytes because after that the
    executable exits without notification for some uncertain reason
    which I chose not to persue.
    
    I have written and attached a proof of concept code to this email,
    using a simple shell code with hard-coded addresses (which you'll
    need to change) sent from a small FTP server written in Visual
    Basic.
    
    If that file is not attached, please download it from:
    http://www.elitehaven.net/iglooftppro.zip
    
    I have contacted the relative vendors, and we have worked together to
    provide a fix for this vulnerability.
    
    The patch for IglooFTP PRO can be obtained from:
    
    http://www.iglooftp.com/dl/windows/IFTPPro39.exe
    
    
    ======================================================================
    
    
    Operating system and servicepack level: 
    Windows 9x/Me/NT Based
    
    
    Software:
    IglooFTP 3.8 (Possibly Earlier Versions)
    
    
    Under what circumstances the vulnerability was discovered: 
    Under a vulnerability search. 
    
    
    If the vendor has been notified: 
    Yes, the vendor had been notified and a patch is available from:
    http://www.iglooftp.com/dl/windows/IFTPPro39.exe
    
    
    How to contact you for further information: 
    I can always be reached at peter4020at_private 
    
    
    Please credit this find to: 
    Peter Winter-Smith
    
    
    Thank you for your time, 
    -Peter
    



    This archive was generated by hypermail 2b30 : Tue Jul 08 2003 - 14:50:54 PDT