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:
Active FTP: Client opens control channel (port 21), server initiates data channel (port 20)
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
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:
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-anonNmap scriptExploitation: 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/passwdDetection: 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