Anonymous FTP Access Detection - Metasploit


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

Module Overview


Name: Anonymous FTP Access Detection
Module: auxiliary/scanner/ftp/anonymous
Source code: modules/auxiliary/scanner/ftp/anonymous.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 anonymous (read/write) FTP server access.

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/anonymous
msf auxiliary(anonymous) > show options
    ... show and set options ...
msf auxiliary(anonymous) > set RHOSTS ip-range
msf auxiliary(anonymous) > exploit

Other examples of setting the RHOSTS option:

Example 1:

msf auxiliary(anonymous) > set RHOSTS 192.168.1.3-192.168.1.200 

Example 2:

msf auxiliary(anonymous) > set RHOSTS 192.168.1.1/24

Example 3:

msf auxiliary(anonymous) > 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 whether anonymous access is allowed or not in that particular FTP server. By default, anonymous access is not allowed by the FTP server.

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
    
  3. IMPORTANT: For allowing anonymous access set anonymous_enable=YES

  4. 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:

  5. 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.

Enabling anonymous login on IIS


  1. Open IIS Manager and navigate to the level you want to manage. ...
  2. In Features View, double-click Authentication.
  3. On the Authentication page, select Anonymous Authentication.
  4. In the Actions pane, click Enable to use Anonymous authentication with the default settings.

Verification Steps


  1. Do: use auxiliary/scanner/ftp/anonymous
  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/anonymous
msf auxiliary(anonymous) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1
msf auxiliary(anonymous) > set RPORT 21
RPORT => 21
msf auxiliary(anonymous) > exploit

[+] 127.0.0.1:21          - 127.0.0.1:21 - Anonymous READ (220 (vsFTPd 3.0.3))
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(anonymous) > 

Confirming using NMAP


root@kali:~# nmap -sV -sC 127.0.0.1 -p 21

Starting Nmap 7.40SVN ( https://nmap.org ) at 2017-04-24 22:58 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
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
Service Info: OS: Unix

root@kali:~# 

Go back to menu.

Msfconsole Usage


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

msf6 > use auxiliary/scanner/ftp/anonymous

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

       Name: Anonymous FTP Access Detection
     Module: auxiliary/scanner/ftp/anonymous
    License: Metasploit Framework License (BSD)
       Rank: Normal

Provided by:
  Matteo Cantoni <[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 anonymous (read/write) FTP server access.

References:
  http://en.wikipedia.org/wiki/File_Transfer_Protocol#Anonymous_FTP

Module Options


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

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

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

   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/anonymous auxiliary module:

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

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

   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/anonymous module can do:

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

Auxiliary actions:

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

Evasion Options


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

msf6 auxiliary(scanner/ftp/anonymous) > 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.


References


See Also


Check also the following modules related to this module:

Authors


Matteo Cantoni <goony[at]nothink.org>

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.