FTP Version Scanner - Metasploit


This page contains detailed information about how to use the auxiliary/scanner/ftp/ftp_version metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.

Module Overview


Name: FTP Version Scanner
Module: auxiliary/scanner/ftp/ftp_version
Source code: modules/auxiliary/scanner/ftp/ftp_version.rb
Disclosure date: -
Last modification time: 2017-07-24 06:26:21 +0000
Supported architecture(s): -
Supported platform(s): -
Target service / protocol: ftp
Target network port(s): 21, 2121
List of CVEs: -

Detect FTP Version.

Module Ranking and Traits


Module Ranking:

  • normal: The exploit is otherwise reliable, but depends on a specific version and can't (or doesn't) reliably autodetect. More information about ranking can be found here.

Basic Usage


This module is a scanner module, and is capable of testing against multiple hosts.

msf > use auxiliary/scanner/ftp/ftp_version
msf auxiliary(ftp_version) > show options
    ... show and set options ...
msf auxiliary(ftp_version) > set RHOSTS ip-range
msf auxiliary(ftp_version) > exploit

Other examples of setting the RHOSTS option:

Example 1:

msf auxiliary(ftp_version) > set RHOSTS 192.168.1.3-192.168.1.200 

Example 2:

msf auxiliary(ftp_version) > set RHOSTS 192.168.1.1/24

Example 3:

msf auxiliary(ftp_version) > set RHOSTS file:/tmp/ip_list.txt

Required Options


  • RHOSTS: The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'

Knowledge Base


Description


This module allows us to scan through a series of IP Addresses and provide details about the version of ftp running on that address.

Vulnerable Application


Install ftp server on Kali Linux:

  1. apt-get install vsftpd
  2. Allow local users to log in and to allow ftp uploads by editing file /etc/vsftpd.conf uncommenting the following:
    local_enable=YES
    write_enable=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list
  1. Create the file /etc/vsftpd.chroot_list and add the local users you want allow to connect to FTP server. Start service and test connections:
  2. service vsftpd start

Installing FTP for IIS 7.5 in Windows:

IIS 7.5 for Windows Server 2008 R2:


  1. On the taskbar, click Start, point to Administrative Tools, and then click Server Manager.
  2. In the Server Manager hierarchy pane, expand Roles, and then click Web Server (IIS).
  3. In the Web Server (IIS) pane, scroll to the Role Services section, and then click Add Role Services.
  4. On the Select Role Services page of the Add Role Services Wizard, expand FTP Server.
  5. Select FTP Service. (Note: To support ASP.NET Membership or IIS Manager authentication for the FTP service, you will also need to select FTP Extensibility.)
  6. Click Next.
  7. On the Confirm Installation Selections page, click Install.
  8. On the Results page, click Close.

IIS 7.5 for Windows 7:


  1. On the taskbar, click Start, and then click Control Panel.
  2. In Control Panel, click Programs and Features, and then click Turn Windows Features on or off.
  3. Expand Internet Information Services, then FTP Server.
  4. Select FTP Service. (Note: To support ASP.NET Membership or IIS Manager authentication for the FTP service, you will also need to select FTP Extensibility.)
  5. Click OK.

Verification Steps


  1. Do: use auxiliary/scanner/ftp/ftp_version
  2. Do: set RHOSTS [IP]
  3. Do: set RPORT [IP]
  4. Do: run

Scenarios


vsFTPd 3.0.3 on Kali

msf > use auxiliary/scanner/ftp/ftp_version
msf auxiliary(ftp_version) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1
msf auxiliary(ftp_version) > set RPORT 21
RPORT => 21
msf auxiliary(ftp_version) > exploit

[*] 127.0.0.1:21          - FTP Banner: '220 (vsFTPd 3.0.3)\x0d\x0a'
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(ftp_version) > 

Confirming using NMAP


root@kali:~#  nmap -sV 127.0.0.1 -p21

