FTP Enumeration

Protocol Overview

FTP Characteristics:

  • Ports: 21 (control), 20 (data)

  • Protocol: TCP-based

  • Authentication: Clear-text (unless FTPS)

  • Modes: Active vs Passive

FTP Connection Types:

  1. Active FTP: Client opens control channel (port 21), server initiates data channel (port 20)

  2. Passive FTP: Client initiates both control and data channels (firewall-friendly)

TFTP (Trivial FTP):

  • Port: 69/UDP

  • Authentication: None

  • Features: Simplified, no directory listing

  • Security: Local networks only

Common FTP Servers

Server
Description
Config File

vsftpd

Very Secure FTP Daemon

/etc/vsftpd.conf

ProFTPD

Professional FTP server

/etc/proftpd/proftpd.conf

Pure-FTPd

Secure FTP server

/etc/pure-ftpd/pure-ftpd.conf

vsftpd Configuration Analysis

Installation and Setup:

Key Configuration Settings:

Setting
Value
Description

listen=NO

YES/NO

Run as standalone daemon?

anonymous_enable=NO

YES/NO

Allow anonymous access?

local_enable=YES

YES/NO

Allow local users to login?

write_enable=YES

YES/NO

Allow FTP write commands?

dirmessage_enable=YES

YES/NO

Display directory messages?

xferlog_enable=YES

YES/NO

Log uploads/downloads?

connect_from_port_20=YES

YES/NO

Use port 20 for data?

ssl_enable=NO

YES/NO

Enable SSL/TLS encryption?

User Access Control:

Dangerous FTP Configurations

Anonymous Access Settings

Information Disclosure Settings

FTP Enumeration Techniques

1. Nmap FTP Scanning

Basic FTP Scan:

Available Nmap FTP Scripts:

Example Nmap Output:

2. Manual FTP Banner Grabbing

3. Anonymous FTP Testing

4. FTP Directory Enumeration

Basic Commands:

Mass Download:

File Upload Testing:

Advanced FTP Enumeration

1. SSL/TLS FTP (FTPS)

Connecting to FTPS:

Information from SSL Certificates:

  • Hostname: master.inlanefreight.htb

  • Organization: Inlanefreight

  • Email: admin@inlanefreight.htb

  • Location: Sacramento, California

2. FTP Bounce Attacks

Concept: Use FTP server as proxy for port scanning

3. Configuration File Analysis

Common Configuration Weaknesses:

FTP Security Issues

1. Anonymous Access

  • Risk: Unauthorized file access/upload

  • Detection: ftp-anon Nmap script

  • Exploitation: Mass download, malicious uploads

2. Clear-text Authentication

  • Risk: Credential interception

  • Detection: Network sniffing

  • Mitigation: Use FTPS/SFTP

3. Directory Traversal

  • Risk: Access outside FTP root

  • Exploitation: ../../../etc/passwd

  • Detection: Manual testing

4. Write Permissions

  • Risk: Web shell upload

  • Exploitation: Upload PHP/ASPX shells

  • Impact: Remote code execution

FTP Attack Vectors

1. Web Shell Upload

2. Log Poisoning

3. Configuration Exploitation

FTP Enumeration Checklist

Initial Reconnaissance

Authentication Testing

Directory Enumeration

File Operations Testing

Security Testing

Tools for FTP Enumeration

Command Line Tools

Automated Tools

Defensive Measures

FTP Server Hardening

  • Disable anonymous access unless required

  • Use strong authentication mechanisms

  • Implement SSL/TLS encryption (FTPS)

  • Restrict file permissions and chroot users

  • Log and monitor FTP activities

  • Regular security updates and patches

Network Security

  • Firewall rules to restrict FTP access

  • VPN requirements for external access

  • Network segmentation for FTP servers

  • Intrusion detection for FTP anomalies


References

  • HTB Academy: Host Based Enumeration - FTP

  • vsftpd Documentation: https://security.appspot.com/vsftpd.html

  • RFC 959: File Transfer Protocol (FTP)

  • OWASP Testing Guide: Testing for FTP

Last updated