Starting Nmap 7.40SVN ( https://nmap.org ) at 2017-04-24 23:11 IST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000035s latency).
PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.3
Service Info: OS: Unix

root@kali:~# 

Go back to menu.

Msfconsole Usage


Here is how the scanner/ftp/ftp_version auxiliary module looks in the msfconsole:

msf6 > use auxiliary/scanner/ftp/ftp_version

msf6 auxiliary(scanner/ftp/ftp_version) > show info

       Name: FTP Version Scanner
     Module: auxiliary/scanner/ftp/ftp_version
    License: Metasploit Framework License (BSD)
       Rank: Normal

Provided by:
  hdm <[email protected]>

Check supported:
  No

Basic options:
  Name     Current Setting      Required  Description
  ----     ---------------      --------  -----------
  FTPPASS  [email protected]  no        The password for the specified username
  FTPUSER  anonymous            no        The username to authenticate as
  RHOSTS                        yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
  RPORT    21                   yes       The target port (TCP)
  THREADS  1                    yes       The number of concurrent threads (max one per host)

Description:
  Detect FTP Version.

Module Options


This is a complete list of options available in the scanner/ftp/ftp_version auxiliary module:

msf6 auxiliary(scanner/ftp/ftp_version) > show options

Module options (auxiliary/scanner/ftp/ftp_version):

   Name     Current Setting      Required  Description
   ----     ---------------      --------  -----------
   FTPPASS  [email protected]  no        The password for the specified username
   FTPUSER  anonymous            no        The username to authenticate as
   RHOSTS                        yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   RPORT    21                   yes       The target port (TCP)
   THREADS  1                    yes       The number of concurrent threads (max one per host)

Advanced Options


Here is a complete list of advanced options supported by the scanner/ftp/ftp_version auxiliary module:

msf6 auxiliary(scanner/ftp/ftp_version) > show advanced

Module advanced options (auxiliary/scanner/ftp/ftp_version):

   Name                 Current Setting  Required  Description
   ----                 ---------------  --------  -----------
   CHOST                                 no        The local client address
   CPORT                                 no        The local client port
   ConnectTimeout       10               yes       Maximum number of seconds to establish a TCP connection
   FTPDEBUG             false            no        Whether or not to print verbose debug statements
   FTPTimeout           16               yes       The number of seconds to wait for a reply from an FTP command
   PassiveMode          false            no        Set true for extended passive (EPSV) ftp mode.
   Proxies                               no        A proxy chain of format type:host:port[,type:host:port][...]
   SSL                  false            no        Negotiate SSL/TLS for outgoing connections
   SSLCipher                             no        String for SSL cipher - "DHE-RSA-AES256-SHA" or "ADH"
   SSLVerifyMode        PEER             no        SSL verification method (Accepted: CLIENT_ONCE, FAIL_IF_NO_PEER_CERT, NONE, PEER)
   SSLVersion           Auto             yes       Specify the version of SSL/TLS to be used (Auto, TLS and SSL23 are auto-negotiate) (Accepted: Auto, TLS, SSL23, SSL3, TLS1, TLS1.1, TLS1.2)
   ShowProgress         true             yes       Display progress messages during a scan
   ShowProgressPercent  10               yes       The interval in percent that progress should be shown
   VERBOSE              false            no        Enable detailed status messages
   WORKSPACE                             no        Specify the workspace for this module

Auxiliary Actions


This is a list of all auxiliary actions that the scanner/ftp/ftp_version module can do:

msf6 auxiliary(scanner/ftp/ftp_version) > show actions

Auxiliary actions:

   Name  Description
   ----  -----------

Evasion Options


Here is the full list of possible evasion options supported by the scanner/ftp/ftp_version auxiliary module in order to evade defenses (e.g. Antivirus, EDR, Firewall, NIDS etc.):

msf6 auxiliary(scanner/ftp/ftp_version) > show evasion

Module evasion options:

   Name                Current Setting  Required  Description
   ----                ---------------  --------  -----------
   TCP::max_send_size  0                no        Maxiumum tcp segment size.  (0 = disable)
   TCP::send_delay     0                no        Delays inserted before every send.  (0 = disable)

Go back to menu.


Go back to menu.

See Also


Check also the following modules related to this module:

Authors


hdm

Version


This page has been produced using Metasploit Framework version 6.1.27-dev. For more modules, visit the Metasploit Module Library.

Go back to menu.